TT Lab
ブログ はじめる
学ぶ 学習パス コース

保険ドメイン深化

責任準備金・IFRS17・ソルベンシーのパイプライン

TT Labで続きを見る

目標

保有契約の責任準備金を、加入当時の仮定で計算し、同じ契約を現行の割引率で再評価して、IFRS17の最善推定負債・リスク調整・契約上のサービスマージンを出したあと、会社の数字で単純化した支払余力比率まで、1つのパイプラインで作ります。

なぜ重要なのか

保険会社は、今日受け取った保険料で、数十年後の約束を守ります。そのため、会計の核心の質問は「将来払うお金を、今いくらで確保しておくか」で、その答えが責任準備金です。定期保険の準備金は、将来支払う給付の現在価値から、将来受け取る純保険料の現在価値を引いた値です。契約の初期には小さく、リスクが大きくなる後半に行くほど大きくなります。

IFRS17は、同じ質問に別の答えを求めます。加入当時の仮定ではなく、今の仮定で負債を評価し(最善推定負債、BEL)、不確実性に対する補償(リスク調整、RA)を上乗せし、それでも残る未実現利益を、契約上のサービスマージン(CSM)という負債として計上しておき、契約期間にわたって分けて利益として認識します。利益を前倒しで認識できないようにする仕組みで、損失が予想される契約は、すぐに損失として計上します。

支払余力制度(K-ICS)は、会社全体を見ます。保険・市場・信用リスクを、それぞれ資本の要求量に換算して合算し、可用資本がその要求量の何%かを見ます。この3つの層、つまり原価の準備金、時価の負債、支払余力が、保険会社の決算システムの骨格で、同じ契約が、3つの層で別の数字として現れます。

このラボのルール

ステップ

  1. 右の例にあるジェネレーターを/root/ins/make_reserve.pyとして保存し、python3 make_reserve.pyで実行してください。lifetable.csv、inforce.csv(契約5件)、params.csv、capital.csvが作られます。後のステップで使う計理関数のファイル/root/ins/act.pyも、右の例のとおりに保存してください。term_insurance(qx, lx, x, n, i)・annuity_due(qx, lx, x, n, i)が入っています。
  2. P001の現時点の準備金を/root/ins/reserve_P001.txtにA=、annuity=、reserve=の3行で書いてください。
  3. 契約5件すべてを/root/ins/reserves.csvにpolicy_no,age_now,remaining,A,annuity,reserveのヘッダーで書き、/root/ins/reserves.txtにtotal_reserve=の1行(reserve列の合計)を書いてください。
  4. 漸化式の検証を/root/ins/recursion_check.csvにpolicy_no,v_next,lhs,rhs,diffのヘッダーで書いてください。v_nextは1年後の準備金V_(t+1)(満期なら0)、v_next・lhs・rhsは整数に四捨五入、diffはlhs − rhsです。
  5. 加入時点基準で現行の割引率を適用した/root/ins/bel.csvを、policy_no,pv_claims,pv_premiums,belのヘッダーで書いてください。
  6. /root/ins/csm.csvにpolicy_no,bel,ra,fcf,csm,loss_componentのヘッダーで書き、/root/ins/csm.txtにtotal_csm=、total_loss_component=の2行(各列の合計)を書いてください。
  7. /root/ins/kics.txtにrequired_capital=、available_capital=、ratio_pct=、meets_100=の4行を書いてください。ratio_pctは小数第1位、meets_100はYESまたはNOです。
  8. /root/ins/valuation_report.mdに、## Policy Reserves(責任準備金)、## IFRS17 Summary(IFRS17の要約)、## Solvency(支払余力)、## Data and Regulatory Notes(データと規制上の留意事項)の4つの節で決算メモを書いてください。節の見出しは、英語の見出しでも、同じ意味の韓国語・日本語・中国語の見出しでもよく、両方を括弧で併記してもかまいません。

参考

保有契約と仮定を作る

右の例にあるジェネレーターを/root/ins/make_reserve.pyとして保存し、python3 make_reserve.pyで実行してください。lifetable.csv、inforce.csv(契約5件)、params.csv、capital.csvが作られます。後のステップで使う計理関数のファイル/root/ins/act.pyも、右の例のとおりに保存してください。term_insurance(qx, lx, x, n, i)・annuity_due(qx, lx, x, n, i)が入っています。

