0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

アクチュアリーのためのPython入門(解約返戻金の計算)

Last updated at Posted at 2026-01-29

アクチュアリーのためのPython入門(第8回)

将来収支における解約返戻金

はじめに

前回では、
死亡指数・解約率を用いて将来の件数・保険金額の推移を作成しました。

将来収支モデルでは、
それらを使って次のような計算をしていきます。

  • 保険料収入
  • 保険金支出
  • 解約返戻金支出

今回はこのうち、解約返戻金の計算について整理します。

前提条件

  • 8年の養老保険
  • 保険金額:100万円
  • 契約時年齢・性別:40歳男性
  • 解約控除をアルファ基準で最大10年間とします
    $W_t$ = $V_t$ - $\alpha$ (1-$\frac{t}{10}$)

今回は、保険料と保険料積立金を計算した定期保険ではなく、養老保険で計算してみます。

  • 年払の想定ですので、解約返戻金は期末Vを基準とした額とします
  • 将来収支の目的は金額の方向感・規模感の把握ですので、
    Decimal型ではなくfloat型で進めていきます

保険料積立金の計算

養老保険のため、保険料積立金の計算式を少し手直しします。
n年経過後の生存給付を加えます。

# 養老給付現価
def Axn(start_age, n):
    age_index = start_age - 40
    return (Mx[age_index] - Mx[age_index + n] + Dx[age_index + n]) / Dx[age_index]

# 純保険料
def netPremE(start_age, n):
    return Axn(start_age, n) / axn(start_age, n)

# 営業保険料
def PremE(start_age, n):
    alpha = 0.025
    delta = 0.02
    gamma = 0.00215
    beta = 0.03
    value = (Axn(start_age, n) + alpha + gamma * axn(start_age, n)) \
            / ((1 - beta - delta) * axn(start_age, n))
    return roundhu(value, 6)

# 保険料積立金
def ResE(start_age, n, t):
    benefit = Axn(start_age + t, n - t)
    income = netPremE(start_age, n) * axn(start_age + t, n - t)
    value = Decimal(str(benefit)) - Decimal(str(income))
    return roundhu(value, 6)

保険料・保険料積立金の計算と将来収支との両方で使えるように、
ここまでは、Decimal型にしておきます。

解約返戻金の計算

解約返戻金を計算します。
ここまでは解約返戻金額がレート表でも使えるようにDecimal型で計算します。

# 解約返戻金の計算
def SVE(start_age, n, t):
    if t <= 10:
        surrender_fact = 0.025 * (1 - t / min(n , 10))
    else:
        surrender_fact = 0
    value = ResE(start_age, n, t) - Decimal(str(surrender_fact))
    return max(roundhu(value, 6), 0)

計算結果を確認してみます。

for t in range(0,8):
    print(t, ResE(40,8,t), SVE(40,8,t))
0 0.000000 0
1 0.121991 0.100116
2 0.244776 0.226026
3 0.368387 0.352762
4 0.492858 0.480358
5 0.618219 0.608844
6 0.744502 0.738252
7 0.871745 0.868620

まとめ

今回は、解約返戻金の計算を行いました。

次回は、生命表に保険料、保険料積立金、解約返戻金を乗じていき、
最終的に保険収支の形にしていきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?