一个用于生命精算计算的python库,简单、强大且易于使用。
pyliferisk的Python项目详细描述
幽门病
pyliferisk是一个用于生命精算的python库,简单、强大且易于使用。日期:2018-12-27
版本:1.10
作者:francisco garate-fgaratesantiago(at)gmail(dot)com
文件
简介
Pyliferisk是一个用Python编写的用于寿险和精算合同的开放库,基于精算师之间常用的方法(国际精算符号)
该库能够覆盖所有人寿意外险(因为精算公式遵循国际精算符号),并支持主要保险产品。
这个库是作为单个文件模块分发的,除了Python标准库之外没有其他依赖项,因此速度惊人它与Python3.x和2.7版本都兼容。
此外,该软件包还包括几个主要从学术教科书中提取的生命死亡率表(pyliferisk.mortalitytables
)表是以列表格式添加的即:scot_dlt_00_02_m=[0,0.006205,0.000328,0.00026….]
第一项表示表开始的时间
快速启动
这些公式的名称遵循国际精算符号,并且很容易猜测(qx、lx、px、w、dx、ex、ax、axn…),但特殊字符除外。
保留变量(除python语言外)如下:
对于MortalityTable()
中的死亡率假设:
nt
=用于计算不可预见费的精算表。语法:nt=gkm95i
=利率实际利率,即一年内的总利息。语法:i=0.02perc
=表示要应用的死亡率百分比的可选变量。语法:perc=85 变量perc
可以省略,在本例中,默认为100。
所有精算公式必须至少包含两个变量:mt(死亡率表)和x(年龄)
如有必要,应按以下顺序包括其他变量:
n
(水平年数),m
(月付款),t
(n年延期期)
变量m
可以省略,在这种情况下,默认为1(年度付款)。
此外,还有两个智能公式:annuity()和a(),其中变量的数目不是固定的:
annuity(nt, x, n, p, m, ['a/g', c], -d)
- mt=死亡率表
- x=年龄为整数。
- n=整数(保险期限以年为单位)或‘w’=整个寿命。
- P=付款时间。句法:0=每个周期的起始(预付),1=每个周期的结束(后付费), 可选变量:
- M=每年应付的“M”(兄弟会付款)。默认值=1(每年)
- “a”或“g”=算术/几何
- Q=增长率。语法:[g',q]或['a',q]。例如,['g',0.03] 延迟期:
- -d=n年延期期为负数
示例1: 打印50岁时死亡率表和qx的omega(极限年龄):
frompyliferiskimportMortalityTablefrompyliferisk.mortalitytablesimportSPAININE2004,GKM95tariff=MortalityTable(nt=SPAININE2004)experience=MortalityTable(nt=GKM95,perc=85)# Print the omega (limiting age) of the both tables:print(tariff.w)print(experience.w)# Print the qx at 50 years old:print(tariff.qx[50]/1000)print(experience.qx[50]/1000)
示例2: 绘制幸存图形:
importmatplotlib.pyplotaspltfrompyliferiskimport*frompyliferisk.mortalitytablesimportSPAININE2004,GKM95tariff=MortalityTable(nt=SPAININE2004)experience=MortalityTable(nt=GKM95,perc=75)x=range(0,tariff.w)y=tariff.lx[:tariff.w]z=experience.lx[:tariff.w]plt.plot(x,y,color='blue')plt.plot(x,z,color='red')plt.ylabel('lx')plt.xlabel('age')
示例3:: 男性30岁10年期定期人寿保险(GKM95,利息6%):
frompyliferiskimport*frompyliferisk.mortalitytablesimportGKM95nt=Actuarial(nt=GKM95,i=0.06)x=30n=10C=1000print(C*(Axn(nt,x,n)/annuity(nt,x,n,0)))
安装
运行Pyhon之后,只需使用pip install pyliferisk
安装这个库
再查询
它兼容Python的两个版本:2.7和3.6 Pyliferisk除了Python标准库之外没有其他依赖项与其他库(如pandas)下的实现相比,这减少了计算运行时。
许可证
这个程序是免费软件:你可以重新分配它和/或mod根据自由软件基金会发布的GNU通用公共许可条款,或者许可的第3版,或者任何更高版本,通知它。
这个程序被分发,希望它是有用的,但没有任何保证;甚至没有对适销性或适合某一特定目的的默示保证。有关更多详细信息,请参阅GNU通用公共许可证。作者不承担任何法律责任的准确性,完整性,或在此信息的有用性贡献
我们非常感谢您的贡献、反馈和改进建议。
讨论在我们的邮件列表上进行
http://groups.google.com/group/openactuarial(主题:pyliferisk)