主要内容

使用链梯法引导

这个例子展示了如何应用链梯自举方法来生成几个developmentTriangle对象来估计最终索赔。

确定性索赔估计方法产生储备价值的点估计,而不提供关于这些估计的不确定性的信息。随机索赔估计方法的目标是评估估计储量值的可变性。链梯自举方法是一种基于仿真的随机修正模型的方法developmentTriangle数据和产生代表估计储量值可变性的估计储量分布。这个例子是基于Wüthrich和Merz [1].

加载数据

负载(“InsuranceClaimsData.mat”);disp(头(数据));
起源年发展年报告索赔赔付索赔__________ _______________ ______________ __________ 2010 12 3995.7 1893.9 2010 24 4635 3371.2 2010 36 4866.8 4079.1 2010 48 4964.1 4487 2010 60 5013.7 4711.4 2010 72 5038.8 4805.6 2010 84 5059 4853.7 2010 96 5074.1 4877.9

创建developmentTriangle

创建一个developmentTriangle对象和用途claimsPlot为了可视化developmentTriangle.有关未支付索赔估计的更多信息,请参见非寿险索赔估计方法综述

dTriangle = developmentTriangle(数据);dTriangleTable = view(dTriangle);可视化发展三角claimsPlot (dTriangle)

图中包含一个轴对象。标题为Cumulative Claims Development的axes对象包含10个类型为line的对象。这些物体分别代表2010年、2011年、2012年、2013年、2014年、2015年、2016年、2017年、2018年、2019年。

分析developmentTriangle

developmentTriangle链接比的估计使用公式:

f j ˆ 0 - j - 1 C j + 1 0 - j - 1 C j

使用linkRatios计算年龄间因素。

factorsTable = linkratio (dTriangle);

使用linkRatioAverages计算年龄间因素的平均值。

averageFactorsTable = linkratio平均数(dTriangle);disp (averageFactorsTable);
12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120 ______ ______ ______ ______ ______ ______ _____ ______ _______简单平均线-最新5 1.172 1.056 1.0268 1.0108 1.0054 1.0038 1.003 1.002 1.001简单平均线-最新3 1.17 1.0533 1.027 1.0117 1.0057 1.0037 1.003 1.002 1.001中间平均线-最新5x1 1.1733 1.0567 1.0267 1.0103 1.005 1.004 1.003 1.002 1.001交易量加权平均线1.1766 1.0563 1.025 1.01071.0054 1.0038 1.003 1.002 1.001成交量加权平均-最新5 1.172 1.056 1.0268 1.0108 1.0054 1.0038 1.002 1.001成交量加权平均-最新3 1.1701 1.0534 1.027 1.0117 1.0057 1.0037 1.003 1.002 1.001几何平均-最新4 1.17 1.055 1.0267 1.011 1.0055 1.0037 1.003 1.002 1.001

显示所选年龄与年龄因子表,并计算累积发展因子(CDF)cdfSummary

dTriangle。SelectedLinkRatio = averageFactorsTable{成交量加权平均的,:};currentSelectedFactors = dTriangle.SelectedLinkRatio;dTriangle。TailFactor = 1;selectedFactorsTable = cdfSummary(dTriangle);disp (selectedFactorsTable);
12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120最终_______ _______ _______ _______ _______ ______ _______ _______ _______ ________选定的1.1766 1.0563 1.025 1.0107 1.0054 1.0038 1.003 1.002 1.001 1 CDF至最终1.3072 1.111 1.0518 1.0261 1.0153 1.0098 1.006 1.003 1.001索赔总额的1% 0.76501 0.90008 0.95075 0.97453 0.98496 0.9903 0.99402 0.99701 0.999 1

显示最新对角线。

latestDiagonal = dTriangle.LatestDiagonal;

计算预计的最终索赔使用ultimateClaims

projtedultimateclaims = ultimateClaims(dTriangle);

使用显示完整的开发三角形fullTriangle

