主要内容

风险价值评估和回溯测试

这个例子展示了如何使用三种方法评估风险价值(VaR),并执行VaR回溯测试分析。这三种方法是:

  1. 正态分布

  2. 历史模拟

  3. 指数加权移动平均

风险价值是一种将投资组合的风险水平量化的统计方法。VaR衡量的是在特定的时间范围内和给定的置信水平上的最大损失。

回溯测试衡量VaR计算的准确性。使用VaR方法,计算损失预测,然后在第二天结束时与实际损失进行比较。预测损失与实际损失的差异程度表明VaR模型是低估了风险还是高估了风险。因此,回溯测试对数据进行回顾性分析,有助于评估VaR模型。

本例中使用的三种估计方法在95%和99%的置信水平上估计VaR。

加载数据并定义测试窗口

加载数据。本例中使用的数据来自标准普尔指数从1993年到2003年的时间序列回报。

负载VaRExampleData.mat回报= tick2ret (sp);DateReturns =日期(2:结束);SampleSize =长度(回报);

将估计窗口定义为250个交易日。测试窗口从1996年的第一天开始,一直运行到样本的末尾。

TestWindowStart =发现(1996年(DateReturns) = = 1);TestWindow = TestWindowStart: SampleSize;EstimationWindowSize = 250;

对于95%和99%的VaR置信水平,设置VaR水平的补充。

pVaR = [0.05 0.01];

这些值意味着,所招致的损失最多有5%和1%的概率将大于最大阈值(即大于VaR)。

使用正态分布方法计算VaR

对于正态分布法,假设投资组合的损益是正态分布的。利用这个假设,通过乘以来计算VaRz-分数,在每个置信水平由回报的标准差。由于VaR回溯测试是追溯数据,“今天”的VaR是根据上一时期的回报值计算的N= 250天之后,但不包括“今天”。

