You are on page 1of 4

经济研究

利用Excel VBA进行寿险产品蒙特卡罗模拟定价
赵 星
南开大学经济学院风险管理与保险系 天津 300071

【摘   要】本文基于Excel软件和VBA语言,使用蒙特卡罗模拟方法探讨了利率随机、销售量波动、死亡率波动、保额不固定的情况下保险产品给付现值的分布情况。
在得到了最低均衡净保费的分布后,采用VAR方法的思想得到了给定置信度下的定价。
【关键词】随机利率 蒙特卡罗模拟 风险价值 寿险产品定价

1、引言 1 2%
在寿险精算实务中,利率对寿险产品的定价有着重要的影响。除
了利率之外,销售量、死亡率、保额等随机因素也会影响寿险产品给 1 0%
付的均值和方差。在实务中,保额总是因保单而异,死亡率并不总是符
8%
合生命表的描述,实际的保单销售数量也与预期有一定的偏差。因此,
精算师在定价时,往往会对这些假设进行保守的处理,比如评估某些不 利
6%
利利率情景下的损失程度、对高保额保单的被保险人进行不同程度 率
的限制、设定一个与生命表不一致的死亡率假设、考虑不同情况下 4%
的销售量等。
同时考虑利率、保额、死亡率和保单数目的随机性,使我们面临 2%
一个4维的问题:每个分支都是一个随机的变量或过程,比如利率可能
服从某种利率随机模型,保额可能服从某种分布,死亡率可能有波动,实 0%
际销售的保单数量可能以预期销售量为参数服从某种分布等。当利 0 10 20 30 40 50 60 70
率期限结构、保单数量分布、保额分布较为复杂的情况下,我们关注 t(时间)
的保单给付现值很难得到解析表达式,此时蒙特卡罗模拟可能是解决 图1 Vasicek随机利率模型示例
问题唯一可用的办法。 2 . 2 保单销售数量模拟
由于Excel软件在精算行业中的广泛应用,将随机利率、蒙特卡罗 保险公司往往在每年初制定当年的销售计划,并在月末、季度末
模拟等前沿技术应用到Excel中变得越来越重要,本文以一个寿险产品 对销售计划的完成情况进行跟踪,全年实际达成的销售量一般可以看
为例,阐述了相关技术在Excel中的使用。本文使用Excel VBA编程,利 做以销售计划(预期值)为均值波动。我们假设保单销售数量服从
用蒙特卡罗模拟方法探讨了随机利率下给付现值的分布情况,在得到 泊松分布,对λ=500的情况进行了模拟。
了给付现值的分布后,采用VAR(Value at Risk,风险价值)方法的思 模拟的步骤如下:
想得到了给定置信度下的定价。 (1)新建Excel工作簿,在单元格A1 ̄A10000使用RAND函数生成
10000个在[0,1]上均匀分布的随机变量U,工作表名记为Uniform。
2、情景模拟 (2)在一个新工作表中生成390 ̄620的自然数列,在旁边输入公
我们采用如下思路进行情景模拟(使用Excel2003软件): 式“=POISSON(A1,500,1)” 并填充,求得其均值为500的累积分布函数,
(1)在预设的随机利率模式下,生成10000个利率期限结构的情 工作表名记为Poisson。
景; (3 )在一个新工作表中的单元格A 1  ̄ A 1 0 0 0 0 输入公式
(2)假设保单销售数量n服从某种分布,生成10000个服从该分布 “=ROUND(LOOKUP(Uniform!A1,Poisson!B:B, Poisson!A:A),)” 并填充,
的保单销售数量; 在第(2)步生成的累积分布函数中查找第(1)步生成的均匀分布随机数,
(3 )根据生命表, 生成10000个离散型终身寿险的保单持有人 并取整,使用分布函数求逆方法得到10000个服从泊松分布的随机变
(30岁男性)在各个时期的生存状态; 量。
(4)假设保额服从某种分布,生成10000个保单的保额。 保单销售数量的模拟结果如图2所示。容易看出,当泊松分布的参
模拟的具体步骤如下: 数λ较大时,保单销售数量的分布结果与正态分布十分相近。
  1 0%
