lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master ae22927: Use published premium-tax rates by d


From: Greg Chicares
Subject: [lmi-commits] [lmi] master ae22927: Use published premium-tax rates by default
Date: Fri, 16 Dec 2016 17:45:53 +0000 (UTC)

branch: master
commit ae22927958fc52980bf09994d3cc00439070c849
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>

    Use published premium-tax rates by default
    
    State premium-tax rates are the same for everyone, so actual current
    rates are the only reasonable default values. Life-insurance rather
    than annuity rates are used by default because lmi is almost
    exclusively used for life insurance; for annuity products, this
    default must still be overridden. The former default (zero) always
    needed to be overridden.
    
    Note carefully the distinction between DB_PremTaxRate (set here),
    which is a regulatory parameter applicable to all insurers and all
    products, and represents the tax levied upon the insurer by the state;
    and the product parameter DB_PremTaxRate (not set here), which is a
    load charged by the insurer against payments with the intention of
    passing the levied tax through to the customer. For illustrations
    currently printed by lmi, DB_PremTaxRate is not actually used today.
---
 dbdict.cpp |   12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/dbdict.cpp b/dbdict.cpp
index 3075fa0..7778082 100644
--- a/dbdict.cpp
+++ b/dbdict.cpp
@@ -529,6 +529,18 @@ void DBDictionary::InitDB()
     Add(database_entity(DB_MaxWdGenAcctValMult , 1.0));
     Add(database_entity(DB_MaxWdSepAcctValMult , 1.0));
 
+    // This is determined by law and regulation, and should be the
+    // same for all life-insurance products.
+    int ptd[e_number_of_axes] = {1, 1, 1, 1, 1, e_max_dim_state, 1};
+    std::vector<int> premium_tax_dimensions(ptd, ptd + e_number_of_axes);
+    Add
+        (database_entity
+            (DB_PremTaxRate
+            ,premium_tax_dimensions
+            ,premium_tax_rates_for_life_insurance()
+            )
+        );
+
     // These are the same as class date_trammel's nominal limits.
     Add(database_entity(DB_CoiResetMinDate     , 
gregorian_epoch().julian_day_number()));
     Add(database_entity(DB_CoiResetMaxDate     , last_yyyy_date 
().julian_day_number()));



reply via email to

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