主要内容

预期缺口估计和val

这个例子展示了如何执行预期的估计和val缺口模型。

风险价值(VaR)和预期缺口(ES)必须估计在一起因为ES估计取决于VaR估计。本例使用历史数据,估计VaR和ES测试窗口,使用历史和参数VaR方法。假设下的参数计算VaR的正常<年代pan class="emphasis">t分布。

这个例子的ES测试支持金宝appesbacktest,esbacktestbysim,esbacktestbyde功能评估ES模型的性能在测试窗口。

esbacktest对象不需要任何分布信息。就像varbacktest对象,esbacktest对象只需要测试数据作为输入。的输入esbacktest包括投资组合数据,VaR数据和相应的VaR级别,以及西文数据,因为这就是测试。就像varbacktest,esbacktest运行测试一个投资组合,但可以测试多个模型和多个VaR的水平。的esbacktest对象使用预先计算的关键值来确定模型的表应该被拒绝。这些表格的测试可以应用作为任何VaR模型近似测试。在这个例子中,他们应用于测试历史和参数VaR模型。它们可以用于其他VaR方法如蒙特卡罗或极值模型。

相比之下,esbacktestbysimesbacktestbyde对象需要分布信息,即分配名称(正常的或<年代pan class="emphasis">t每天)和分布参数在测试窗口。esbacktestbysimesbacktestbyde一次只能测试一个模型,因为他们是与一个特定的分布,虽然你仍然可以恢复测试多个VaR的水平。的esbacktestbysim对象实现仿真测试和使用提供的分布信息进行了模拟,以确定关键值。的esbacktestbyde对象实现测试的关键值是来自大样本近似或模拟(有限样本)。的conditionalDE测试的esbacktestbyde对象为独立测试,以评估是否有自相关的一系列尾损失的证据。所有其他测试是测试评估严重性如果尾损失的大小与模型预测是一致的。这两个esbacktestbysimesbacktestbyde对象支持正常和金宝app<年代pan class="emphasis">t分布。这些测试可以用于任何模型,投资组合的潜在分布的结果是正常的<年代pan class="emphasis">t,如指数加权移动平均(EWMA),δγ或广义自回归条件异方差性(GARCH)模型。

附加信息的ES val方法,明白了esbacktest,esbacktestbysim,esbacktestbyde,也看到1]、[2]、[3]和[5)的引用。

估计VaR和ES

在本例中使用的数据集包含标普指数的历史数据生成大约10年,从1993年中期到2003年中期。估计窗口大小的定义是250天,这一整年的数据被用来估计的历史VaR和波动。test窗口在这个例子从1995年初到2002年底。

在这个例子中,使用VaR置信水平为97.5%,基本的要求审查交易账户(FRTB)监管;参见[4]。

负载<年代pan style="color:#A020F0">VaRExampleData.mat回报= tick2ret (sp);DateReturns =日期(2:结束);SampleSize =长度(回报);TestWindowStart =发现(1995年(DateReturns) = = 1);TestWindowEnd =发现(2002年(DateReturns) = = 1,<年代pan style="color:#A020F0">“最后一次”);TestWindow = TestWindowStart: TestWindowEnd;EstimationWindowSize = 250;日期= DateReturns (TestWindow);ReturnsTest =回报(TestWindow);VaRLevel = 0.975;

历史VaR估计的非参数方法VaR和ES从历史数据估计窗口。VaR是百分位,有替代方法来估计的百分比根据有限样本分布。一个常见的方法是使用prctile函数。另一种方法是对数据进行排序,确定切割点基于样本大小和VaR的信心水平。同样,有替代的方法来估计基于有限样本。

hHistoricalVaRES本地函数在底部的这个例子使用VaR估计的有限样本的方法和ES中描述的方法(7]。在有限样本,观察在VaR的数量可能不匹配相对应的总尾数概率VaR的水平。例如,对于100年观察和VaR水平的97.5%,尾观测是2,这是2%的样本,但是所需的尾数概率是2.5%。它可能更糟和样品重复观测值,例如,如果第二个和第三个排序值是相同的,都等于VaR,只有最小的观测值样本值小于VaR, 1%的样本,不期望的2.5%。实现的方法hHistoricalVaRES进行修正,这样尾概率总是符合VaR水平;参见[7详情)。

VaR_Hist = 0(长度(TestWindow), 1);ES_Hist = 0(长度(TestWindow), 1);<年代pan style="color:#0000FF">为我= t - t = TestWindow TestWindowStart + 1;EstimationWindow = t-EstimationWindowSize: t - 1;[VaR_Hist(我),ES_Hist (i)) = hHistoricalVaRES(返回(EstimationWindow), VaRLevel);<年代pan style="color:#0000FF">结束

下面的图显示了每日的回报,和历史的VaR和ES估计方法。

图;-VaR_Hist ReturnsTest情节(日期,日期,日期,-ES_Hist)传说(<年代pan style="color:#A020F0">“返回”,<年代pan style="color:#A020F0">“VaR”,<年代pan style="color:#A020F0">“西文”,<年代pan style="color:#A020F0">“位置”,<年代pan style="color:#A020F0">“东南”)标题(<年代pan style="color:#A020F0">“历史VaR和ES”网格)<年代pan style="color:#A020F0">在

图包含一个坐标轴对象。坐标轴对象标题历史VaR和ES包含3线类型的对象。这些对象代表回报,VaR, ES。

参数的模型,必须计算收益的波动性。鉴于波动、VaR和ES可以计算分析。

零的意思是假设在这个例子中,但可以以类似的方式估计。

正态分布,估计波动率是直接使用VaR和ES。为<年代pan class="emphasis">tlocation-scale分布,参数估计的计算规模波动和自由度。

hNormalVaREShTVaRES当地函数作为输入参数分布(这可以通过数组),并返回VaR和ES。这些本地函数使用VaR的解析表达式,对正常和ES<年代pan class="emphasis">t分别location-scale分布;参见[6详情)。

