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入門(死亡リスク額の計算1)

0
Last updated at Posted at 2026-05-03

アクチュアリーのためのPython入門(保険数理モデリング編第6回)

死亡リスク額の計算1

📚 アクチュアリーのためのPython入門
この記事は保険数理モデリング編の一部です。
目次はこちら
逆引きガイドはこちら

はじめに

前回は金利を変動させた場合の
現在推計への影響を単純な例をあげてみました。

今回は、話を少し戻して、
キャシュフローについて再度考えます。

計算された現在推計は、
将来の支払いに備えるため留保しておくべき金額ですが、
もし、予想よりも死亡率が上昇した場合、
留保しておくべき金額は増加するでしょうか。
また、どれほど増加するでしょうか。

死亡リスク額

まずは、単純に全期間の死亡率を上昇させてみます。
死亡率が12.5%上昇した場合の現在推計を計算します。
cashflow.pyをコピーして、
ファイル名をcashflow_mort.pyとしておきます。

死亡指数に付け加えるのが分かりやすいので、
今回はそのようにします。

cashflow_mort.py
# 死亡指数の関数化
def mort_k(product):
    match product:
        case "E":
            k = 0.8
        case "T":
            k = 0.7
        case "W":
            k = 0.85
    return k * 1.125

上記以外はcashflow.pyと同じです。
続いて、presentvalue.pyもコピーして、
presentvalue_mort.pyとしておきます。
ヘッダー部分を変更するだけです。

presentvalue_mort.py
from cashflow_mort import create_cashflow

実行して結果を確認すると、

977670

と表示されます。
死亡率を上昇させる前は、812213でしたので、
165457増加しています。

これが経済価値ベースでは死亡リスク額に当たります。

1年後の死亡リスク額

実務では、直近の死亡リスク額だけではなく、
1年後の死亡リスク額、2年後の死亡リスク額、$\cdots$
の計算を求められることもありますので、
その計算方法も考えてみましょう。

まずは、1年後の死亡リスク額です。
今、2022年度末を基準として、
キャッシュフローは2023年度からはじまっています。
ですので、2023年度の死亡率はそのまま進めて、
2023年度末の死亡リスク額を計算します。

そのため、2024年度以降の死亡率を12.5%上昇させます。

キャッシュフローの修正

cashflow_mort.pyの残存表の計算の中には、
計算年度を考慮する部分がありませんが、
計算年度を入れてしまうと、変更するときに
場所を探さないといけないので、
死亡率を上昇させる年度を判定させる関数を作成します。

cashflow_mort.py
# 死亡ストレスの計算
def mort_stress(policy_y, t):
    if policy_y + t >= 2024:
        str = 1.125
    else:
        str = 1
    return str

policy_y + tが2024年度以上なら死亡ストレスを適用します。

残存表の中に、この関数を加えます。

cashflow_mort.py
        # 生命表の作成
        for t in range(n):
            str = mort_stress(policy, t)
            q = qdx(sex, age + t)
            w = qwx(product, t, m)
            next_d = lx[-1] * q * mort_k(product) * str
            next_w = lx[-1] * w
            if t == n - 1:
                next_m = lx[-1] - next_d - next_w
                next_l = 0
            else:
                next_m = 0
                next_l = lx[-1] - next_d - next_w

他の箇所は変更しませんので省略します。
cashflow_mort.pyだけ実行すると、
キャッシュフローをExcelファイルに出力します。
それを確認すると、2023年度のキャッシュフローは今までと同じ、
2024年度以降のキャッシュフローが変化していると思います。

現在価値の修正

続いて、現在価値の計算を修正します。
presentvalue.pyをコピーしてpresentvalue_mort.py
としておきます。

ここでの修正箇所は主に2つです。

  • cashflow_mort.pyから2024年度以降のキャッシュフローを抽出
  • 1年後の1年金利、2年金利、$\cdots$を求め、現在価値を計算する

1年後の金利はフォワードレートといいます。
アクチュアリー試験の投資理論のテキストで
解説されていますので、参考にしてください。

現価率はt=0から現価率を計算する想定で、
t年金利を順番tと順番0の金利から計算するので、
t+1やt+2があったり難しいですが、
一つ一つ数えながら、進めます。

presentvalue_mort.py
# 現価率
def DF(t):
    if t + 1 < len(rate0):
        r = rate0[t + 1]
    else:
        r = rate0[-1]
    fr = (((1 + r) ** (t + 2))/(1 + rate0[0])) ** (1/(t+1))
    value = fr ** (-t-0.5)
    return value

あとは、計算は同じく2022年度末基準ですが、
2024年度以降のキャッシュフローを使うので、
それを抽出する部分を加えます。

presentvalue_mort.py
# 計算基準年度
base_year = 2022
# キャッシュフローの計算
summary = create_cashflow(base_year)
# Totalのみ抽出
summary = summary[summary["product"] == "Total"]
# 2024年度以降を抽出
summary = summary[summary["year"] >= 2024]
# 経過年数を追加
summary["t"] = summary["year"] - base_year - 1
# 現在価値を計算
PV = 0 
for _, row in summary.iterrows():
    t = int(row["t"])
    cf = int(row["cashflow"])

    PV += cf * DF(t-1)

print(int(PV))

DF(0)からはじまるように揃えるので、
ここではt-1としておきます。

計算結果は、

1648879

と表示されます。

なお、死亡ストレスを与えない場合は、1488397ですので、
死亡リスクは160482です。
これで1年後の死亡リスクが計算できました。

まとめ

今回は、死亡リスク額を計算しました。
死亡リスク額の自体は難しくないですが、
t年経過後のリスク額をすぐに一般化するのは難しいので、
まず、1年後のキャッシュフロー、次に1年後の金利、$\cdots$
と計算してから、t年後の計算をしていきます。

今回は1年後しか計算しませんでしたので、
次回は、これを一般化して、t年後の死亡リスク額を計算します。


📚 ナビゲーション
前の記事
保険負債の金利変動による影響

次の記事
死亡リスク額の計算2

📚 目次
アクチュアリーのためのPython入門

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?