ラボの案内にあるジェネレーターを/root/ins/make_reserve.pyとして保存し、python3で実行してください。右の例の計理関数も/root/ins/act.pyとして保存してください。term_insurance(qx, lx, x, n, i)・annuity_due(qx, lx, x, n, i)の2つの関数を採点ツールが呼び出して値を確認します(このラボではPodが新しく起動するので、モジュール1のファイルは残っていません)。

契約1件の準備金を計算する

P001の現時点の準備金を/root/ins/reserve_P001.txtにA=、annuity=、reserve=の3行で書いてください。

年齢 = 35 + 5 = 40、残りの期間 = 20 − 5 = 15。A(40, 15, 2.5%)、ä(40, 15, 2.5%)を求めて、reserve = int(S × A − P × ä + 0.5)。Pはinforce.csvの198386です。

保有契約全体の準備金を出す

契約5件すべてを/root/ins/reserves.csvにpolicy_no,age_now,remaining,A,annuity,reserveのヘッダーで書き、/root/ins/reserves.txtにtotal_reserve=の1行(reserve列の合計)を書いてください。

ステップ2をinforce.csvの5行に繰り返し、reserveを合計してください。age_now = issue_age + elapsed、remaining = term − elapsed。

漸化式で準備金を検証する

漸化式の検証を/root/ins/recursion_check.csvにpolicy_no,v_next,lhs,rhs,diffのヘッダーで書いてください。v_nextは1年後の準備金V_(t+1)(満期なら0)、v_next・lhs・rhsは整数に四捨五入、diffはlhs − rhsです。

V(t+1)は、年齢を1つ進め、残りの期間を1つ減らして、同じ式で計算します(満期なら0)。lhs = (V_t + P) × 1.025、rhs = q(x+t) × S + (1 − q(x+t)) × V_(t+1)。lhs・rhsはそれぞれ真の値から±2ウォン以内である必要があり、diffは0付近になります。v_next列には、rhsに入れたV_(t+1)をウォン未満四捨五入して書きます。

現行の割引率で最善推定負債を求める

加入時点基準で現行の割引率を適用した/root/ins/bel.csvを、policy_no,pv_claims,pv_premiums,belのヘッダーで書いてください。

加入時点なので、issue_ageとtermをそのまま使い(経過を引かない)、利率はparams.csvのcurrent_rate(0.030)です。pv_claims = int(S × A + 0.5)、pv_premiums = int(P × ä + 0.5)、bel = 2つの差。Pはそのまま使います。

リスク調整と契約上のサービスマージンを分ける

/root/ins/csm.csvにpolicy_no,bel,ra,fcf,csm,loss_componentのヘッダーで書き、/root/ins/csm.txtにtotal_csm=、total_loss_component=の2行(各列の合計)を書いてください。

ra = int(pv_claims × 0.005 + 0.5)、fcf = bel + ra。fcf < 0ならcsm = −fcf、loss_component = 0。そうでなければcsm = 0、loss_component = fcf。ステップ5のファイルを読んで計算すればよいです。

支払余力比率を計算する

/root/ins/kics.txtにrequired_capital=、available_capital=、ratio_pct=、meets_100=の4行を書いてください。ratio_pctは小数第1位、meets_100はYESまたはNOです。

required = round(√(I² + M² + C² + 2 × 0.25 × (IM + IC + MC)) + O)、ratio = available ÷ required × 100を%.1fで。単純合計(6600)より小さい値が出なければなりません。

決算メモを書く

/root/ins/valuation_report.mdに、## Policy Reserves(責任準備金)、## IFRS17 Summary(IFRS17の要約)、## Solvency(支払余力)、## Data and Regulatory Notes(データと規制上の留意事項)の4つの節で決算メモを書いてください。節の見出しは、英語の見出しでも、同じ意味の韓国語・日本語・中国語の見出しでもよく、両方を括弧で併記してもかまいません。

節の見出し4つは、英語の見出しか、同じ意味の韓国語・日本語・中国語の見出しのとおりに。責任準備金(policy reserves)の節には合計を、IFRS17の節にはCSM(契約上のサービスマージン、contractual service margin)の合計を「CSM」と同じ行に、現行の割引率(discount rate)3.0%を「割引率(discount)」と同じ行に、支払余力(solvency)の節には比率を、留意事項の節には機微情報(sensitive data)の話を書いてください。