%估计波动在test窗口波动率= 0(长度(TestWindow), 1);<年代pan style="color:#0000FF">为我= t - t = TestWindow TestWindowStart + 1;EstimationWindow = t-EstimationWindowSize: t - 1;波动(i) =性病(返回(EstimationWindow));<年代pan style="color:#0000FF">结束在本例中%μ= 0μ= 0;<年代pan style="color:#228B22">%为正态分布=σ(标准偏差参数)的波动SigmaNormal =波动;<年代pan style="color:#228B22">%σ(尺度参数)t分布=波动* sqrt ((DoF-2) /景深)SigmaT10 =波动*√(10)/ 10);SigmaT5 =波动*√(5 - 2)/ 5);<年代pan style="color:#228B22">%估计VaR和ES,正常[VaR_Normal, ES_Normal] = hNormalVaRES(μ,SigmaNormal, VaRLevel);<年代pan style="color:#228B22">%估计VaR和ES, t和10 5自由度[VaR_T10, ES_T10] = hTVaRES(10μSigmaT10 VaRLevel);[VaR_T5, ES_T5] = hTVaRES(5μSigmaT5 VaRLevel);

下面的图显示了每日的回报,和正常的VaR和ES估计方法。

图;-VaR_Normal ReturnsTest情节(日期,日期,日期,-ES_Normal)传说(<年代pan style="color:#A020F0">“返回”,<年代pan style="color:#A020F0">“VaR”,<年代pan style="color:#A020F0">“西文”,<年代pan style="color:#A020F0">“位置”,<年代pan style="color:#A020F0">“东南”)标题(<年代pan style="color:#A020F0">“正常的VaR和ES”网格)<年代pan style="color:#A020F0">在

图包含一个坐标轴对象。坐标轴对象标题正常VaR和ES包含3线类型的对象。这些对象代表回报,VaR, ES。

参数的方法,同样的步骤可以用来估计VaR和ES的替代方法,如EWMA,δγ近似,GARCH模型。在所有这些参数方法,波动率估计每一天,要么从EWMA更新,从δγ近似,或条件波动性的GARCH模型。上面的波动可以用作VaR和ES为正常或估计<年代pan class="emphasis">tlocation-scale分布。

ES val没有分布信息

esbacktest对象提供了两种测试ES模型。两个测试都使用提出的无条件的检验统计量Acerbi和Szekely [1),由

Z uncond = 1 Np VaR t = 1 N X t t 西文 t + 1

在哪里

  • N 是时间的数量在测试窗口。

  • X t 是投资组合的结果,即投资组合回报率或组合损益期吗<年代pan class="emphasis">t。

  • p VaR 是VaR失败的概率定义为1-VaR水平。

  • 西文 t 估计预期短缺期间吗<年代pan class="emphasis">t。

  • t VaR故障指示器时期吗<年代pan class="emphasis">t值为1<年代pan class="inlineequation"> X t < - - - - - - VaR t ,否则和0。

检验统计量的预期值是0,这是负的,当有证据表明风险低估。确定-它应该拒绝模型,关键值是必须的,并确定关键值,分配假设需要组合的结果<年代pan class="inlineequation"> X t

无条件的检验统计量是稳定的分布假设<年代pan class="inlineequation"> X t 等瘦尾分布正常,重尾分布等<年代pan class="emphasis">t较低的自由度(高个位数)。只有最重尾分布<年代pan class="emphasis">t分布(低个位数)导致更多的明显差异的关键值。参见[1详情)。

esbacktest对象利用无条件稳定的关键值的检验统计量,并使用预先计算的关键值的表运行ES重新测试。esbacktest有两套相互表。第一组关键值假设组合的结果<年代pan class="inlineequation"> X t 遵循一个标准正态分布;这是unconditionalNormal测试。第二组关键值使用了最大可能的反面,它假设组合的结果<年代pan class="inlineequation"> X t 遵循一个<年代pan class="emphasis">t分布和3自由度;这是unconditionalT测试。

无条件的测试数据是敏感的严重性VaR失败相对于西文估计,以及VaR失败的数量(VaR是违反了多少次)。因此,单一但非常大的VaR失败相对于ES(或只有很少的巨额亏损)可能会导致模型的拒绝在一个特定的时间窗口。一大损失一天的ES估计也很大可能不会影响测试结果ES时尽可能大的损失小。和一个模型也可以拒绝与许多在VaR失败,即使所有的VaR违反相对较小,仅略高于VaR。这两种情况下都在这个例子。

esbacktest对象作为输入测试数据,但是没有提供分布信息esbacktest。可选地,您可以指定ID的投资组合,并为每个val的VaR和ES模型。虽然在这个例子中有模型ID的分布引用(例如,“正常”“t 10”),这些只是标签用于报告目的。测试不使用的第一个模型是一个历史的VaR方法,或其他模型的替代参数VaR模型。分布参数估计使用VaR和ES在前一节中不通过esbacktest,也不应以任何方式使用本节。然而,这些参数必须提供基于仿真的测试支持金宝appesbacktestbysim讨论的对象基于仿真的测试部分,和测试支持金宝appesbacktestbyde讨论的对象大样本和仿真测试部分。

光大通信= esbacktest (ReturnsTest [VaR_Hist VaR_Normal VaR_T10 VaR_T5),<年代pan style="color:#0000FF">…[ES_Hist ES_Normal ES_T10 ES_T5),<年代pan style="color:#A020F0">“PortfolioID”,<年代pan style="color:#A020F0">“标准普尔,1995 - 2002”,<年代pan style="color:#0000FF">…“VaRID”,(<年代pan style="color:#A020F0">“历史”“正常”,<年代pan style="color:#A020F0">“T 10”,<年代pan style="color:#A020F0">“T 5”),<年代pan style="color:#A020F0">“VaRLevel”,VaRLevel);disp(光大通信)
esbacktest属性:PortfolioData: x1双[2087]VaRData: [2087 x4双]ESData: [2087 x4双]PortfolioID:“标普,1995 - 2002”VaRID:[“历史”“正常”的“T 10”“T 5”] VaRLevel: [0.9750 0.9750 0.9750 0.9750]