2 . 1 利率期限结构模拟
由于本文的主要目的是给出一种定价方法,所以这里只考虑比较 9%
简单的单因素随机利率模型。常见的单因素随机利率模型有Vasicek 8%
模型等。
7%
在Vasicek模型中,利率r服从:dr=a(b-r)dt+σdz
r为利率,a,b, σ为常数,z为标准布朗运动。 6%
我们在本文中假设Vasicek模型的参数为a=0.1,b=0.06,σ=0.008, 5%
初始年利率为10%。取△t为1年,△z ̄N(0,1)。 4%
模拟的步骤如下: 3%
(1 )新建E x c e l 工作簿, 选定7 5 ×1 0 0 0 0 个单元格
2%
(A1 ̄BW10000),输入随机数生成函数“=RAND()” 并填充,生成75×
10000个在[0,1]上均匀分布的随机变量U(75为根据中国寿险业经验 1%
生命表得到的3 0 岁男性的最大剩余寿命)。将该工作表名记为 0%
Uniform。 416 441 466 4 91 51 6 541 566
(2)使用反标准正态累积分布函数NORMSINV对第一步得到的每 图2  参数为500的泊松分布模拟
个均匀分布随机数进行Φ-1(・)运算,得到服从N(0,1)的标准正态分布 2 . 3 生存状态情景模拟
随机变量Z=Φ-1(・)。将该工作表名记为Norm。 生存状态情景模拟基于中国寿险业经验生命表(2000-2003)非
(3)新建一个工作表IntRate,令单元格A1 ̄A10000都等于10%, 养老金男表(CL1),得到30岁男性的死亡年龄随机变量。
作为所有情景下0时刻的利率(初始年利率)r0=10%。 模拟的步骤如下:
(4)使用第二步得到的标准正态分布随机变量Z,根据dr=a(b-r) (1)新建Excel工作簿,使用RAND函数在单元格A1 ̄BW10000内生
dt+σdz,即△r=rt-rt-1=0.1(0.06-rt-1)+0.008Z,递推得到每一期的 成7 5 ×1 0 0 0 0 个在[ 0 , 1 ] 上均匀分布的随机变量U , 工作表名记为
利率rt(t=1,2,…,75)。 Uniform。
具体方法是:在第(3)步的基础上,在单元格B1到BX10000的范围内, (2)在一个新工作表的A、B两列内放置生命表的年龄和死亡率,
输入公式“=A1+0.1*(0.06-A1)+0.008* Norm!A1” 并填充,其中, 工作表名记为LifeTable。
“norm”为储存标准正态分布随机数的工作表名。 (3)对于每一个年龄x,如果x-1时的生存状态为0(生存状态随
(5)新建一个工作表CumIntRate,令单元格A1 ̄A10000单元格都 机变量等于0代表死亡,等于1代表生存),则x时的生存状态也为0;如
等于1,在B1至BX10000中输入公式“=A1/(1+IntRate!A1)”并填充,即 果x-1时的生存状态为1,且U<qx-1,则x时的生存状态为0;如果x-1时
通过累积相乘,得到每一期的折现因子。 的生存状态为1,且U>qx-1,则x时的生存状态为1;依次递推至x=105。
Vasicek模型示例如图1所示。 具体方法是:先在一个新工作表的第一行生成30 ̄105的自然数列
2011. 03 49
经济研究
作为年龄,在单元格A2 ̄A10001输入1,表示初始生存状态,在单元格 (2)在一个新工作表中将各个时期的折现因子累加至0期,作为
B2 ̄BX10001输入公式“=IF(A2=0,0,IF(Uniform!A1<VLOOKUP(A¥1, 年金精算现值,记工作表名为APV。
LifeTable!¥A:¥B,2,0),0,1))”并填充,即可得到各个时期的生存状态,其 (3)将前面产生的10000个死亡年龄随机变量和10000个随机保
中,VLOOKUP函数在这里的作用是查询第一行中的年龄对应的死亡率。 额复制进来,作为用来抽取的保单集合,记工作表名为Population。
(4)最后一个等于1的生存状态随机变量对应的年龄,即为死亡 (4 )在每个自然状态(利率期限结构和保单销售数量n 的组
年龄随机变量。更简单的方法是对每一行求和,即可得到30岁人群的 合)下,随机抽取前面产生的n个生存状态和n个随机保额,作为随机生
剩余寿命。将剩余寿命加上30-1=29,即可得到死亡年龄随机变量。 成的n个保单;根据这n个保单的给付额(即保额)和给付时刻(即由
死亡年龄分布的模拟结果如图3所示。容易看出,死亡年龄随机 生存状态得到的死亡时间),使用该自然状态下的利率期限结构进行
变量分布在区间[30,105]内,并且具有明显的左偏性质。 折现并加总,得到这n个保单的总给付现值。用这n个保单的总给付现
5% 值除以这n个保单的总保额(以千元为单位),得到该自然状态下每
千元保额的平均给付现值。
4% 这里使用了VBA,代码如下:
Sub AvgRandSum()
3% Dim RandBase, RandBase2 As Integer
Dim RandSum, SumAPV, SumAssured, SA, DeathAge As Single
2%
For j = 1 To 10000
'循环10000次
1%
RandSum = 0
SumAssured = 0
0%
SumAPV = 0
30 35 40 45 50 55 60 65 70 75 80 85 90 95 1 00 1 05
n = Sheets("NO").Range("A" & j + 1).Value
图3 30岁男性的死亡年龄分布模拟
'这里n为销售量,即随机抽取的保单数量
2 . 4 保额模拟 For i = 1 To n
人们在购买保障型产品时选择的保额大多为一千、一万或者十 RandBase = Round(9999 * Rnd + 1, 0)
万的整数倍,大的保额会对给付现值的偏度产生较大的影响。在本文 '范围在1 ̄10000的随机数1,用来抽取随机的生存状态
中我们采用了某寿险公司2009年保障型产品的保额分布经验数据作 RandBase2 = Round(9999 * Rnd + 1, 0)
为假设的保额分布。
'范围在1 ̄10000的随机数2,用来抽取随机的保额
模拟的步骤如下:
DeathAge = Sheets("Population").Range("A1").Offset(RandBase,
(1)新建Excel工作簿,由某保险公司的经验数据得到保额的累 0).Value
积分布函数,如图4所示。 '从工作表“Population”的第1列中抽取随机生存状态,存入变量
(2)生成10000个在[0,1]上均匀分布的随机变量U。 DeathAge
(3)与销售量模拟的分布函数求逆方法一样,可得到服从第(1) SA=Sheets("Population").Range("A1").Offset(RandBase2, 1).Value
步得到的分布函数的随机变量。
  1 00%
