[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",}, \