通过运行启动分析总结函数。

s =总结(光大通信);disp (s)
PortfolioID VaRID VaRLevel ObservedLevel ExpectedSeverity ObservedSeverity观察故障预计比失踪___________ _______ ________ _________________ ___________,___________ _______说______ ____“标普,1995 - 2002”“历史”0.975 0.96694 1.3711 1.4039 52.175 - 1.3225 2087 69 0“标普,1995 - 2002”“正常”0.975 - 0.97077 1.1928 - 1.416 52.175 - 1.1691 2087 61 0“标普,1995 - 2002”“T”10 0 1.1308 52.175 0.975 0.97173 1.2652 1.4063 2087 59“标普,1995 - 2002”“T 5”1.1308 52.175 0.975 0.97173 1.37 1.4075 2087 59 0

ObservedSeverity列显示的平均损失比VaR在VaR侵犯。的ExpectedSeverity列使用ES的平均比率为VaR VaR违反时期。为“历史”“T 5”模型,观察到的和预期的严重性相媲美。但是,对于“历史”方法,观察到的故障(失败列)明显高于预期的失败(预期列),高出约32%(参见列)。这两个“正常”“T 10”模型已经观察到的严重性远远高于预期的清规戒律。

图;次要情节(2,1,1)栏(分类(s.VaRID), [s.ExpectedSeverity s.ObservedSeverity]) ylim(1.5[1])传说(<年代pan style="color:#A020F0">“预期”,<年代pan style="color:#A020F0">“观察”,<年代pan style="color:#A020F0">“位置”,<年代pan style="color:#A020F0">“东南”)标题(<年代pan style="color:#A020F0">的平均程度比次要情节(2,1,2)酒吧(分类(s.VaRID), [s.Expected s.Failures]) ylim(40[70])传说(<年代pan style="color:#A020F0">“预期”,<年代pan style="color:#A020F0">“观察”,<年代pan style="color:#A020F0">“位置”,<年代pan style="color:#A020F0">“东南”)标题(<年代pan style="color:#A020F0">VaR失败的数量)

图包含2轴对象。坐标轴对象1与标题严重程度比平均含2对象类型的酒吧。这些对象是预期,观察。坐标轴对象2标题的VaR失败包含2对象类型的酒吧。这些对象是预期,观察。

runtests函数运行所有的测试和报告只接受或拒绝的结果。无条件的正常测试更为严格。8年测试窗口,两个模型失败测试(“历史”“正常”),一个模型没有无条件的正常测试,但通过无条件的t测试(“T 10”),和一个模型通过测试(“T 5”)。

t = runtests(光大通信);disp (t)
PortfolioID VaRID VaRLevel UnconditionalNormal UnconditionalT ___________ _______ ________ ___________________是_____________“标普,1995 - 2002”“历史”0.975拒绝拒绝“标普,1995 - 2002”“正常”0.975拒绝拒绝“标普,1995 - 2002”“T 10“0.975拒绝接受“标普,1995 - 2002”“T 5”0.975接受接受

可以获得额外的细节测试通过调用单独的测试函数。这里的细节unconditionalNormal测试。

t = unconditionalNormal(光大通信);disp (t)
PortfolioID VaRID VaRLevel UnconditionalNormal PValue TestStatistic CriticalValue观察TestLevel ___________ _______ ________ ___________________ _______ _____ _____ _________________ _________________公司“标普,1995 - 2002”“历史”拒绝2087 0.0047612 -0.37917 -0.23338 0.975 0.95”标准普尔,1995 - 2002”“正常”拒绝2087 0.0043287 -0.38798 -0.23338 0.975 0.95”标准普尔,1995 - 2002”“T 10”拒绝0.037528 -0.2569 -0.23338 0.975 2087 0.95”标准普尔,1995 - 2002”“T 5”接受0.975 0.13069 -0.16179 -0.23338 0.95 2087

这里的细节unconditionalT测试。

t = unconditionalT(光大通信);disp (t)
PortfolioID VaRID VaRLevel UnconditionalT PValue TestStatistic CriticalValue观察TestLevel ___________ _______ ________ ________ * * * _________________ _________________ _______ _____“标普,1995 - 2002”“历史”拒绝2087 0.017032 -0.37917 -0.27415 0.975 0.95”标准普尔,1995 - 2002”“正常”拒绝2087 0.015375 -0.38798 -0.27415 0.975 0.95”标准普尔,1995 - 2002”“T 10”接受0.975 0.062835 -0.2569 -0.27415 2087 0.95”标准普尔,1995 - 2002”“T 5”接受0.975 0.16414 -0.16179 -0.27415 0.95 2087

使用更先进的测试分析

本节将展示如何使用esbacktest对象定义的红绿灯运行测试,以及如何在滚动测试windows运行测试。

定义一个红绿灯测试的一种方法是通过结合的结果无条件的正常的和无条件的<年代pan class="emphasis">t测试。因为无条件的正常更严格,可以定义一个红绿灯的测试与这些级别:

  • 格林:模型通过无条件的正常的和无条件的<年代pan class="emphasis">t测试。

  • 黄色:模型不能无条件的正常测试,但通过无条件的<年代pan class="emphasis">t测试。

  • 红色:模型是被无条件的正常的和无条件的<年代pan class="emphasis">t测试。

t = runtests(光大通信);TLValue = (t.UnconditionalNormal = =<年代pan style="color:#A020F0">“拒绝”)+ (t.UnconditionalT = =<年代pan style="color:#A020F0">“拒绝”);t。TrafficLight =分类(TLValue 0:2, {<年代pan style="color:#A020F0">“绿色”,<年代pan style="color:#A020F0">“黄色”,<年代pan style="color:#A020F0">“红色”},<年代pan style="color:#A020F0">“顺序”,真正的);disp (t)
PortfolioID VaRID VaRLevel UnconditionalNormal UnconditionalT TrafficLight ___________ _______ ________, _______ ___________________ * * *“标普,1995 - 2002”“历史”0.975拒绝拒绝红色“标普,1995 - 2002”“正常”0.975拒绝拒绝红色“标普,1995 - 2002”“T 10“0.975拒绝接受黄色的“标准普尔,1995 - 2002”“T 5”0.975接受接受绿色

另一个用户定义的红绿灯测试可以使用一个简单的测试,但在不同的测试的信心水平:

  • 格林:结果是“接受的测试水平的95%。

  • 黄色:结果是“拒绝”在95%的测试级别,但是“接受“在99%。

  • 红色:结果是“拒绝”在99%的测试水平。

提出了一个相似的测试(1)测试水平高99.99%。

t95 = runtests(光大通信);<年代pan style="color:#228B22">% 95%是默认的测试水平值t99 = runtests(光大通信,<年代pan style="color:#A020F0">“TestLevel”,0.99);TLValue = (t95.UnconditionalNormal = =<年代pan style="color:#A020F0">“拒绝”)+ (t99.UnconditionalNormal = =<年代pan style="color:#A020F0">“拒绝”);恶意破坏= t95 (:, 1:3);恶意破坏。UnconditionalNormal95 = t95.UnconditionalNormal;恶意破坏。UnconditionalNormal99 = t99.UnconditionalNormal;恶意破坏。TrafficLight =分类(TLValue 0:2, {<年代pan style="color:#A020F0">“绿色”,<年代pan style="color:#A020F0">“黄色”,<年代pan style="color:#A020F0">“红色”},<年代pan style="color:#A020F0">“顺序”,真正的);disp(旋转)
PortfolioID VaRID VaRLevel UnconditionalNormal95 UnconditionalNormal99 TrafficLight ___________ _______ ________ _____________________ _____________________ _______“标普,1995 - 2002”“历史”0.975拒绝拒绝红色“标普,1995 - 2002”“正常”0.975拒绝拒绝红色“标普,1995 - 2002”“T 10“0.975拒绝接受黄色的“标准普尔,1995 - 2002”“T 5”0.975接受接受绿色

测试结果可能是不同的在不同的测试窗口。这里,一年的滚动窗口用于八个人多年运行ES回来测试由原来的张成测试窗口。第一个用户定义的红绿灯上面描述添加到测试结果表。的总结函数也称为每年为每个视图的历史严重程度和VaR失败的数量。

sRolling =表;恶意破坏=表;<年代pan style="color:#0000FF">为年复一年= 1995:2002印第安纳= = =(日期);PortID = [<年代pan style="color:#A020F0">“标普”,num2str(年)];PortfolioData = ReturnsTest(印第安纳州);VaRData = [VaR_Hist(印第安纳州)VaR_Normal(印第安纳州)VaR_T10(印第安纳州)VaR_T5(印第安纳州)];ESData = [ES_Hist(印第安纳州)ES_Normal(印第安纳州)ES_T10(印第安纳州)ES_T5(印第安纳州)];光大通信= esbacktest (PortfolioData VaRData ESData,<年代pan style="color:#0000FF">…“PortfolioID”PortID,<年代pan style="color:#A020F0">“VaRID”,(<年代pan style="color:#A020F0">“历史”“正常”“T 10”“T 5”),<年代pan style="color:#0000FF">…“VaRLevel”,VaRLevel);<年代pan style="color:#0000FF">如果1995年= = sRolling =总结(光大通信);恶意破坏= runtests(光大通信);<年代pan style="color:#0000FF">其他的sRolling = [sRolling;总结(光大通信)];<年代pan style="color:#228B22">% #好< AGROW >恶意破坏=[恶意破坏;runtests(光大通信)];<年代pan style="color:#228B22">% #好< AGROW >结束结束%可选:添加第一个用户定义的红绿灯上面描述的测试TLValue = (tRolling.UnconditionalNormal = =<年代pan style="color:#A020F0">“拒绝”)+ (tRolling.UnconditionalT = =<年代pan style="color:#A020F0">“拒绝”);恶意破坏。TrafficLight =分类(TLValue 0:2, {<年代pan style="color:#A020F0">“绿色”,<年代pan style="color:#A020F0">“黄色”,<年代pan style="color:#A020F0">“红色”},<年代pan style="color:#A020F0">“顺序”,真正的);

显示结果,一次一个模型。的“T 5”模型在这些测试(两个最佳的性能“黄色”),“正常”模型最严重(3“红“和一个“黄”)。

disp(恶意破坏(tRolling.VaRID = =<年代pan style="color:#A020F0">“历史”:))
PortfolioID VaRID VaRLevel UnconditionalNormal UnconditionalT TrafficLight ___________ _______ ________ _______ ___________________ * * *“标普1995”“历史”0.975接受接受绿色”标普1996”“历史”0.975拒绝接受黄色“标普1997”“历史”0.975拒绝拒绝红色“标普1998”“历史”0.975接受接受绿色”标普1999”“历史”0.975接受接受绿色”标普2000”“历史”0.975接受接受绿色”标普2001”“历史”0.975接受接受绿色”标普2002”“历史”0.975拒绝拒绝红色
disp(恶意破坏(tRolling.VaRID = =<年代pan style="color:#A020F0">“正常”:))
PortfolioID VaRID VaRLevel UnconditionalNormal UnconditionalT TrafficLight ___________说_______ ___________________ * * *“标普1995”“正常”0.975接受接受绿色”标普1996”“正常”0.975拒绝拒绝红色“标普1997”“正常”0.975拒绝拒绝红色“标普1998”“正常”0.975拒绝接受黄色“标普1999”“正常”0.975接受接受绿色”标普2000”“正常”0.975接受接受绿色”标普2001”“正常”0.975接受接受绿色”标普2002”“正常”0.975拒绝拒绝红色
disp(恶意破坏(tRolling.VaRID = =<年代pan style="color:#A020F0">“T 10”:))
PortfolioID VaRID VaRLevel UnconditionalNormal UnconditionalT TrafficLight ___________ ______月______ _______ ___________________ * * *“标普1995”“T 10“0.975接受接受绿色”标普1996”“T 10“0.975拒绝拒绝红色“标普1997”“T 10“0.975拒绝接受黄色“标普1998”“T 10“0.975接受接受绿色”标普1999”“T 10“0.975接受接受绿色”标普2000”“T 10“0.975接受接受绿色”标普2001”“T 10“0.975接受接受绿色”标普2002”“T 10“0.975拒绝拒绝红色
disp(恶意破坏(tRolling.VaRID = =<年代pan style="color:#A020F0">“T 5”:))
PortfolioID VaRID VaRLevel UnconditionalNormal UnconditionalT TrafficLight ___________ _____ ________ _______ ___________________ * * *“标普1995”“T 5”0.975接受接受绿色”标普1996”0.975“T 5”拒绝接受黄色“标普1997”“T 5”0.975接受接受绿色”标普1998”“T 5”0.975接受接受绿色”标普1999”“T 5”0.975接受接受绿色”标普2000”“T 5”0.975接受接受绿色”标普2001”“T 5”0.975接受接受绿色”标普2002”0.975“T 5”拒绝接受黄色

一年的2002年是一个相对较小的清规戒律,但许多VaR失败。所有模型在2002年表现不佳,即使观察到严重程度很低。然而,VaR失败对于一些模型预计的两倍多的VaR失败。

disp(总结(光大通信))
PortfolioID VaRID VaRLevel ObservedLevel ExpectedSeverity ObservedSeverity观察故障预计比失踪_______ ________ _________________ ___________ ___________,___________ _______说______ ____“标普2002”“历史”14 6.525 - 2.1456 0.975 0.94636 1.2022 1.2 261 0“标普2002”“正常”14 6.525 - 2.1456 0.975 0.94636 1.1928 1.2111 261 0“标普2002”“T 10”1.9923 6.525 0.975 0.95019 1.2652 1.2066 261 13 0“标普2002”“T 5”1.9923 6.525 0.975 0.95019 1.37 1.2077 261 13 0

下面的图显示了整个8窗口的数据,和严重性比率逐年(预期,观察到)“历史”模型。损失的绝对规模是真正重要的相对大小与ES(或等价,VaR)相比。1997年和1998年巨额亏损,可比在大小。然而1998年预期的严重程度要高得多(大ES估计)。总的来说,“历史”方法似乎对严重程度比率。

sH = sRolling (sRolling.VaRID = =<年代pan style="color:#A020F0">“历史”:);图;次要情节(2,1,1)FailureInd = ReturnsTest < -VaR_Hist;-VaR_Hist ReturnsTest情节(日期,日期,日期,-ES_Hist)<年代pan style="color:#A020F0">在情节(日期(FailureInd) ReturnsTest (FailureInd),<年代pan style="color:#A020F0">“。”)举行<年代pan style="color:#A020F0">从传奇(<年代pan style="color:#A020F0">“返回”,<年代pan style="color:#A020F0">“VaR”,<年代pan style="color:#A020F0">“西文”,<年代pan style="color:#A020F0">“位置”,<年代pan style="color:#A020F0">“最佳”)标题(<年代pan style="color:#A020F0">“历史VaR和ES”网格)<年代pan style="color:#A020F0">在次要情节(2,1,2)栏(1995:2002,[sH.ExpectedSeverity sH.ObservedSeverity]) ylim(1.8[1])传说(<年代pan style="color:#A020F0">“预期”,<年代pan style="color:#A020F0">“观察”,<年代pan style="color:#A020F0">“位置”,<年代pan style="color:#A020F0">“最佳”)标题(<年代pan style="color:#A020F0">“每年的平均程度比、历史VaR”)

图包含2轴对象。坐标轴对象1标题历史VaR和ES包含4线类型的对象。一个或多个行显示的值只使用这些对象标记代表回报,VaR, ES。坐标轴对象2标题每年平均程度比,历史VaR包含2对象类型的酒吧。这些对象是预期,观察。

然而,类似的可视化与VaR的预期对观察值故障显示“历史”方法往往违反了比预期更多次。例如,即使在2002年预期的平均程度比非常接近观察到一个VaR失败的数量是预计的两倍多。这将导致测试失败的无条件的正常的和无条件的<年代pan class="emphasis">t测试。

图;次要情节(2,1,1)情节(日期,日期,ReturnsTest -VaR_Hist,日期,-ES_Hist)<年代pan style="color:#A020F0">在情节(日期(FailureInd) ReturnsTest (FailureInd),<年代pan style="color:#A020F0">“。”)举行<年代pan style="color:#A020F0">从传奇(<年代pan style="color:#A020F0">“返回”,<年代pan style="color:#A020F0">“VaR”,<年代pan style="color:#A020F0">“西文”,<年代pan style="color:#A020F0">“位置”,<年代pan style="color:#A020F0">“最佳”)标题(<年代pan style="color:#A020F0">“历史VaR和ES”网格)<年代pan style="color:#A020F0">在次要情节(2,1,2)栏(1995:2002,[sH.Expected sH.Failures])传说(<年代pan style="color:#A020F0">“预期”,<年代pan style="color:#A020F0">“观察”,<年代pan style="color:#A020F0">“位置”,<年代pan style="color:#A020F0">“最佳”)标题(<年代pan style="color:#A020F0">“年度VaR失败,历史VaR”)

图包含2轴对象。坐标轴对象1标题历史VaR和ES包含4线类型的对象。一个或多个行显示的值只使用这些对象标记代表回报,VaR, ES。坐标轴对象2标题每年VaR失败,历史VaR包含2对象类型的酒吧。这些对象是预期,观察。

基于仿真的测试<年代pan id="mw_rtc_ExpectedShortfallBacktestingExample_H_5D7F0B9F" class="anchor_target">

esbacktestbysim五个基于仿真的金宝app对象支持测试。esbacktestbysim需要组合结果的分布信息,即分配名称(“正常”“t”每天)和分布参数在测试窗口。esbacktestbysim使用提供的分布信息来运行模拟来确定临界值。测试的支持金宝appesbacktestbysim有条件的,无条件的,分位数,minBiasAbsolute,minBiasRelative。这些都是实现Acerbi和Szekely[提出的测试1),(2]、[32017年和2019年。

esbacktestbysim对象支持正常和金宝app<年代pan class="emphasis">t分布。这些测试可以用于任何模型,投资组合的潜在分布的结果是正常的<年代pan class="emphasis">t,如指数加权移动平均(EWMA),δγ或广义自回归条件异方差性(GARCH)模型。

ES val必然是近似在他们敏感的错误预测VaR。然而,最小偏置测试只有一个小敏感VaR错误和灵敏度是谨慎的,在这个意义上,VaR错误导致更具惩罚性的ES测试。看到Acerbi-Szekely ([2]、[32017年和2019年)。当分布信息是可用的,最低限度有偏见的测试建议(见minBiasAbsolute,minBiasRelative)。

“正常”,“T 10”,“T 5”模型可以val的仿真测试esbacktestbysim。出于演示目的,只有“T 5”是,val。名称(分布“t”)和参数(自由度、位置和规模)时提供esbacktestbysim创建对象。

rng (<年代pan style="color:#A020F0">“默认”);<年代pan style="color:#228B22">%的再现性;esbacktestbysim构造函数运行一个模拟世界中本系统= esbacktestbysim (ReturnsTest VaR_T5 ES_T5,<年代pan style="color:#A020F0">“t”,<年代pan style="color:#A020F0">“DegreesOfFreedom”5,<年代pan style="color:#0000FF">…“位置”亩,<年代pan style="color:#A020F0">“规模”SigmaT5,<年代pan style="color:#0000FF">…“PortfolioID”,<年代pan style="color:#A020F0">“标普”,<年代pan style="color:#A020F0">“VaRID”,<年代pan style="color:#A020F0">“T 5”,<年代pan style="color:#A020F0">“VaRLevel”,VaRLevel);

推荐的工作流程是一样的:首先,运行总结函数,然后运行runtests函数,然后运行单个测试功能。

总结函数提供了同样的信息总结函数esbacktest

s =总结(于);disp (s)
PortfolioID VaRID VaRLevel ObservedLevel ExpectedSeverity ObservedSeverity观察故障预计比失踪___________ _____ ________ _________________ ___________ ___________ _______说______ ____“标普”“T 5”0.975 0.97173 1.37 1.4075 2087 59 52.175 - 1.1308 0

runtests函数显示了最终的接受或拒绝的结果。

t = runtests(于);disp (t)
无条件PortfolioID VaRID VaRLevel条件分位数MinBiasAbsolute MinBiasRelative ___________ _____ ________ ___________ _________________ ________售予售予“标普”“T 5”0.975接受接受接受接受接受

测试结果得到的额外细节通过调用每个测试函数。例如,调用minBiasAbsolute测试。第一个输出,t测试结果和其他细节如假定值,测试统计,等等。第二个输出,年代,包含模拟测试统计值假设分布的假设是正确的。例如,esbacktestbysim生成1000场景的组合结果在这种情况下,每个场景是一系列2087观察模拟<年代pan class="emphasis">t随机变量与5自由度和给定的位置和尺度参数。模拟值返回的可选的年代输出显示典型值的检验统计量分布的假设是正确的。这些模拟数据用于确定测试的意义,也就是说,重要的价值观和报道<年代pan class="emphasis">p值。

(t, s) = minBiasAbsolute(于);disp (t)
PortfolioID VaRID VaRLevel MinBiasAbsolute PValue TestStatistic CriticalValue观测场景TestLevel ___________ _____ ________售予______ _________________ _________________ _______替“标普”“T 5”接受0.975 0.299 -0.00080059 -0.0030373 0.95 2087 1000
谁<年代pan style="color:#A020F0">年代
类属性名称大小字节8000 x1000双

选择一个测试的测试结果和可视化测试的重要性。柱状图显示分布的模拟测试数据,和星号显示了实际检验统计量的值组合的回报。

ESTestChoice =<年代pan class="live_control_container">“MinBiasAbsolute”;<年代pan style="color:#0000FF">开关ESTestChoice<年代pan style="color:#0000FF">情况下“MinBiasAbsolute”(t, s) = minBiasAbsolute(于);<年代pan style="color:#0000FF">情况下“MinBiasRelative”(t, s) = minBiasRelative(于);<年代pan style="color:#0000FF">情况下“条件”(t, s) =条件(于);<年代pan style="color:#0000FF">情况下“无条件的”(t, s) =无条件(于);<年代pan style="color:#0000FF">情况下分位数的(t, s) =分位数(于);<年代pan style="color:#0000FF">结束disp (t)
PortfolioID VaRID VaRLevel MinBiasAbsolute PValue TestStatistic CriticalValue观测场景TestLevel ___________ _____ ________售予______ _________________ _________________ _______替“标普”“T 5”接受0.975 0.299 -0.00080059 -0.0030373 0.95 2087 1000
图;柱状图(s);持有<年代pan style="color:#A020F0">在;情节(t.TestStatistic 0<年代pan style="color:#A020F0">‘*’);持有<年代pan style="color:#A020F0">从;标题= sprintf (<年代pan style="color:#A020F0">' % s: % s,假定值:% 4.3 f ',t.VaRID ESTestChoice t.PValue);标题(标题)

图包含一个坐标轴对象。坐标轴对象标题MinBiasAbsolute: T 5,假定值:0.299包含2直方图类型的对象,线。一个或多个行显示的值只使用标记

无条件的测试统计报告esbacktestbysim是一模一样的无条件的测试统计报告的esbacktest。然而,报告的关键值esbacktestbysim基于模拟使用吗<年代pan class="emphasis">t5自由度和给定的分布位置和尺度参数。的esbacktest对象给出了近似的测试结果“T 5”特定的模型,而这里的结果分布信息。同时,为有条件的独立的测试,这是一个可视化条件测试(ConditionalOnly结果在上面的表中)。最后条件测试结果(有条件的列)还取决于初步VaR val (VaRTestResult列)。

“T 5”模型是被五个测试。

esbacktestbysim对象提供了一个模拟函数运行一个新的模拟。例如,如果有一个临界测试结果的测试数据是在临界值附近,你可能会使用模拟函数来模拟新场景。在需要更多的精度的情况下,一个更大的模拟运行。

esbacktestbysim测试可以运行在一个滚动窗口,按照上述同样的方法esbacktest。用户定义的红绿灯测试也可以被定义,例如,使用两个不同的测试的信心水平,类似于前面所作的esbacktest

大样本和仿真测试<年代pan id="mw_rtc_ExpectedShortfallBacktestingExample_H_C18C9020" class="anchor_target">

esbacktestbyde对象支持两种E金宝appS回来测试关键值的确定与大样本近似或模拟(有限样本)。esbacktestbyde需要组合结果的分布信息,即分配名称(“正常”“t”每天)和分布参数在测试窗口。它不需要的VaR西文数据。esbacktestbyde使用提供的分布信息组合的结果映射到“排名”,也就是说,应用累积分布函数将返回映射到值单位间隔,定义的测试统计数据。esbacktestbyde可以通过使用一个大样本近似确定临界值或有限样本模拟。

测试的支持金宝appesbacktestbydeconditionalDEunconditionalDE。这些测试的实现提出的Du和Escanciano [3]。的unconditionalDE测试,所有的测试之前讨论的这个例子是严重性评估测试,如果尾损失的大小与模型预测是一致的。的conditionalDE测试,然而,随着时间的推移是独立的测试,评估是否存在自相关的一系列尾损失的证据。

esbacktestbyde对象支持正常和金宝app<年代pan class="emphasis">t分布。这些测试可以用于任何模型,投资组合的潜在分布的结果是正常的<年代pan class="emphasis">t,如指数加权移动平均(EWMA),δγ或广义自回归条件异方差性(GARCH)模型。

“正常”,“T 10”,“T 5”模型可以val测试esbacktestbyde。出于演示目的,只有“T 5”是,val。名称(分布“t”)和参数(DegreesOfFreedom,位置,规模时提供)esbacktestbyde创建对象。

rng (<年代pan style="color:#A020F0">“默认”);<年代pan style="color:#228B22">%的再现性;esbacktestbyde构造函数运行一个模拟世界中ebtde = esbacktestbyde (ReturnsTest,<年代pan style="color:#A020F0">“t”,<年代pan style="color:#A020F0">“DegreesOfFreedom”5,<年代pan style="color:#0000FF">…“位置”亩,<年代pan style="color:#A020F0">“规模”SigmaT5,<年代pan style="color:#0000FF">…“PortfolioID”,<年代pan style="color:#A020F0">“标普”,<年代pan style="color:#A020F0">“VaRID”,<年代pan style="color:#A020F0">“T 5”,<年代pan style="color:#A020F0">“VaRLevel”,VaRLevel);

推荐的工作流程是一样的:首先,运行总结函数,然后运行runtests函数,然后运行单个测试功能。的总结函数提供了同样的信息总结函数esbacktest

s =总结(ebtde);disp (s)
PortfolioID VaRID VaRLevel ObservedLevel ExpectedSeverity ObservedSeverity观察故障预计比失踪___________ _____ ________ _________________ ___________ ___________ _______说______ ____“标普”“T 5”0.975 0.97173 1.37 1.4075 2087 59 52.175 - 1.1308 0

runtests函数显示了最终的接受或拒绝的结果。

t = runtests (ebtde);disp (t)
PortfolioID VaRID VaRLevel ConditionalDE UnconditionalDE ___________ _____ ________ _________________售予“标普”“T 5”0.975拒绝接受

测试结果得到的额外细节通过调用每个测试函数。

t = conditionalDE (ebtde);disp (t)
PortfolioID VaRID VaRLevel ConditionalDE PValue TestStatistic CriticalValue自相关观测CriticalValueMethod NumLags场景TestLevel ___________ _____ ________ _________________ __________ _________________ _________________售予_______ ___________________ _________替“标普”“T 5”拒绝0.00034769 12.794 3.8415 0.975 0.95 0.078297 2087“大样本”1南

默认情况下,关键的值是由一个大样本近似。关键值根据有限样本分布估计通过使用仿真可用时使用“CriticalValueMethod”可选名称-值对的论点。

(t, s) = conditionalDE (ebtde,<年代pan style="color:#A020F0">“CriticalValueMethod”,<年代pan style="color:#A020F0">“模拟”);disp (t)
PortfolioID VaRID VaRLevel ConditionalDE PValue TestStatistic CriticalValue自相关观测CriticalValueMethod NumLags场景TestLevel ___________ _____ ________ _________________ ______ _________________ _________________售予_______ ___________________ _________替“标普”“T 5”拒绝0.01 12.794 3.7961 0.078297 2087 0.975 1000 0.95“模拟”

第二个输出,年代,包含了模拟测试统计值。下面的可视化是比较有用的模拟的有限样本的分布与大样本近似匹配。情节显示测试数据的分布的尾部略重的仿真(有限样本)分布。这意味着基于仿真的版本的测试更加宽容,不会拒绝在一些情况下,大样本近似结果拒绝。大样本和仿真分布的匹配程度不仅取决于数量的观察在测试窗口,而且还在VaR置信水平(VaR水平较高导致在有限样本重尾分布)。

xLS = 0:0.05:30;pdfLS = chi2pdf (xLS, t.NumLags);直方图(年代,<年代pan style="color:#A020F0">“归一化”,<年代pan style="color:#A020F0">“pdf”)举行<年代pan style="color:#A020F0">在情节(xLS, pdfLS)<年代pan style="color:#A020F0">从ylim(0.1[0])传说({<年代pan style="color:#A020F0">“模拟”,<年代pan style="color:#A020F0">“大样本”})标题= sprintf (<年代pan style="color:#A020F0">“有条件测试分布\据nVaR水平:% % %,样本大小= % d 'VaRLevel * 100, t.Observations);标题(标题)

图包含一个坐标轴对象。坐标轴对象与标题条件测试分布VaR水平:97.5%,样本大小= 2087包含2直方图类型的对象,线。这些对象代表模拟、大样本。

类似的措施可以看到细节unconditionalDE测试和比较基于大样本和仿真结果。

esbacktestbyde对象提供了一个模拟函数运行一个新的模拟。例如,如果有一个临界测试结果的测试数据是在临界值附近,你可以使用模拟函数来模拟新场景。同时,默认情况下,模拟存储结果5落后的条件测试,所以如果基于仿真的结果需要更多的滞后,你必须使用模拟函数。

如果大样本近似测试是唯一的测试需要,因为他们是可靠的特定样本大小和VaR水平,当创建一个可以关闭模拟esbacktestbyde通过使用对象“模拟”可选的输入。

esbacktestbyde测试可以运行在一个滚动窗口,按照上述同样的方法esbacktest。您还可以定义红绿灯测试,例如,你可以使用两个不同的测试的信心水平,类似于前面所作的esbacktest

结论

对比三个ES val对象:

  • esbacktest对象是用于广泛分布的假设:历史VaR,参数VaR,蒙特卡罗VaR,或极值模型。然而,esbacktest提供近似测试结果基于相同的测试的两种变体:无条件的检验统计量的两组不同的预先计算的关键值(unconditionalNormalunconditionalT)。

  • esbacktestbysim用于正常的参数方法和对象<年代pan class="emphasis">t分布(包括EWMA、GARCH和δγ),需要分布参数作为输入。esbacktestbysim提供了五种不同的测试(有条件的,无条件的,分位数,minBiasAbsolute,minBiasRelative和关键值这些测试模拟使用您提供的分布信息,因此,更准确。尽管所有ES val敏感VaR估计错误,最小偏置测试只有一个小的敏感性和建议(有关详细信息,请参阅Acerbi-Szekely 2017年和2019年(2]、[3])。

  • esbacktestbyde对象也可以用于参数方法和正常<年代pan class="emphasis">t分布(包括EWMA、GARCH和δγ),需要分布参数作为输入。esbacktestbyde包含一个严重程度(unconditionalDE)和印度独立(conditionalDE)测试和大样本的方便,快速的版本的测试。的conditionalDE测试是唯一测试独立为ES模型随着时间的推移,在所有这三个类的测试支持。金宝app

如这个例子所示,这三个ES val对象提供功能来生成报告清规戒律,VaR失败,和测试结果信息。三个ES val对象提供灵活地构建。例如,您可以创建用户定义的红绿灯测试和运行ES val分析在滚动窗口。

引用

[1]Acerbi C。,B. Szekely. "Backtesting Expected Shortfall." MSCI Inc., December 2014.

[2]Acerbi C。,B. Szekely. "General Properties of Backtestable Statistics.<年代pan class="emphasis">SSRN电子杂志。2017年1月。

[3]Acerbi C。,B. Szekely. "The Minimally Biased Backtest for ES."<年代pan class="emphasis">风险。2019年9月。

[4]巴塞尔银行监管委员会。市场风险的最低资本要求。January 2016,https://www.bis.org/bcbs/publ/d352.htm

[5]Du, Z。,J. C. Escanciano. "Backtesting Expected Shortfall: Accounting for Tail Risk."<年代pan class="emphasis">管理科学。第63卷,问题4,2017年4月。

麦克内尔[6],A。,R. Frey, and P. Embrechts.<年代pan class="emphasis">定量风险管理:概念、技术和工具。普林斯顿大学出版社,2005年。

[7]Rockafellar, r . t . s . Uryasev。“有条件风险价值一般损失分布。”<年代pan class="emphasis">银行与金融杂志》上。26卷,2002年,页1443 - 1471。

本地函数

函数(VaR, ES) = hHistoricalVaRES(样本,VaRLevel)<年代pan style="color:#228B22">%计算历史VaR和ES%见[7]技术细节%转换为亏损示例=样本;N =长度(样本);k =装天花板(N * VaRLevel);z =排序(样本);VaR = z (k);<年代pan style="color:#0000FF">如果k < N ES = ((k - N * VaRLevel) * z (k) +总和(z (k + 1: N))) / (N * (1 - VaRLevel));<年代pan style="color:#0000FF">其他的ES = z (k);<年代pan style="color:#0000FF">结束结束函数(VaR, ES) = hNormalVaRES(μ、σVaRLevel)<年代pan style="color:#228B22">%计算VaR和ES为正态分布%见[6]技术细节VaR = 1 * (Mu-Sigma * norminv (VaRLevel));ES = 1 * (Mu-Sigma * normpdf (norminv (VaRLevel)。/ (1-VaRLevel));<年代pan style="color:#0000FF">结束函数(VaR, ES) = hTVaRES(景深,μ、σVaRLevel)<年代pan style="color:#228B22">%计算VaR和ES t location-scale分布%见[6]技术细节VaR = 1 * (Mu-Sigma * tinv (VaRLevel景深));ES_StandardT = (tpdf (tinv VaRLevel,景深,景深)。*(景深+ tinv (VaRLevel,景深)。^ 2)。/ ((1-VaRLevel)。* (DoF-1)));ES = 1 * (Mu-Sigma * ES_StandardT);<年代pan style="color:#0000FF">结束

相关的例子

更多关于