'从工作表“Population”的第2列中抽取随机保额,存入变量SA
SumAssured=SumAssured + SA
90%
'将保额累加起来,存入变量SumAssured
80%
RandSum=RandSum + Sheets("CumIntRate").Range("A1").Offset
70% (j, DeathAge- age).Value * SA
60% '将给付现值累加起来,存入变量RandSum,式子的第二部份为“死
50% 亡时刻的折现因子* 保额”
40% SumAPV = SumAPV + Sheets("APV").Range("A1").Offset(j, DeathAge
30% - age).Value * SA
20%
'将年金精算现值累加起来,存入变量SumAPV,式子的第二部份为
1 0%
“死亡时刻的年金精算现值* 保额”
Next
0%
0 50000 1 00000 1 50000 200000 250000 300000 350000 400000
Sheets("NO").Range("B" & j + 1).Value = RandSum / SumAssured*1000
图4  保额分布函数 '平均每千元保额的给付现值记入B列
模拟结果如图5所示。容易看出,人们习惯于投保的保额多为五 Sheets("NO").Range("C" & j + 1).Value = SumAPV / SumAssured
万、十万、二十万等。 '平均每单位保额的年金精算现值记入C列
25% Sheets("NO").Range("D" & j + 1).Value = "=B" & j + 1 & "/C" & j + 1
'保证盈利的最低均衡净保费记入D列
20%
Next
Calculate
End Sub
1 5% 模拟得到的30岁男性离散型终身寿险产品的每千元保额平均给
付现值的分布情况如图6所示。同时得到了30岁男性终身生存年金的
1 0% 给付现值,其分布如图7所示。
  1 2%  7 %

