问题描述
有一些背景知识-我是一位精通Python的精算师。为此,我试图将一些我通常在Excel中制作的模型转移到Python。
我陷入了一个特殊的问题,Excel对我来说非常容易。我正在寻找在Python中执行相同操作的方法。问题如下:
我知道在各种期限(第1至30年-离散)上各种评级(AAA至CCC)的违约概率。我不知道生成此表的基础转换矩阵,而任务是拟合转换矩阵。
它基本上是一个离散的马尔可夫模型。
在excel中,我将执行以下操作:
- 我知道各个到期日的违约概率如下:
- 定义一个矩阵T,该矩阵给出各种状态的转换速率:AAA,AA,A,BBB,BB,B,CCC和默认状态。 AAA到CCC是各种等级,最后一栏是默认状态。
默认列现在是已知的,等于第一年的默认概率。 矩阵的对角线条目在行中设置为等于“ 1-其他条目的和”。
-
初始化此矩阵,例如在对角线条目(公式)和默认列(已知)之外的所有地方都设置为零
-
进行多次矩阵乘法运算以获得不同年份的违约概率。例如,最后一列T ^ 2 =第二年的违约概率。
-
计算所有年份的实际违约概率(乘以1)与4年之间的平方距离。
-
运行excel解算器以最小化平方差之和。
我不确定是否有简单的方法可以在Python中进行设置。如果有人可以将我指向我应该看的包裹,我可以进行试验。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)