Zscore = norminv (pVaR);Normal95 = 0(长度(TestWindow), 1);Normal99 = 0(长度(TestWindow), 1);t = TestWindow i = t - TestWindowStart + 1;EstimationWindow = t-EstimationWindowSize: t - 1;σ=性病(返回(EstimationWindow));Normal95 (i) = -Zscore(1) *σ;Normal99 (i) = -Zscore(2)σ*;结束图;情节(DateReturns (TestWindow), [Normal95 Normal99])包含(“日期”) ylabel (“VaR”)({传奇95%置信水平的,99%置信水平的},“位置”,“最佳”)标题(“使用正态分布法进行VaR估计”

图中包含一个轴对象。标题为VaR Estimation Using The Normal Distribution Method的轴对象包含两个类型为line的对象。这些对象表示95%置信水平,99%置信水平。

正态分布方法也被称为参数VaR,因为它的估计涉及到计算回报标准差的参数。正态分布方法的优点是简单。然而,正态分布法的缺点是假设收益是正态分布的。正态分布方法的另一个名称是方差-协方差方法。

使用历史模拟方法计算VaR

与正态分布方法不同,历史模拟是一种非参数方法。它没有假设资产回报的特定分布。历史模拟通过假设过去的损益可以作为下一时期收益的损益分配来预测风险。“今天”的VaR被计算为p最后的th分位数N“今天”之前的回报。

Historical95 = 0(长度(TestWindow), 1);Historical99 = 0(长度(TestWindow), 1);t = TestWindow i = t - TestWindowStart + 1;EstimationWindow = t-EstimationWindowSize: t - 1;X =回报(EstimationWindow);Historical95 (i) =分位数(X, pVaR (1));Historical99 (i) =分位数(X, pVaR (2));结束图;情节(DateReturns (TestWindow), [Historical95 Historical99]) ylabel (“VaR”)包含(“日期”)({传奇95%置信水平的,99%置信水平的},“位置”,“最佳”)标题(“利用历史模拟法估算VaR”

图中包含一个轴对象。标题为VaR Estimation Using The Historical Simulation Method的轴对象包含两个类型为line的对象。这些对象表示95%置信水平,99%置信水平。

由上图可知,历史模拟曲线具有分段不变的剖面。这样做的原因是,在极端事件发生之前,分位数在数天内不会改变。因此,历史模拟方法对波动率的变化反应缓慢。

使用指数加权移动平均法(EWMA)计算VaR

前两个VaR方法假设所有过去的收益具有相同的权重。指数加权移动平均法(EWMA)赋予非等权,特别是指数递减权。最近的回报有更高的权重,因为它们对“今天”回报的影响比过去更大。一个大小估计窗口上的EWMA方差公式 W E 是:

σ ˆ t 2 1 c 1 W E λ - 1 y t - 2

在哪里 c 是一个标准化常数:

c 1 W E λ - 1 1 - λ W E 1 - λ 1 1 - λ 一个 年代 W E

为方便起见,我们假设有一个无限大的估计窗口来近似方差:

σ ˆ t 2 1 - λ y t - 1 2 + 2 λ - 1 y t - 2 1 - λ y t - 1 2 + λ σ ˆ t - 1 2

实际中常用的衰减系数为0.94。这是本例中使用的值。有关更多信息,请参阅参考资料。

启动EWMA使用一个热身阶段来设置标准偏差。

λ= 0.94;Sigma2 = 0(长度(回报),1);Sigma2(1) =返回(1)^ 2;i = 2: (TestWindowStart-1) Sigma2(i) = (1-Lambda) * Returns(i-1)^2 + Lambda * Sigma2(i-1);结束

使用测试窗口中的EWMA来估计VaR。

Zscore = norminv (pVaR);EWMA95 = 0(长度(TestWindow), 1);EWMA99 = 0(长度(TestWindow), 1);t = TestWindow k = t - TestWindowStart + 1;Sigma2(t) = (1-Lambda) * Returns(t-1)^2 + Lambda * Sigma2(t-1);σ=√Sigma2 (t));EWMA95 (k) = -Zscore(1) *σ;EWMA99 (k) = -Zscore(2)σ*;结束图;情节(DateReturns (TestWindow), [EWMA95 EWMA99]) ylabel (“VaR”)包含(“日期”)({传奇95%置信水平的,99%置信水平的},“位置”,“最佳”)标题(“使用EWMA方法估算VaR”

图中包含一个轴对象。带有标题VaR Estimation Using The EWMA Method的轴对象包含2个类型为line的对象。这些对象表示95%置信水平,99%置信水平。

在前面的图中,EWMA对大(或小)回报时期的反应非常快。

VaR val

在这个例子的第一部分,VaR被估计在测试窗口用三种不同的方法和在两个不同的VaR置信水平。VaR回溯测试的目的是评估VaR模型的绩效。一个95%置信的VaR估计只有大约5%的时间被违反,并且VaR失败不会聚集。VaR失效的聚类表明在时间上缺乏独立性,因为VaR模型对变化的市场条件反应缓慢。

VaR回溯测试分析中常见的第一步是把回报和VaR估计画在一起。在95%置信水平上绘制所有三种方法,并将它们与回报进行比较。

ReturnsTest =回报(TestWindow);日期= DateReturns (TestWindow);图;[ReturnsTest -Normal95 -Historical95 -EWMA95]) ylabel(“VaR”)包含(“日期”)({传奇“返回”,“正常”,“历史”,“EWMA”},“位置”,“最佳”)标题(“不同模型的收益率和95% VaR比较”

图中包含一个轴对象。标题为“不同模型的回报和VaR比较95%”的axis对象包含4个类型为line的对象。这些对象代表Returns, Normal, Historical, EWMA。

为了突出不同的方法如何对不断变化的市场条件做出不同的反应,你可以放大在回报价值发生巨大而突然变化的时间序列。例如,1998年8月左右:

ZoomInd = (DatesTest >= datetime(1998,8,5)) & (DatesTest <= datetime(1998,10,31));VaRData = [-Normal95(ZoomInd) -Historical95(ZoomInd) -EWMA95(ZoomInd)];VaRFormat = {“- - -”,“——”,“-”。};D =日期(ZoomInd);R = ReturnsTest (ZoomInd);N = Normal95 (ZoomInd);H = Historical95 (ZoomInd);E = EWMA95 (ZoomInd);IndN95 = (R < -N);IndHS95 = (R < -H);IndEWMA95 = (R < -E);图; bar(D,R,0.5,“FaceColor”[0.7 0.7 0.7]);持有i = 1: size(VaRData,2) stairs(D-0.5,VaRData(:,i),VaRFormat{i});结束ylabel (“VaR”)包含(“日期”)({传奇“返回”,“正常”,“历史”,“EWMA”},“位置”,“最佳”,“自动更新”,“关闭”)标题(“不同模型的95% VaR违规”) ax = gca;斧子。ColorOrderIndex = 1;情节(D (IndN95) - n (IndN95),“o”D (IndHS95) - h (IndHS95),“o”,...D (IndEWMA95) - e (IndEWMA95),“o”,“MarkerSize”8“线宽”xlim([D(1)-1, D(end)+1]) hold . (

图中包含一个轴对象。不同模型的标题为95% VaR违规的轴对象包含7个类型为bar, stair, line的对象。这些对象代表Returns, Normal, Historical, EWMA。

当回报率为负时,风险价值失效或违反风险价值就会发生。如果仔细观察8月27日至8月31日期间的情况,就会发现回报率显著下降。在8月27日以后的日子里,EWMA更密切、更准确地跟踪收益的趋势。因此,与正态分布方法(7(7)违规,蓝色星星)或历史模拟方法(8(8)违规,红色方块)相比,EWMA有更少的VaR违规(2(2)违规,黄色菱形)。

除了可视化工具,您还可以使用统计测试进行VaR回溯测试。在风险管理工具箱™,avarbacktest对象支持VaR万博1manbetx回溯测试分析的多个统计测试。在本例中,首先比较正态分布方法在95%和99% VaR水平上的不同测试结果。

vbt = varbacktest(ReturnsTest,[Normal95 Normal99],“PortfolioID”,“标普”,“VaRID”,...“Normal95”,“Normal99”},“VaRLevel”[0.95 - 0.99]);总结(vbt)
ans =表2×10PortfolioID VaRID VaRLevel ObservedLevel观察故障预计比FirstFailure失踪  ___________ __________ ________ _____________ ____________ ________ ________ ______ ____________ _______ " 标普”“Normal95“0.95 0.94863 98.3 - 1.0275 1966 101 7 0”标普Normal99”0.99 0.98372 1966 32 19.66 - 1.6277 7 0

摘要报告显示,观测水平与定义的VaR水平足够接近。95%和99%的VaR水平最多(1-VaR_level) xN预期的失败,N为观察次数。故障率表明Normal95VaR水平在范围内,而Normal99VaR水平是不精确的,低估了风险。运行中支持的所有测试万博1manbetxvarbacktest,使用runtests

runtests (vbt)
ans =2×11表PortfolioID VaRID VaRLevel TL Bin POF TUFF CC CCI TBF TBFI ___________ __________ ________ ______ ______ ______ ______ ______ ______ ______ ______“标普”“Normal95”0.95绿色接受接受接受拒绝拒绝拒绝“标普”“Normal99”0.99黄色拒绝拒绝接受拒绝接受拒绝拒绝拒绝拒绝

95% VaR通过频率测试,如交通灯、二项式和故障比例测试(tl,箱子,pof列)。99%的VaR没有通过这些相同的测试,正如黄色的拒绝结果。在条件覆盖独立性和失败之间的时间独立性(ccitbfi列)。这一结果表明,风险价值违反不是独立的,在短时间内可能有多个失败的时期。而且,一次失败可能会使其他失败更有可能在接下来的日子里接踵而至。有关测试方法和结果解释的更多信息,请参见varbacktest以及个别测试。

使用一个varbacktest对象,在两个VaR置信水平上对三种方法的投资组合运行相同的测试。

vbt = varbacktest(ReturnsTest,[Normal95 Historical95 EWMA95 Normal99 Historical99 . vbt = varbacktest(ReturnsTest,[Normal95 Historical95...EWMA99),“PortfolioID”,“标普”,“VaRID”, {“Normal95”,“Historical95”,“EWMA95”,...“Normal99”,“Historical99”,“EWMA99”},“VaRLevel”,[0.95 0.95 0.95 0.99 0.99 0.99]);runtests (vbt)
ans =6×11表转发PortfolioID VaRID VaRLevel TL本POF凝灰岩CC CCI延长TBFI  ___________ ______________ ________ ______ ______ ______ ______ ______ ______ ______ ______ " 标普”“Normal95”0.95绿色接受接受接受接受拒绝拒绝拒绝“标普”“Historical95“0.95黄色接受接受接受接受接受拒绝拒绝“标普”“EWMA95“0.95绿色接受接受标准普尔“Normal99”0.99黄色拒绝拒绝接受拒绝拒绝接受拒绝拒绝标准普尔“Historical99”0.99黄色拒绝拒绝接受拒绝拒绝接受拒绝拒绝标准普尔“EWMA99”0.99红色拒绝拒绝接受拒绝拒绝

结果与之前的结果相似,在95%的水平上,频率结果一般是可以接受的。然而,在99%水平的频率结果通常是拒绝。关于独立性,大多数测试都通过条件覆盖独立性测试(cci),在连续的几天里测试独立与否。请注意,所有测试都会失败,失败独立测试之间的时间间隔(tbfi),它考虑了所有失败之间的时间间隔。这一结果表明,所有的方法都存在独立性假设的问题。

为了更好地理解这些结果是如何在给定的市场条件下变化的,请查看2000年和2002年的95% VaR置信水平。

Ind2000 =(年份(日期est) == 2000);vbt2000 = varbacktest(ReturnsTest(Ind2000),[Normal95(Ind2000) Historical95(Ind2000) EWMA95(Ind2000)],...“PortfolioID”,“标普2000”,“VaRID”, {“正常”,“历史”,“EWMA”});runtests (vbt2000)
ans =3×11表portfolio VaRID VaRLevel TL Bin POF TUFF CC CCI TBF TBFI ___________ ____________ ________ ___________ ____________ ____________ ____________ "S&P, 2000" "Normal" 0.95 green accept accept accept accept accept accept "S&P, 2000" "Historical" 0.95 green accept accept accept accept accept accept "S&P, 2000"2000" "EWMA" 0.95 green accept accept accept accept accept accept接受
Ind2002 =(年份(日期est) == 2002);vbt2002 = varbacktest(ReturnsTest(Ind2002),[Normal95(Ind2002) Historical95(Ind2002) EWMA95(Ind2002)],...“PortfolioID”,“标普2002”,“VaRID”, {“正常”,“历史”,“EWMA”});runtests (vbt2002)
ans =3×11表portfolio VaRID VaRLevel TL Bin POF TUFF CC CCI TBF TBFI ___________ ____________ ________ ____________ ____________ ____________ ____________ "标准普尔,2002" "正常" 0.95黄色拒绝拒绝拒绝拒绝拒绝拒绝拒绝拒绝"标准普尔,2002" "历史" 0.95黄色拒绝接受接受拒绝拒绝拒绝拒绝拒绝"标准普尔,2002"2002" " "EWMA" 0.95绿色接受接受接受拒绝拒绝拒绝

在2000年,这三种方法都通过了所有的测试。然而,对于2002年,测试结果大多是所有方法的拒绝。EWMA方法在2002年的表现似乎更好,但所有方法都没有通过独立测试。

要更深入地了解独立测试,请查看条件覆盖独立性(cci)和故障独立间隔时间(tbfi)二零零二年的考试详情。要访问所有测试的测试详细信息,请运行各个测试函数。

cci (vbt2002)
ans =表3×13PortfolioID VaRID VaRLevel CCI LRatioCCI PValueCCI观察故障N00 N10 N01 N11 TestLevel  ___________ ____________ ________ ______ _________ _________ ____________ ________ ___ ___ ___ ___ _________ " 标普2002”“正常”0.95拒绝12.591 0.0003877 0.95 261 21 225 14 14 7“标普、2002" "Historical" 0.95 reject 6.3051 0.012039 261 20 225 15 15 5 0.95 "标准普尔,2002" "EWMA" 0.95 reject 4.6253 0.031504 261 14 235 11 11 3 0.95

在CCI测试中,概率p01失败的可能性t,知道没有失败的时候t-1是

p 0 1 N 0 1 N 0 1 + N 0 0

的概率p11失败的可能性t,知道有失败的时候t-1是

p 1 1 N 1 1 N 1 1 + N 1 0

N00,N10,N01,N11列中,值为p01是在5%左右的三种方法,但值p11都在20%以上。因为有证据表明,一个失败之后会出现另一个失败的频率远远超过5%,所以这个CCI测试失败了。

在失效之间的时间独立性测试中,在列中查看失效之间时间分布的最小值、最大值和四分位数TBFMin,TBFQ1,TBFQ2,TBFQ3,TBFMax

tbfi (vbt2002)
ans =表3×14PortfolioID VaRID VaRLevel TBFI LRatioTBFI PValueTBFI观察故障TBFMin TBFQ1 TBFQ2 TBFQ3 TBFMax TestLevel  ___________ ____________ ________ ______ __________ __________ ____________ ________ ______ _____ _____ _____ ______ _________ " 标普2002”“正常”0.95拒绝53.936 - 0.00010087 261 21 1 1 5 17 48 0.95”标普、2002" "Historical" 0.95 reject 45.274 0.0010127 261 20 1 1.5 5.5 17 48 0.95 "标准普尔,2002" "EWMA" 0.95 reject 25.756 0.027796 261 14 14 7.5 20 48 0.95

对于95%的VaR水平,您预计平均故障间隔时间为20天,或每20天发生一次故障。然而,2002年三种方法的失败间隔时间的中位数在5到7.5之间。这一结果表明,有一半的时间,连续两次故障发生在5到7天内,比预期的20天要频繁得多。因此,会发生更多的测试失败。对于常规方法,第一个四分位数是1,这意味着25%的故障发生在连续的日子里。

参考文献

Nieppola, O。val风险价值模型。赫尔辛基经济学院,2009。

Danielsson J。财务风险预测:市场风险预测的理论与实践,在R和MATLAB®中实现。威利金融,2012。

另请参阅

||||||||||

相关的例子

更多关于