1 0% 6%
5%
5%
8%
4%
6%
0% 3%
0 50000 1 00000 1 50000 200000 250000 300000 350000 400000 4%
2%
图5  保额分布模拟(10000次) 2% 1%
至此, 我们已经得到了所需的利率情景模拟、保单销售数量模 0% 0%
拟、生存状态模拟(死亡年龄模拟)和保额模拟。 2.8 2 20.00 37.1 8 5 4 .36 1 0.1 2 1 3 .69 1 7 .2 7 20.8 4 2 4 .4 2 2 7 .99 3 1 .57
图6  终身寿险产品每千元保额给付现值分布(以30岁男性为例)
3、蒙特卡罗模拟给付现值和最低均衡纯保费 图7  终身生存年金每单位保额给付现值的分布情况(以30岁男性
在情景模拟的基础上,我们可以模拟得到30岁男性离散型终身寿 为例)
险产品的总给付现值和每千元保额的平均给付现值。为简便起见,我 可以看出,终身生存年金给付现值的分布偏度为0.74,小于终身寿
们在本文中不考虑退保和费用。 险产品给付现值分布的偏度。
模拟的步骤如下: 进一步地,根据Px=Ax/ax,将每个情景下终身寿险产品的总给付现
(1)新建Excel工作簿,将前面产生的10000个利率期限结构和 值除以终身年金产品的总给付现值,就可以得到各个情景下每千元保
10000个保单销售数量n复制进来,得到10000个可能发生的自然状态, 额至少需要交多少保费才能保证盈利,也就是最低均衡纯保费的值,其
分别记工作表名为CumIntRate和NO。 (下转第 5 4 页)

