lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] master 218e02a 03/14: Reflect short-term guarantees


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 218e02a 03/14: Reflect short-term guarantees in 7702 interest rates
Date: Thu, 1 Apr 2021 18:15:16 -0400 (EDT)

branch: master
commit 218e02af4b1839a1be3b76340edd4a1a9f9e1d61
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>

    Reflect short-term guarantees in 7702 interest rates
---
 7702.html      |  1 -
 i7702_init.cpp | 21 ++++++++++++++++++---
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/7702.html b/7702.html
index 53e897c..ffaaeb1 100644
--- a/7702.html
+++ b/7702.html
@@ -1089,7 +1089,6 @@ be taken into account even if they arise indirectly or
 contingently, for instance in the case of an unloaned
 credited rate that is guaranteed to be no less than 50 bp
 below an indexed loan rate.
-<tt>lmi</tt> performs no such initial-guarantee calculations.
 </p>
 
 <p>
diff --git a/i7702_init.cpp b/i7702_init.cpp
index 366d598..3c6aed1 100644
--- a/i7702_init.cpp
+++ b/i7702_init.cpp
@@ -29,7 +29,7 @@
 #include "et_vector.hpp"
 #include "global_settings.hpp"          // 7702 !! pyx
 #include "math_functions.hpp"
-#include "miscellany.hpp"               // minmax
+#include "miscellany.hpp"               // each_equal(), minmax
 #include "stratified_charges.hpp"
 
 i7702::i7702
@@ -98,9 +98,24 @@ i7702::i7702
     assign(Bflr_, fixed_loan_rate    - guar_loan_spread);
     assign(Bvlr_, variable_loan_rate - guar_loan_spread);
 
+    // According to the DEFRA Blue Book (page 649),
+    //   "short-term guarantees (extending no more than one year)"
+    // may be ignored for GLP only. Therefore, DB_ShortTermIntGuar7702
+    // must be zero after the first year. It is taken as pertaining to
+    // Cgen_ and Csep_, to cover every case that Cflr_ and Cvlr_ do
+    // not address.
+    //
     // If lmi someday implements VLR, then the current VLR rate on
-    // the issue date constitutes a short-term guarantee that must be
-    // reflected in the 7702 interest rates (excluding the GLP rate).
+    // the issue date generally constitutes a short-term guarantee
+    // that must be stored in Cvlr_.
+    //
+    // A product with a nonzero Cflr_ is not inconceivable, but seems
+    // so unlikely that lmi's database doesn't provide for it yet.
+
+    database.query_into(DB_ShortTermIntGuar7702, Cgen_);
+    LMI_ASSERT(!Cgen_.empty());
+    LMI_ASSERT(each_equal(++Cgen_.begin(), Cgen_.end(), 0.0));
+    Csep_ = Cgen_;
 
     database.query_into(DB_CurrSepAcctLoad, Dsep_);
     Dsep_ += stratified.minimum_tiered_sepacct_load_for_7702();



reply via email to

[Prev in Thread] Current Thread [Next in Thread]