LoginSignup
3
3

More than 3 years have passed since last update.

保険数理用ライブラリを作りました

Last updated at Posted at 2020-04-11

はじめに

某ウイルスやばいですね、外出自粛のせいでそろそろ体に苔生えてきそうです...
さて、最近アクチュアリー試験の勉強をしていて、「そういえばPythonに保険数理用のライブラリとかあったりするんかな」って思ってググったらないっぽかったので作りました。  

開発動機

・ 保険数理に対する理解を深めるため。
・ 保険数理を用いた数値計算を簡便にするため。
・ Pythonで自作ライブラリをPyPIにあげたことなかったからやってみよう的な。
暇だった

インストール

インストールはpipで可能です

pip install amaryllis

使い方

保険料の期待値を算出します。
各種類の保険のアルゴリズムを実装していますが、関数の引数はそれぞれ

i : 年利率, デフォルト値は0.03
x : 被保険者の、当該保険契約時年齢, デフォルト値は30
n : 当該保険契約契約期間, デフォルト値は20
f : 据え置き期間, デフォルト値は10
lifespan : 最終年齢, デフォルト値は112
population : 0歳から最終年齢までの生存人口、デフォルト値は第20回例示生命表(男)を参考に作成したもの。
             実際のデータではないので注意

となっています。

サンプル

①生命年金現価(amaryllis.models.pension)

>>> from amaryllis.models.pension import *
>>> import numpy as np
>>> population = np.array([100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0])
>>> x = 0
>>> n = 3
>>> lifespan = 10
>>> f = 0
>>> a = life_annuity(population=population, x=x, n=n, f=f, lifespan=lifespan)
>>> print("a = {}".format(a))
a = 2.6278631350739943

②一時払い保険料現価(amaryllis.models.single)

>>> from amaryllis.models.single import *
>>> import numpy as np
>>> population = np.array([100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0])
>>> i = 0.03
>>> x = 0
>>> n = 3
>>> f = 1
>>> lifespan = 10
>>> A = single_term_insurance(i=i, population=population, x=x, n=n, f=f, lifespan=lifespan)
>>> print("A = {}".format(A))
A = 0.2746224616402602

それぞれ保険を種別に実装しているので、詳しい関数のドキュメントはgithub( https://github.com/yk-amarly-20/Amaryllis ) を見てください。

おわりに

生存時間解析関連の内容をあまり実装していないのでこれから随時実装していく予定です。
あと関数内ドキュメントが全て日本語のままなので英語に直さないと(めんどくさい)

3
3
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
3
3