50 2011. 03
经济研究
对中等水平财险市场集中度的影响为负,RATE对高水平财险市场竞争 进程对财险市场完善的优势。其次,积极建设区域财险市场,引导财险
度的影响为正。 消费更加理性化,进一步的创造市场空间,鼓励财险公司开展差异化的
第二,经济发展RJGDP除了对低水平财险市场的集中度具有正向 竞争战略;促进区域经济增长,深入研究经济增长对财险业市场结构调
影响外,对其他类别的集中度和竞争度全部为负,基本符合我们的预 整的影响模式和作用规律,实现经济增长、经济结构和经济环境对财
期。重工业比重和大中企业比重基本上呈现出与集中度、竞争度负 险业结构调整的良性互动。最后,抓住保险业制度变迁的时机,充分利
相关的结果,例外在于重工业比重对中等水平财险市场集中度和大中 用相关制度在调整过程中出现的机遇,在制度准许的范围内大胆改革,
企业比重对低水平财险市场竞争度方面。国有企业比重除了对低水 将被动的接受制度改变转变为积极主动的适应制度转变,并在实践中
平财险市场的集中度负相关以外,对其他类别的集中度和竞争度全部 进行制度创新,以此来实现财险业市场结构的完善和优化。
符合我们的预期。其他关于经济环境的变量对不同类别省市的影响 参考文献
则体现出不够集中的特点,其影响模式和程度可以参照上表。 [1]江生忠.《中国保险产业组织优化研究》.中国社会科学出版社,
第三,反映制度变迁的三项虚拟变量基本上全部与财险市场集中 2003,北京.
度和竞争度负相关,除了开放造成低水平和中等水平财险市场的集中 [2]邵全权.《保险竞争的经济分析》.南开大学出版社,2008,天津.
度不降反升以外。这说明近年来几项重要的保险业制度变迁过程对 [3]邵全权.中国产险公司市场结构、竞争模式与绩效关系研究.
不同类别的样本体现出类似的作用模式和影响规律,这从一个侧面也 《数量经济技术经济研究》,2008,25(8).
证明了中国保险业区域保险市场的趋同性。 [4]邵全权,陈月.保险保障基金制度效应分析——基于中国财险产
业组织视角的研究.《财经研究》,2009,9.
五、结论与建议 [5]Bain, J.S., and F. Modiglianni. (1958)“New Developments on the
本文基于保险产业经济学、宏观经济学以及制度变迁理论,利用 Oligopoly Front,” Journal of Political Economy, 66(3), 215-232.
样本期为2000-2009年的省级面板数据,对中国财险业市场结构的主要 [6]Jenny, F., and A.P. Weber (1978) “The Determinants of Con-
影响因素开展了实证研究。我们首先采用全部样本的个体固定效应 centration Trends in the French Manufacturing Sector,” Journal of
模型估计结果表明,期初财险业结构、财险市场规模、国有企业比重 Industrial Economics, 26(3), 193-207.
和政府财政支出对财险市场集中度和竞争度指标具有较为显著的正 [7]Beenstock, M., Dickinson, G. and Khajuria, S., 1988, The Rela-
向影响;财险市场需求增长率、人均GDP、重工业比重、大中企业比 tionship between Property-Liability Insurance Premiums and Income:
重、股票市值的提高则会降低集中度和竞争度指标;银行贷款余额和 An International Analysis, [J] Journal of Risk and Insurance, vol. 55, no. 2,
FDI对集中度和竞争度的影响方向并未得到一致的结论。衡量费率市 pp. 259-272.
场化、保险业全面开放和保险保障基金制度实施的三项虚拟变量大 [8[J. David. Cummins, Risk-Based Premiums for Insurance Guar-
多有利于财险业市场结构的优化。基于此,按照各省市的保险深度和 anty Fund , [J] The Journal of Finance,1988,9, 823.
保险密度将样本划分为三类,除去个别例外情况,实证结果并没有改变 [9]刘京生.论区域经济与区域保险.《保险研究》,2002年,6.
应用全部样本得到的基本结论。 [10]张伟,郭金龙,张许颖,邱长溶.中国保险业发展的影响因素及地
此外,本文结论还可以解释中国财险业结构在不同类别中的省市 区差异分析.《数量经济技术经济研究》,2005年第7期。
所存在的差异和趋同演化方向。我们采用财险业集中度作为衡量财 [11]朱俊生等.我国保险业空间布局研究.《保险研究》,2005,7.
险业结构的指标,根据贝恩的市场结构分类,中国财险业结构在2000- [12]黄薇.保险业发展的地区差异值得重视.《财经科学》,2006
2009年间已从极高寡占型A转变为极高寡占型B。进一步研究发现,无 第3期。
论是低水平的财险市场,还是中等水平和高水平的财险市场,这一结论 [13]栾存存.我国保险业增长分析.《经济研究》,2004,1.
仍然成立,于是可以证明在样本期间内我国各省份不同发展水平的区 [14]胡宏兵,郭金龙.中国保险发展与经济增长关系检验——基于
域财险市场在结构演化方面正在趋同。如果我们以HHI指数来衡量财 Bootstrap仿真方法的实证分析.《宏观经济研究》,2010,2.
险市场结构,也可以得到类似的结论。 [15]钱珍.经济增长.居民消费与保险发展的长期联动效应分析—
基于上述观点,提出以下政策建议:首先,鉴于中国财险业结构在演 —基于VAR模型和脉冲响应函数的研究.《经济与信息论坛》,2008,7.
变过程中体现的路径依赖问题,应该加强财险业结构改革的力度,可以 [16]肖文,谢文武.中国保险费收入增长的模型分析.《上海金融》,
考虑通过借助保险行业外在的改革力量强制降低现有集中度和竞争 2000,4.
度;加快国有企业改革进程,推进“国退民进”的改革思路,突出市场化

(上接第 5 0 页) 下,使用VAR方法的思想,取置信度对应的分位点定价。由表1可知:
为使该产品有95%的概率盈利,需将均衡纯保费的费率定在1.76
分布情况如图8 所示。
  9% 元/千元保额,;
为使该产品有99.95%的概率盈利,需将均衡纯保费的费率定在3.34
8%
元/千元保额。
7% 这样得到的费率可以在给定的置信度要求下更为精确地保证盈
6% 利概率,而不仅仅是在正态分布假设下根据预期给付现值的均值和方
5% 差定价。同时,由于各项参数可以方便地在蒙特卡罗模拟的过程中调
4% 整,这种方法可以方便地应用于各种类型的产品,比如计算两全保险的
3% 均衡净保费时, 只需将V B A 代码中计算总给付的那一行稍作修改即
2% 可。
1%
0%
4、结论
本文考虑了利率、保单销售数量、死亡率波动和保额分布等随
0.21 0.86 1 .51 2.1 6
机因素对给付值产生的影响,并在给定的假设下模拟得到了给付现值
图8  终身寿险产品每千元保额最低均衡纯保费的分布情况(以30
的近似分布情况。
岁男性为例)
与传统的定价方法相比,蒙特卡罗模拟方法可以更容易地调整各
由图可以看出,最低均衡纯保费的偏度(1.24)介于终身寿险给
种假设。当多个影响因素都是随机的过程时,给付现值的表达式会变
付现值(1.76)和终身年金给付现值(1.24)之间。与终身寿险给付
得非常复杂。而在蒙特卡罗模拟方法中,我们只需要分别模拟出各个
现值的情况类似,终身寿险最低均衡纯保费的分布明显右偏,如果采用
影响因素的变化过程,比如加入死亡率趋势的因素或者调整随机利率
正态分布假设定价,同样会有一定的风险。因此,不论是趸缴纯保费还
模型的参数,就可以很快得到给付现值的近似分布情况,并得到给定置
是均衡纯保费,我们都推荐使用VAR方法定价。
信度下的定价。当缴费期间不是终身而是一个时间段(比如20年),
表1  各种产品给付现值分布的统计描述(以30岁男性为例)
或者产品不是终身寿险而是定期寿险时,我们也只需要在Excel中做微
  终身寿险  终身生存年金  均衡净保费 
小的调整重新计算一下即可得到结果。同样,采用与第二部份中类似
平均值  1 8.1 3  1 7.76  0.99 
的步骤,这种方法也可以得到责任准备金的分布,用来评估责任准备金
标准差  9.87  2.43  0.42 
的充足性。
偏度  1 .76  0.82  1 .24 
参考文献
峰度  5.41   1 .20  2.68  [1]赵静宇,郭士杰,罗传光.基于Vasicek模型下寿险产品定价研究.
最大值  1 05.89  31 .57  4.1 0  保险研究: 2008(7), 44-46.
最小值  2.82  1 0.1 2  0.21   [2]卢仿先,张琳.寿险精算数学,中国财政经济出版社,2006.
95%分位点  36.49  22.24  1 .76 
99.95%分位点  80.91   29.88  3.34 
为了避免分布的偏度带来的风险,我们应当在给定的置信度要求
54 2011. 03
论文降重,论文修改,论文代写加微信:18086619247或QQ:516639237

论文免费查重,论文格式一键规范,参考文献规范扫二维码:

相关推荐:

利用Excel对损益表进行分析

利用Excel VBA进行寿险产品蒙特卡罗模拟定价

利用VBA对Excel软件进行二次开发

利用EXCEL模拟掷骰子

利用Excel进行MIS开发

使用Delphi控制Office生成成绩报告书

Excel在工程预算中的应用

利用EXCEL进行财务预测

利用Excel进行财务分析

利用Excel进行敏感分析

You might also like