lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master 8d18fa1 5/5: Add some 7702 database entities;


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 8d18fa1 5/5: Add some 7702 database entities; expunge others
Date: Tue, 30 Mar 2021 17:42:11 -0400 (EDT)

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

    Add some 7702 database entities; expunge others
---
 db_sort.sed |  6 +++---
 dbdict.cpp  | 12 +++++-------
 dbdict.hpp  |  4 ++--
 dbnames.hpp |  5 +++--
 dbnames.xpp |  4 ++--
 5 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/db_sort.sed b/db_sort.sed
index 705f93b..74d4848 100644
--- a/db_sort.sed
+++ b/db_sort.sed
@@ -63,9 +63,9 @@
 /DB_AllowGpt\>/                  s/^/B002/
 /DB_AllowNo7702\>/               s/^/B003/
 /DB_AnnIntRate7702\>/            s/^/B004/
-/DB_IgnoreLoanRateFor7702\>/     s/^/B005/
-/DB_MlyDiscountRate7702Whence\>/ s/^/B006/
-/DB_MlyDiscountRate7702\>/       s/^/B007/
+/DB_AnnIntRateGspDelta\>/        s/^/B005/
+/DB_ShortTermIntGuar7702\>/      s/^/B006/
+/DB_IgnoreLoanRateFor7702\>/     s/^/B007/
 /DB_Irc7702Obreption\>/          s/^/B008/
 /DB_CorridorWhence\>/            s/^/B009/
 /DB_Irc7702NspWhence\>/          s/^/B010/
diff --git a/dbdict.cpp b/dbdict.cpp
index ac876a3..b6d5737 100644
--- a/dbdict.cpp
+++ b/dbdict.cpp
@@ -148,9 +148,9 @@ void DBDictionary::ascribe_members()
     ascribe("AllowGpt"                  , &DBDictionary::AllowGpt              
    );
     ascribe("AllowNo7702"               , &DBDictionary::AllowNo7702           
    );
     ascribe("AnnIntRate7702"            , &DBDictionary::AnnIntRate7702        
    );
+    ascribe("AnnIntRateGspDelta"        , &DBDictionary::AnnIntRateGspDelta    
    );
+    ascribe("ShortTermIntGuar7702"      , &DBDictionary::ShortTermIntGuar7702  
    );
     ascribe("IgnoreLoanRateFor7702"     , &DBDictionary::IgnoreLoanRateFor7702 
    );
-    ascribe("MlyDiscountRate7702Whence" , 
&DBDictionary::MlyDiscountRate7702Whence );
-    ascribe("MlyDiscountRate7702"       , &DBDictionary::MlyDiscountRate7702   
    );
     ascribe("Irc7702Obreption"          , &DBDictionary::Irc7702Obreption      
    );
     ascribe("CorridorWhence"            , &DBDictionary::CorridorWhence        
    );
     ascribe("Irc7702NspWhence"          , &DBDictionary::Irc7702NspWhence      
    );
@@ -777,11 +777,8 @@ void DBDictionary::InitDB()
     // This is determined by law, in a way that varies by product;
     // all pre-2021 products use this default.
     Add({DB_AnnIntRate7702      , 0.04});
-    // Should these be specified here?
-    //   DB_IgnoreLoanRateFor7702
-    //   DB_MlyDiscountRate7702Whence
-    // This probably should correspond to the annual 7702 rate.
-    Add({DB_MlyDiscountRate7702 , 0.0032737});
+    // All products use this default, but it could change someday.
+    Add({DB_AnnIntRateGspDelta  , 0.02});
 
     Add({DB_MaxIssSpecAmt       , dbl_inf});
     Add({DB_MaxRenlSpecAmt      , dbl_inf});
@@ -1491,6 +1488,7 @@ sample2xyz::sample2xyz()
     // This is determined by law, in a way that varies by product;
     // 2021 products use this two-percent rate.
     Add({DB_AnnIntRate7702      , 0.02});
+    Add({DB_ShortTermIntGuar7702, 0.00});
     // Arguably the most complex ledger type.
     Add({DB_LedgerType          , mce_finra});
     // Certain group-quote columns are available only when these two