fullTriangleTable = fullTriangle(dTriangle);disp (fullTriangleTable);
12 24 36 48 60 72 84 96 108 120终极______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ________ 2010 3995.7 4635 4866.8 4964.1 5013.7 5038.8 5059 5074.1 5084.3 5089.4 5089.4 2011 3968 4682.3 4963.2 5062.5 5113.1 5138.7 5154.1 5169.6 5508.9 5558.4 5589.9 5185.1 5185.1 2012 4217 5060.4 5364 5508.9 5558.4 5586.2 5608.6 5625.4 5636.7 5642.3 2013 4374.2 5205.3 5517.7 5661.1 5740.4 5780.6 5803.7 5821.1 5832.7 5838.6 58900.8 5918.55930.3 5936.3 5936.3 2015 4530.2 5300.4 5565.4 5772.8 5804.1 5843.4 5855.1 58661 5861 2016 4572.6 5304.2 5569.5 5775.4 5866.7 5828.6 5846.1 5866.7 5863.6 5863.6 2017 4680.6 5523.1 5854.4 6000.9 6065.1 6098 6120.9 6139.3 6151.6 6157.7 6157.7 2018 4696.7 5495.1 6013.3 6045.9 6068.6 6086.8 6099 6105.1 6105.1 2019 4945.9 5819.2 6146.7 6300.5 6367.9 6402.4 6426.5 6445.8 6458.7 6465.2 6465.2

计算总储量ultimateClaims

IBNR = ultimateClaims(dTriangle) - dTriangle. latestdiagonal;IBNR = array2table(“RowNames”dTriangleTable.Properties.RowNames,“VariableNames”, {“IBNR”});IBNR {“总”,1} = sum(IBNR{:,:});disp (IBNR);
IBNR ______ 2010 0 2011 5.1857 2012 16.89 2013 34.886 2014 57.583 2015 88.148 2016 149.34 2017 303.29 2018 609.99 2019 1519.3合计2784.6

自举链梯

为了推导重采样方法,将无分布链梯(CL)模型的时间序列模型定义为:

C j + 1 f j C j + σ j C j ϵ j + 1

有关上述所选的连结比率,请参阅Wüthrich [1]和Mack [2,则标准差估计为:

σ j ˆ 2 1 - j - 1 0 - j - 1 C j C j + 1 C j - f j ˆ 2

σ J - 1 ˆ 2 最小值 σ J - 2 ˆ 4 σ J - 3. ˆ 3. σ J - 3. ˆ 2 σ J - 2 ˆ 2

估计的标准偏差= currentSelectedFactors;i=1:width(estimatedstandarddeviation)-1 estimatedstandarddeviation (1,i) = sqrt(sum((factorsTable{1:end-i,i} - currentSelectedFactors(:,i)).^2).*dTriangleTable{1:end-i,i}) / (height(dTriangleTable)-i-1));结束估计的标准差(1,end) =根号(min([估计的标准差(1,end-1)^4 /估计的标准差(1,end-2)^2,估计的标准差(1,end-2)^2,估计的标准差(1,end-1)^2]));disp (estimatedStandardDeviations);
第1至7列0.8667 0.3699 0.2420 0.1310 0.0673 0.0361 0.0001第8至9列0.0001 0.0001

要应用自举方法,您需要找到适当的残差,以允许构建经验分布 F n ˆ 构造自举观测。

考虑以下残差 + j j 1

ϵ j F j - f j - 1 ˆ σ j - 1 C j - 1 - 1 / 2 在哪里 F j C j C j - 1

浏览Wüthrich [1],你可以缩放残差来向上调整它们的方差。在模拟分布中,未缩放残差往往导致较轻的尾。

调整残差,使bootstrap分布具有调整方差函数。

Z j 1 - C j - 1 0 - j C j - 1 - 1 2 F j - f j - 1 ˆ σ j - 1 ˆ C j - 1 - 1 2

你可以使用三个不同的版本应用bootstrap算法:

  • 残差的Efron非参数引导法 ϵ j

  • 缩放残差的Efron非参数自举法 Z j

  • 参数自举在残差具有标准高斯分布的假设下,即 Z j 从哪里重新采样 N 0 1

这个例子使用第二个版本(Efron的非参数自举缩放残差)来计算 Z j

