lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master 7b0b9c3: Make 'InputFundManagementFee' a pure


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 7b0b9c3: Make 'InputFundManagementFee' a pure number (not bp)
Date: Tue, 5 Jun 2018 12:49:08 -0400 (EDT)

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

    Make 'InputFundManagementFee' a pure number (not bp)
    
    Redefined this input field to mean a pure number, not a number of basis
    points. Now all GUI input fields are consistently pure numbers.
---
 ihs_basicval.cpp        |  2 +-
 input.hpp               |  2 +-
 input_xml_io.cpp        | 17 +++++++++++++++++
 skin.xrc                |  7 -------
 skin_coli_boli.xrc      |  9 +--------
 skin_group_carveout.xrc |  9 +--------
 6 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/ihs_basicval.cpp b/ihs_basicval.cpp
index 8d20d3d..48cff03 100644
--- a/ihs_basicval.cpp
+++ b/ihs_basicval.cpp
@@ -344,7 +344,7 @@ double BasicValues::InvestmentManagementFee() const
 
     if(yare_input_.OverrideFundManagementFee)
         {
-        return yare_input_.InputFundManagementFee / 10000.0;
+        return yare_input_.InputFundManagementFee;
         }
 
     double z = 0.0;
diff --git a/input.hpp b/input.hpp
index b7ef5ea..2bf71ca 100644
--- a/input.hpp
+++ b/input.hpp
@@ -275,7 +275,7 @@ class LMI_SO Input final
     mce_yes_or_no            UseAverageOfAllFunds            ;
     mce_yes_or_no            OverrideFundManagementFee       ;
     mce_fund_input_method    FundChoiceType                  ;
-    tnr_nonnegative_double   InputFundManagementFee          ;
+    tnr_proportion           InputFundManagementFee          ;
     mce_run_order            RunOrder                        ;
     tnr_nonnegative_integer  NumberOfIdenticalLives          ;
     mce_yes_or_no            UseExperienceRating             ;
diff --git a/input_xml_io.cpp b/input_xml_io.cpp
index 27c68b5..1a8fe64 100644
--- a/input_xml_io.cpp
+++ b/input_xml_io.cpp
@@ -32,6 +32,7 @@
 #include "map_lookup.hpp"
 #include "miscellany.hpp"               // lmi_array_size()
 #include "oecumenic_enumerations.hpp"
+#include "value_cast.hpp"
 
 #include <algorithm>                    // min()
 #include <stdexcept>
@@ -319,6 +320,22 @@ void Input::redintegrate_ex_ante
                 ;
             }
         }
+
+    if(file_version < 8)
+        {
+        // Prior to 2018-06, 'InputFundManagementFee' was entered in
+        // basis points, rather than as a pure number. Presumably few
+        // if any new private-placement input files have been saved
+        // since version 8's inception; for any that have, this field
+        // will be limited to unity, and any saved value of one basis
+        // point or greater will therefore be translated to 10000 bp,
+        // resulting in a -100% net rate and a noticeably conservative
+        // separate-account value.
+        if("InputFundManagementFee" == name)
+            {
+            value = value_cast<std::string>(value_cast<double>(value) / 
10000.0);
+            }
+        }
 }
 
 void Input::redintegrate_ex_post
diff --git a/skin.xrc b/skin.xrc
index 252501f..98778af 100644
--- a/skin.xrc
+++ b/skin.xrc
@@ -2612,13 +2612,6 @@ the other is perforce ignored.
                                 <help>Investment management fee for custom 
fund</help>
                             </object>
                         </object>
-                        <object class="sizeritem">
-                            <flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>
-                            <border>4</border>
-                            <object class="wxStaticText">
-                                <label>bp</label>
-                            </object>
-                        </object>
                     </object>
                 </object>
             </object>
diff --git a/skin_coli_boli.xrc b/skin_coli_boli.xrc
index 3f2e69e..ecaa05c 100644
--- a/skin_coli_boli.xrc
+++ b/skin_coli_boli.xrc
@@ -2653,14 +2653,7 @@ here, but it looks weird if we don't make this look like 
its siblings.
                                             <border>2</border>
                                             <object class="wxTextCtrl" 
name="InputFundManagementFee">
                                                 <help>Investment management 
fee for custom fund</help>
-                                                <size>35,-1</size>
-                                            </object>
-                                        </object>
-                                        <object class="sizeritem">
-                                            
<flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM</flag>
-                                            <border>2</border>
-                                            <object class="wxStaticText">
-                                                <label>bp</label>
+                                                <size>50,-1</size>
                                             </object>
                                         </object>
                                     </object>
diff --git a/skin_group_carveout.xrc b/skin_group_carveout.xrc
index 6a5fcd7..9e31864 100644
--- a/skin_group_carveout.xrc
+++ b/skin_group_carveout.xrc
@@ -2030,14 +2030,7 @@ here, but it looks weird if we don't make this look like 
its siblings.
                                             <border>2</border>
                                             <object class="wxTextCtrl" 
name="InputFundManagementFee">
                                                 <help>Investment management 
fee for custom fund</help>
-                                                <size>35,-1</size>
-                                            </object>
-                                        </object>
-                                        <object class="sizeritem">
-                                            
<flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM</flag>
-                                            <border>4</border>
-                                            <object class="wxStaticText">
-                                                <label>bp</label>
+                                                <size>50,-1</size>
                                             </object>
                                         </object>
                                     </object>



reply via email to

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