diff --git a/dbdict.hpp b/dbdict.hpp
index f47c599..54d8c3a 100644
--- a/dbdict.hpp
+++ b/dbdict.hpp
@@ -129,9 +129,9 @@ class LMI_SO DBDictionary
     database_entity AllowGpt                  ;
     database_entity AllowNo7702               ;
     database_entity AnnIntRate7702            ;
+    database_entity AnnIntRateGspDelta        ;
+    database_entity ShortTermIntGuar7702      ;
     database_entity IgnoreLoanRateFor7702     ;
-    database_entity MlyDiscountRate7702Whence ;
-    database_entity MlyDiscountRate7702       ;
     database_entity Irc7702Obreption          ;
     database_entity CorridorWhence            ;
     database_entity Irc7702NspWhence          ;
diff --git a/dbnames.hpp b/dbnames.hpp
index d758381..ec29017 100644
--- a/dbnames.hpp
+++ b/dbnames.hpp
@@ -67,6 +67,7 @@
 ///  - Gdb     Guaranteed death benefit
 ///  - Gen     General (as in 'general account')
 ///  - Gpt     Guideline premium test
+///  - Gsp     Guideline single premium
 ///  - Guar    Guaranteed
 ///  - Ibnr    Incurred but not reported (reserve)
 ///  - Imf     Investment management fee
@@ -159,9 +160,9 @@ enum e_database_key
         ,DB_AllowGpt
         ,DB_AllowNo7702
         ,DB_AnnIntRate7702
+        ,DB_AnnIntRateGspDelta
+        ,DB_ShortTermIntGuar7702
         ,DB_IgnoreLoanRateFor7702
-        ,DB_MlyDiscountRate7702Whence
-        ,DB_MlyDiscountRate7702
         ,DB_Irc7702Obreption
 
         ,DB_CorridorWhence
diff --git a/dbnames.xpp b/dbnames.xpp
index e0d7273..36b2ad2 100644
--- a/dbnames.xpp
+++ b/dbnames.xpp
@@ -69,9 +69,9 @@
 {DB_AllowGpt,DB_Topic_7702And7702A,"AllowGpt","Allow guideline premium test: 
0=no, 1=yes",}, \
 {DB_AllowNo7702,DB_Topic_7702And7702A,"AllowNo7702","Allow 7702 to be ignored 
(foreign): 0=no, 1=yes",}, \
 {DB_AnnIntRate7702,DB_Topic_7702And7702A,"AnnIntRate7702","7702(b)(3) 
'applicable accumulation test minimum rate', e.g. 0.04 for pre-2021 
contracts",}, \
+{DB_AnnIntRateGspDelta,DB_Topic_7702And7702A,"AnnIntRateGspDelta","7702(c)(3)(E)
 delta for GSP, e.g. 0.02 for 'plus 2 percentage points'",}, \
+{DB_ShortTermIntGuar7702,DB_Topic_7702And7702A,"ShortTermIntGuar7702","Total 
'short-term guarantees' according to the DEFRA Blue Book, page 649, expressed 
as an annual interest rate; must be zero after first year",}, \
 
{DB_IgnoreLoanRateFor7702,DB_Topic_7702And7702A,"IgnoreLoanRateFor7702","Riskily
 don't treat guaranteed net loan rate as a floor for 7702 interest: 0=no, 
1=yes",}, \
-{DB_MlyDiscountRate7702Whence,DB_Topic_7702And7702A,"MlyDiscountRate7702Whence","Source
 of 7702 NAAR discount rate: 0=first principles, 1=table",}, \
-{DB_MlyDiscountRate7702,DB_Topic_7702And7702A,"MlyDiscountRate7702","Monthly 
rate (12 times i upper 12) for discounting NAAR for 7702 and 7702A only, e.g., 
0.00246627 for a 3% annual rate",}, \
 {DB_Irc7702Obreption,DB_Topic_7702And7702A,"Irc7702Obreption","Prevent the 
product verifier from treating a frank error as such, due to some indult): 0=no 
[other values to be added later]",}, \
 {DB_CorridorWhence,DB_Topic_7702And7702A,"CorridorWhence","Source of CVAT 
'corridor' factors: 0=first principles, 1=table",}, \
 {DB_Irc7702NspWhence,DB_Topic_7702And7702A,"Irc7702NspWhence","Source of 7702 
and 7702A net single premium rates: 0=first principles, 1=table, 2=reciprocal 
of CVAT corridor",}, \



reply via email to

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