%创建因子表的副本,并对其进行修改以创建%残差表残差= factorsTable.Variables;colsum = sum(dTriangle.)索赔,“omitnan”);i = 1:高度(残差)j=1:width(residuals) residuals(i,j) = (1 - (dTriangleTable{i,j}/ colsum (j)) ^-0.5 *(factorsTable{i,j} - currentSelectedFactors(1,j)) / (estimatedstandarddeviation (1,j)*(dTriangleTable{i,j}^-0.5));结束结束

的残差 Z j + j 定义一个自举分布。

残差向量=残差(:);(isnan(residualsVector)) = [];直方图(residualsVector 10)标题(按比例缩小的残差的)包含(“剩余价值”) ylabel (“频率”

图中包含一个轴对象。标题为Scaled Residuals的axes对象包含一个类型为直方图的对象。

要使用bootstrap方法模拟一个新的储量场景,请遵循以下步骤。

步骤1:从自举分布中重新采样残差三角形。

重新采样独立和同分布(i.i.d)残差 Z j + j 从自举分布。

resample残差=残差;rng (“默认”);rng (1);I = 1:高度(残差)-1j = 1:width(residuals)-i+1 resampledResiduals(i,j) = datasample(residuals(~isnan(residuals)), 1);结束结束disp (resampledResiduals);
列1到7 -1.5522 -0.5120 -1.2668 0.7776 -1.3649 0.2799 -0.5495 -0.4041 -1.5522 -0.4784 -1.2189 -0.7591 0.2610 -0.4784 -0.4091 -1.3649 -0.5495 -1.6767 -0.8571 -1.3143 -0.4879 -0.7591 1.3226 1.0791 0.2799 -1.5522 -0.8571 0.3243 -0.4879 0.2610 0.2861 -0.7591南南南1.9550 0 1.9550 -1.3143 -0.4784 0.5556 -1.2668南南南南南南南0.7693 0.5169 0.2799南南南南南南南南南南南南南南南南南南列8到9 -1.3146 -1.5364 -1.5522南南南,南,南,南,南,南,南,南,南

步骤2:计算引导索赔。

定义 C 0 C 0 和, j 1 ,假设:

C j f j - 1 ˆ C j - 1 + σ j - 1 ˆ C j - 1 Z j

这个表达式表示新的模拟索赔值。使用模拟的索赔值,您可以创建一个新的developmentTriangle估算新的储备价值。

bootstrappedClaims = dTriangleTable.Variables;j = 2:width(bootstrappedClaims) bootstrappedClaims(:,j) = currentSelectedFactors(1,j-1).*bootstrappedClaims(:,j-1) + estimatedstandarddeviation (1,j-1).*sqrt(bootstrappedClaims(:,j-1)).*resampledResiduals(:,j-1);结束stackkedclaims =重塑(bootstrappedClaims',100,1);stackedClaims = stackedClaims(~isnan(stackedClaims));newData =数据;newData。values =堆栈声明;bootstrappedDevelopmentTriangle = developmentTriangle(newData,“索赔”“值”);

步骤3:选择与模型一致的链路比。

体积加权平均值是与此自举方法中使用的模型一致的链接比。

bootstrappedAverageFactorsTable = linkratio平均数(bootstrappedDevelopmentTriangle);bootstrappedDevelopmentTriangle。SelectedLinkRatio = bootstrappedAverageFactorsTable{成交量加权平均的,:};bootstrappedDevelopmentTriangle。TailFactor = 1;bootstrappedSelectedFactorsTable = cdfSummary(bootstrappedDevelopmentTriangle);disp (bootstrappedSelectedFactorsTable);
12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120最终_______ _______ ______ _______ _______ ______ _______ _______ _______ ________选定的1.1751 1.054 1.0253 1.0099 1.0048 1.003 1.002 1.001 1 CDF至最终1.301 1.1072 1.0504 1.0245 1.0145 1.0096 1.006 1.003 1.001索赔总额的1% 0.76861 0.90321 0.952 0.97609 0.98572 0.9905 0.99403 0.99701 0.999 1

使用fullTriangle显示所选链路比对应的完整展开三角形。

bootstrappedFullTriangle = fullTriangle(bootstrappedDevelopmentTriangle);disp (bootstrappedFullTriangle);
12 24 36 48 60 72 84 96 108 120终极______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ________ 2010 3995.7 4616.2 4863.2 4963.4 5023.7 5044.5 5064.1 5079.3 5089.5 5094.6 5094.6 2011 3968 4646.6 4869 4982.8 5024.8 5048.4 5068.1 5088.1 5093.4 5098.5 5098.5 2012 4217 4938.6 5181.1 5301.1 5341.9 5366.6 5399.5 5410.2 5415.6 5415.6 2013 4374.2 5103.1 5425.3 5580.2 5642.5 5674.5 5693.8 5710.9 5722.3 572828 2014 4499.7 5310.5 5567.5 5691.3 5755.4 5804.8 5822.25833.8 5839.6 5839.6 2015 4530.2 5253.5 5536.3 5684.8 5798.8 5810.4 5816.2 5816.2 2016 4572.6 5494.6 5803.9 5985.1 6044.2 6073.5 6095.1 6113.4 6125.6 6131.7 6131.7 2017 4680.6 5552.6 5879.4 6042.6 6087.7 6117.2 6139 6157.4 6169.7 6175.9 6175.9 2018 4696.7 5542.6 5842 5989.8 6048.9 6130.4 6136.5 6136.5 2019 4945.9 5812 6126 6281 6343 6373.7 6434.8 6434.8

步骤4:计算总储量。

根据模拟结果计算总储量developmentTriangle

bootstrappedDevelopmentTriangleTable = view(bootstrappedDevelopmentTriangle);bootstrappedIBNR = ultimatecclaims (bootstrappedDevelopmentTriangle) - bootstrappedDevelopmentTriangle. latestdiagonal;bootstrappedIBNR = array2table(bootstrappedIBNR,“RowNames”bootstrappedDevelopmentTriangleTable.Properties.RowNames,“VariableNames”, {“IBNR”});bootstrappedIBNR {“总”,1} = sum(bootstrappedIBNR{:,:});disp (bootstrappedIBNR);
IBNR ______ 2010 0 2011 5.0881 2012 16.188 2013 34.197 2014 55.485 2015 83.048 2016 146.61 2017 296.45 2018 593.94 2019 1489合计2720

您可以多次重复上述步骤,以生成完整的、模拟的储量分布。模拟计算出每年的储量和总储量。

模拟多个引导场景

创建1000引导开发三角形并计算每个三角形的已发生但未报告(IBNR)developmentTriangle

N = 1000;simulatedIBNR = 0 (10,n);i = 1:n模拟残差=残差;J = 1:高度(残差)-1k = 1:width(residuals)-j+1 simulatedResiduals(j,k) = datasample(residuals(~isnan(residuals)),1);结束结束simulatedClaims = dtriangtable . variables;j = 2:width(simulatedClaims) simulatedClaims(:,j) = currentSelectedFactors(1,j-1).*simulatedClaims(:,j-1) + estimatedstandarddeviation (1,j-1).*sqrt(simulatedClaims(:,j-1)).*simulatedResiduals(:,j-1);结束simulatedClaims =重塑(simulatedClaims',100,1);simulatedClaims = simulatedClaims(~isnan(simulatedClaims));simulatedData =数据;simulatedData。报告索赔=模拟索赔;simulatedDevelopmentTriangle = developmentTriangle(simulatedData);simulatedAverageFactorsTable = linkratio平均数(simulatedDevelopmentTriangle);simulatedDevelopmentTriangle。SelectedLinkRatio = simulatedAverageFactorsTable{成交量加权平均的,:};simulatedDevelopmentTriangle。TailFactor = 1;simulatedLatestDiagonal = simulatedDevelopmentTriangle.LatestDiagonal;simulatedProjectedUltimateClaims = ultimateClaims(simulatedDevelopmentTriangle);simulatedIBNR(:,i) = simulatedProjectedUltimateClaims - simulatedLatestDiagonal;结束simulatedIBNR(end+1,:) = sum(simulatedIBNR);

选择一年绘制IBNR的分布,计算平均值,并将平均值与计算出的确定性值进行比较。

originYear =5;直方图(simulatedIBNR (originYear + 1,:));持有;情节(意思是(simulatedIBNR (originYear + 1,:)), 0,“O”“线宽”2)图(IBNR {originYear + 1, 1}, 0,“X”“线宽”2);传奇(“模拟IBNR”, (“模拟平均数:”num2str(圆(意思是(simulatedIBNR (originYear + 1,:)), 2))), (“确定性IBNR:”num2str(圆(IBNR {originYear + 1, 1}, 2))));持有

图中包含一个轴对象。坐标轴对象包含直方图、直线类型的3个对象。这些对象代表模拟IBNR,模拟平均值:88.91,确定性IBNR: 88.15。

绘制IBNRs、模拟平均值和确定性值的总和的直方图。

:直方图(simulatedIBNR(11日));持有;:情节(平均(simulatedIBNR(11日)),0,“O”“线宽”2)图(IBNR{11日1},0,“X”“线宽”2);传奇(“模拟总IBNR”, (“模拟平均数:”num2str(圆(意思是(simulatedIBNR(11日:)),2))),(“确定性总IBNR:”num2str(圆(IBNR{11日1},2))));持有

图中包含一个轴对象。坐标轴对象包含直方图、直线类型的3个对象。这些对象代表模拟总IBNR,模拟平均值:2785.98,确定性总IBNR: 2784.57。

参考文献

  1. Wüthrich, Mario和Michael Merz。保险中的随机赔款预留方法。霍博肯,新泽西州:威利,2008年

  2. 麦克,托马斯。链梯储量估算标准误差的无分布计算。奥斯汀公告。1993年第23卷第2期

另请参阅

||||||||||||

相关的话题

Baidu
map