[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 73a46af 5/6: Add more database entities for 7
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 73a46af 5/6: Add more database entities for 7702 |
Date: |
Thu, 18 Feb 2021 18:53:35 -0500 (EST) |
branch: master
commit 73a46af25b3d8aa7260c1327c35b6cabcb6ff572
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>
Add more database entities for 7702
Incidentally improved descriptions of DB_MlyDiscountRate7702:
- for DCV only
+ for 7702 and 7702A only
Reason: this discount rate is used to generate all 7702 commutation
functions, so it affects more than just DCV.
---
db_sort.sed | 54 ++++++++++++++++++++++++++++--------------------------
dbdict.cpp | 5 +++++
dbdict.hpp | 2 ++
dbnames.hpp | 2 ++
dbnames.xpp | 4 +++-
5 files changed, 40 insertions(+), 27 deletions(-)
diff --git a/db_sort.sed b/db_sort.sed
index 069e499..df3a443 100644
--- a/db_sort.sed
+++ b/db_sort.sed
@@ -63,32 +63,34 @@
/DB_AllowGpt\>/ s/^/B002/
/DB_AllowNo7702\>/ s/^/B003/
/DB_AnnInterestRate7702\>/ s/^/B004/
-/DB_MlyDiscountRate7702\>/ s/^/B005/
-/DB_Irc7702Obreption\>/ s/^/B006/
-/DB_CorridorWhence\>/ s/^/B007/
-/DB_Irc7702NspWhence\>/ s/^/B008/
-/DB_SevenPayWhence\>/ s/^/B009/
-/DB_Irc7702QWhence\>/ s/^/B010/
-/DB_CorridorTable\>/ s/^/B011/
-/DB_Irc7702NspTable\>/ s/^/B012/
-/DB_SevenPayTable\>/ s/^/B013/
-/DB_Irc7702QTable\>/ s/^/B014/
-/DB_Irc7702QAxisGender\>/ s/^/B015/
-/DB_Irc7702QAxisSmoking\>/ s/^/B016/
-/DB_RatingsAffect7702\>/ s/^/B017/
-/DB_CvatMatChangeDefn\>/ s/^/B018/
-/DB_GptMatChangeDefn\>/ s/^/B019/
-/DB_Irc7702BftIsSpecAmt\>/ s/^/B020/
-/DB_RiskyInitial7702Db\>/ s/^/B021/
-/DB_Irc7702Endowment\>/ s/^/B022/
-/DB_Effective7702DboRop\>/ s/^/B023/
-/DB_TermIsQABOrDb7702\>/ s/^/B024/
-/DB_TermIsQABOrDb7702A\>/ s/^/B025/
-/DB_GioIsQAB\>/ s/^/B026/
-/DB_AdbIsQAB\>/ s/^/B027/
-/DB_SpouseRiderIsQAB\>/ s/^/B028/
-/DB_ChildRiderIsQAB\>/ s/^/B029/
-/DB_WpIsQAB\>/ s/^/B030/
+/DB_IgnoreLoanRateFor7702\>/ s/^/B005/
+/DB_MlyDiscountRate7702Whence\>/ s/^/B006/
+/DB_MlyDiscountRate7702\>/ s/^/B007/
+/DB_Irc7702Obreption\>/ s/^/B008/
+/DB_CorridorWhence\>/ s/^/B009/
+/DB_Irc7702NspWhence\>/ s/^/B010/
+/DB_SevenPayWhence\>/ s/^/B011/
+/DB_Irc7702QWhence\>/ s/^/B012/
+/DB_CorridorTable\>/ s/^/B013/
+/DB_Irc7702NspTable\>/ s/^/B014/
+/DB_SevenPayTable\>/ s/^/B015/
+/DB_Irc7702QTable\>/ s/^/B016/
+/DB_Irc7702QAxisGender\>/ s/^/B017/
+/DB_Irc7702QAxisSmoking\>/ s/^/B018/
+/DB_RatingsAffect7702\>/ s/^/B019/
+/DB_CvatMatChangeDefn\>/ s/^/B020/
+/DB_GptMatChangeDefn\>/ s/^/B021/
+/DB_Irc7702BftIsSpecAmt\>/ s/^/B022/
+/DB_RiskyInitial7702Db\>/ s/^/B023/
+/DB_Irc7702Endowment\>/ s/^/B024/
+/DB_Effective7702DboRop\>/ s/^/B025/
+/DB_TermIsQABOrDb7702\>/ s/^/B026/
+/DB_TermIsQABOrDb7702A\>/ s/^/B027/
+/DB_GioIsQAB\>/ s/^/B028/
+/DB_AdbIsQAB\>/ s/^/B029/
+/DB_SpouseRiderIsQAB\>/ s/^/B030/
+/DB_ChildRiderIsQAB\>/ s/^/B031/
+/DB_WpIsQAB\>/ s/^/B032/
# DB_Topic_MortalityCharges
/DB_CsoEra\>/ s/^/C001/
/DB_CsoMisprint\>/ s/^/C002/
diff --git a/dbdict.cpp b/dbdict.cpp
index 7f35da5..bb767ae 100644
--- a/dbdict.cpp
+++ b/dbdict.cpp
@@ -148,6 +148,8 @@ void DBDictionary::ascribe_members()
ascribe("AllowGpt" , &DBDictionary::AllowGpt
);
ascribe("AllowNo7702" , &DBDictionary::AllowNo7702
);
ascribe("AnnInterestRate7702" , &DBDictionary::AnnInterestRate7702
);
+ ascribe("IgnoreLoanRateFor7702" , &DBDictionary::IgnoreLoanRateFor7702
);
+ ascribe("MlyDiscountRate7702Whence" ,
&DBDictionary::MlyDiscountRate7702Whence );
ascribe("MlyDiscountRate7702" , &DBDictionary::MlyDiscountRate7702
);
ascribe("Irc7702Obreption" , &DBDictionary::Irc7702Obreption
);
ascribe("CorridorWhence" , &DBDictionary::CorridorWhence
);
@@ -777,6 +779,9 @@ void DBDictionary::InitDB()
// This is determined by law, in a way that varies by product;
// all pre-2021 products use this default.
Add({DB_AnnInterestRate7702 , 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});
diff --git a/dbdict.hpp b/dbdict.hpp
index 4508759..d444155 100644
--- a/dbdict.hpp
+++ b/dbdict.hpp
@@ -129,6 +129,8 @@ class LMI_SO DBDictionary
database_entity AllowGpt ;
database_entity AllowNo7702 ;
database_entity AnnInterestRate7702 ;
+ database_entity IgnoreLoanRateFor7702 ;
+ database_entity MlyDiscountRate7702Whence ;
database_entity MlyDiscountRate7702 ;
database_entity Irc7702Obreption ;
database_entity CorridorWhence ;
diff --git a/dbnames.hpp b/dbnames.hpp
index 5c7fadc..75e04c2 100644
--- a/dbnames.hpp
+++ b/dbnames.hpp
@@ -159,6 +159,8 @@ enum e_database_key
,DB_AllowGpt
,DB_AllowNo7702
,DB_AnnInterestRate7702
+ ,DB_IgnoreLoanRateFor7702
+ ,DB_MlyDiscountRate7702Whence
,DB_MlyDiscountRate7702
,DB_Irc7702Obreption
diff --git a/dbnames.xpp b/dbnames.xpp
index 53f530e..aead843 100644
--- a/dbnames.xpp
+++ b/dbnames.xpp
@@ -69,7 +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_AnnInterestRate7702,DB_Topic_7702And7702A,"AnnInterestRate7702","Annual
statutory 7702 and 7702A interest rate (all but GSP), e.g. 0.04 for pre-2021
life-insurance contracts",}, \
-{DB_MlyDiscountRate7702,DB_Topic_7702And7702A,"MlyDiscountRate7702","Monthly
rate (12 times i upper 12) for discounting NAAR for DCV only, e.g., 0.00246627
for a 3% annual rate",}, \
+{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",}, \
- [lmi-commits] [lmi] master updated (7dd2680 -> dc99d2e), Greg Chicares, 2021/02/18
- [lmi-commits] [lmi] master da2e038 1/6: Clarify lmi's 7702 treatment of flat extras, Greg Chicares, 2021/02/18
- [lmi-commits] [lmi] master efb93e6 2/6: Explain that flat extras are ignored: '7702.html' [8/6], Greg Chicares, 2021/02/18
- [lmi-commits] [lmi] master 73a46af 5/6: Add more database entities for 7702,
Greg Chicares <=
- [lmi-commits] [lmi] master 297e3b6 3/6: Explain that table ratings are ignored: '7702.html' [8/4] [302], Greg Chicares, 2021/02/18
- [lmi-commits] [lmi] master aace4c2 4/6: Clarify DB_AnnInterestRate7702, Greg Chicares, 2021/02/18
- [lmi-commits] [lmi] master dc99d2e 6/6: Expunge 'RatingsAffect7702': for lmi, they don't, Greg Chicares, 2021/02/18