練習問題2の回答¶
練習問題2-1¶
ファイルrun.xlsxのシートinforceで、
- 上の3つの行に、保険期間nや払込期間mの列に80-xとなる値を設定します。(Excelの算式を使用できます)
- SKIP列を追加し、下の3つの行には1をセットします。(上の3つの行は0か空白どちらでも構いません)
練習問題2-2¶
以下のように未経過保険料支払の算式を変更します。
double[] unpaid_cashout = if(t <= m) { dwx(t) * Rate.grossP * S / 2.0 }
else { 0 }
練習問題2-3¶
モデルにモジュールOutputRateを以下のように追加します。
module OutputRate{
@range = t
@range_last = Util.max_t
double[] netV_P = Rate.netV_P(t)
double[] netV_V = Rate.netV_V(t)
}
また、出力定義については、ファイルrun.xlsxのシートoutputで、
nameをrate(他の名前でも構いません)、module_nameをOutputRateとした行を作ります。
(sc_st, sc_la, sh_st, sh_laは値を設定してもしなくても構いません)
そして、ラン定義については、ファイルrun.xlsxのシートrunの列outputで、
カンマ区切りでrateを追加します。
(debug, profitability, bspl, rate のようになります)