[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5593] Mark some taxation issues
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5593] Mark some taxation issues |
Date: |
Mon, 12 Nov 2012 13:07:11 +0000 |
Revision: 5593
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5593
Author: chicares
Date: 2012-11-12 13:07:10 +0000 (Mon, 12 Nov 2012)
Log Message:
-----------
Mark some taxation issues
Modified Paths:
--------------
lmi/trunk/ihs_avmly.cpp
lmi/trunk/ihs_basicval.cpp
lmi/trunk/ihs_mortal.cpp
lmi/trunk/interest_rates.cpp
lmi/trunk/loads_impl.hpp
lmi/trunk/premium_tax.cpp
Modified: lmi/trunk/ihs_avmly.cpp
===================================================================
--- lmi/trunk/ihs_avmly.cpp 2012-11-11 13:41:15 UTC (rev 5592)
+++ lmi/trunk/ihs_avmly.cpp 2012-11-12 13:07:10 UTC (rev 5593)
@@ -1175,7 +1175,7 @@
no pmt this month due to mode
zero pmt
Perform strategy
-Test 7702, 7702A
+Test 7702, 7702A // TAXATION !! Resolve these issues:
apportion limited prem across ee, er,...dumpin?
need to limit pmt here, but other events e.g. WD affect limits
pmts must be the same on all bases
@@ -2622,7 +2622,7 @@
{
if(!SolvingForGuarPremium)
{
- double fake_cum_pmt = 0.0; // TODO ?? Needs work.
+ double fake_cum_pmt = 0.0; // TODO ?? TAXATION !! Needs work.
double premiums_paid_increment = -GrossWD;
Irc7702_->ProcessGptPmt(Year, premiums_paid_increment,
fake_cum_pmt);
}
@@ -2916,7 +2916,7 @@
InvariantValues().Dumpin = Dumpin;
}
- // We could also capture MEC status on other bases here.
+ // TAXATION !! We could also capture MEC status on other bases here.
if(true == Irc7702A_->UpdateEOM7702A())
{
if(!InvariantValues().IsMec)
Modified: lmi/trunk/ihs_basicval.cpp
===================================================================
--- lmi/trunk/ihs_basicval.cpp 2012-11-11 13:41:15 UTC (rev 5592)
+++ lmi/trunk/ihs_basicval.cpp 2012-11-12 13:07:10 UTC (rev 5593)
@@ -84,7 +84,7 @@
Init();
}
-// Temporary kludge for ancient GPT server.
+// Temporary kludge for ancient GPT server. TAXATION !! Remove along with that
ancient stuff.
template<typename T>
std::string mc_str(T t)
{
@@ -450,7 +450,7 @@
/// - at least one known product uses GLP as a handy proxy for a
/// minimum no-lapse premium, even when the GPT is not elected.
/// TAXATION !! OTOH, such strategies need not always be offered, and
-/// the cited product's implementation actually uses 7pp, not GLP.
+/// the cited product was simplified to use a table lookup.
///
/// To conform to the practices of certain admin systems, DCV COI
/// rates are stored in a rounded table, but calculations from first
@@ -1662,6 +1662,7 @@
}
//============================================================================
+// TAXATION !! Resolve these issues:
// TODO ?? This might be reworked to go through class Irc7702 all the time;
// at least it shouldn't refer to the input class.
// TODO ?? The profusion of similar names should be trimmed.
Modified: lmi/trunk/ihs_mortal.cpp
===================================================================
--- lmi/trunk/ihs_mortal.cpp 2012-11-11 13:41:15 UTC (rev 5592)
+++ lmi/trunk/ihs_mortal.cpp 2012-11-12 13:07:10 UTC (rev 5593)
@@ -109,7 +109,7 @@
unisex male proportion curr
ANB/ALB
bool use NY COI limits
- TODO ?? bool ignore ratings for 7702
+ TODO ?? TAXATION !! bool ignore ratings for 7702
flat extras
substd table
uninsurable
@@ -286,8 +286,8 @@
// Assume target premium table is never changed for substandard.
}
- // TODO ?? Temporary stuff to support NSP for 7702A
- // TODO ?? Incorrect if GPT
+ // TODO ?? TAXATION !! Temporary stuff to support NSP for 7702A
+ // TODO ?? TAXATION !! Incorrect if GPT
LMI_ASSERT(0 == CvatNspRates_.size());
for(int j = 0; j < Length_; ++j)
{
Modified: lmi/trunk/interest_rates.cpp
===================================================================
--- lmi/trunk/interest_rates.cpp 2012-11-11 13:41:15 UTC (rev 5592)
+++ lmi/trunk/interest_rates.cpp 2012-11-12 13:07:10 UTC (rev 5593)
@@ -995,7 +995,7 @@
// loan rate determination period, or simply by forbidding loans
// during that period.
-// TODO ?? Calculate both:
+// TODO ?? TAXATION !! Calculate both:
// std::vector<double> MlyGlpRate_;
// std::vector<double> MlyGspRate_;
@@ -1014,12 +1014,13 @@
#if 0
// TODO ?? Here's the implementation actually used, elsewhere--it needs work.
// Eventually this should be rewritten. It still lives here because it
-// really belongs here, not in class BasicValues.
+// really belongs here, not in class BasicValues. TAXATION !! Resolve this.
{
// Monthly guar net int for 7702, with 4 or 6% min, is
// greater of {4%, 6%} and annual guar int rate
// less 7702 spread
+ // TAXATION !! Resolve this:
// TODO ?? We need to subtract other things too, e.g. comp (sometimes)...
// transformed to monthly (simple subtraction?).
// These interest rates belong here because they're used by
@@ -1034,14 +1035,14 @@
{
// ET !! std::vector<double> guar_loan_rate = PublishedLoanRate_ -
RegLoanSpread_[mce_gen_guar];
// ET !! guar_int = max(guar_int, RegLoanSpread_[mce_gen_guar]);
- // TODO ?? But that looks incorrect when written clearly!
+ // TODO ?? TAXATION !! But that looks incorrect when written
clearly!
// Perhaps this old comment:
// APL: guar_int gets guar_int max gross_loan_rate -
guar_loan_spread
// suggests the actual intention.
- // TODO ?? Need loan rates for 7702 whenever loans are allowed.
+ // TODO ?? TAXATION !! Need loan rates for 7702 whenever loans are
allowed.
std::vector<double> gross_loan_rate = PublishedLoanRate_;
- // TODO ?? Should at least assert that preferred <= regular spread.
+ // TODO ?? TAXATION !! Should at least assert that preferred <=
regular spread.
std::vector<double> guar_loan_spread =
RegLoanSpread_[mce_gen_guar];
std::vector<double> guar_loan_rate(Length);
std::transform
Modified: lmi/trunk/loads_impl.hpp
===================================================================
--- lmi/trunk/loads_impl.hpp 2012-11-11 13:41:15 UTC (rev 5592)
+++ lmi/trunk/loads_impl.hpp 2012-11-12 13:07:10 UTC (rev 5593)
@@ -49,7 +49,8 @@
///
/// LowestPremiumTaxLoadRate_: The lowest rate of premium tax, which
/// products that pass through premium tax need for 7702 calculations.
-/// The actual rate may vary if it is tiered.
+/// The actual rate may vary if it is tiered. TAXATION !! Obsolete:
+/// see commentary on lowest_premium_tax_load().
///
/// asset_charge_type_: Determines whether input extra asset loads
/// should be treated as a load or as an interest-rate decrement.
Modified: lmi/trunk/premium_tax.cpp
===================================================================
--- lmi/trunk/premium_tax.cpp 2012-11-11 13:41:15 UTC (rev 5592)
+++ lmi/trunk/premium_tax.cpp 2012-11-12 13:07:10 UTC (rev 5593)
@@ -406,6 +406,12 @@
#endif // 0
/// Lowest premium-tax load, for 7702 and 7702A purposes.
+///
+/// TAXATION !! No contemporary authority seems to believe that a
+/// change in the premium-tax rate, even if passed through to the
+/// policyowner, is a 7702A material change or a GPT adjustment
+/// event. Therefore, this function will be expunged; but any unique
+/// commentary or consistency test should be preserved.
double lowest_premium_tax_load
(mcenum_state tax_state
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5593] Mark some taxation issues,
Greg Chicares <=