[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();
- [lmi-commits] [lmi] master updated (8d18fa1 -> 29b2ad4), Greg Chicares, 2021/04/01
- [lmi-commits] [lmi] master 98a214c 01/14: Rule of three <<< five < zero, Greg Chicares, 2021/04/01
- [lmi-commits] [lmi] master c309291 02/14: Factor out precondition assertions, Greg Chicares, 2021/04/01
- [lmi-commits] [lmi] master 218e02a 03/14: Reflect short-term guarantees in 7702 interest rates,
Greg Chicares <=
- [lmi-commits] [lmi] master 2d10858 06/14: Use DB_AnnIntRateGspDelta instead of hard-coding two percent, Greg Chicares, 2021/04/01
- [lmi-commits] [lmi] master 8a9085a 08/14: Reflect DB_GenAcctIntBonus in 7702 interest, Greg Chicares, 2021/04/01
- [lmi-commits] [lmi] master 836c6f9 09/14: Refactor unit test, Greg Chicares, 2021/04/01
- [lmi-commits] [lmi] master 637f0de 12/14: Reorder unit-test functions, Greg Chicares, 2021/04/01
- [lmi-commits] [lmi] master c291b59 05/14: Assert more preconditions, Greg Chicares, 2021/04/01
- [lmi-commits] [lmi] master cb16682 10/14: Make i7702 vector assignments idempotent, Greg Chicares, 2021/04/01
- [lmi-commits] [lmi] master 8723736 11/14: Make bland1() truly bland, Greg Chicares, 2021/04/01
- [lmi-commits] [lmi] master 36266d1 13/14: Don't echo unneeded values in unit test, Greg Chicares, 2021/04/01
- [lmi-commits] [lmi] master 29b2ad4 14/14: Measure i7702 speed, Greg Chicares, 2021/04/01
- [lmi-commits] [lmi] master ad538f7 07/14: Fix defect introduced 20210314T2207Z: wrong VLR, Greg Chicares, 2021/04/01