主要内容

没有模型分布信息的预期不足(ES)回测工作流

这个例子展示了预期的缺陷(ES)回测工作流和ES回测工具的使用。的esbacktest类支持两种测试——无条件正常测试和无条件测试t——这是基于Acerbi-Szekely的无条件测试统计数据(也称为Acerbi-Szekely二次测试)。这些测试对无条件测试统计量使用预模拟的临界值,对正态分布假设为正态分布t3个自由度的分布t的情况。

步骤1。加载ES回测数据。

使用ESBacktestData.mat文件将数据加载到工作区中。此示例使用返回数字数组。这个数组表示股本回报率,VaRModel1VaRModel2,VaRModel3,以及相应的VaR数据在97.5%的置信水平,由三个不同的模型生成。预期短缺数据包含在ESModel1ESModel2,ESModel3.本例中用于生成预期短缺数据的三个模型分布是正常的(模型1),t具有10个自由度(模型2),和t具有5个自由度(模型3)。然而,这个分布信息在本例中不需要,因为esbacktest对象不需要它。

负载(“ESBacktestData”)谁
名称大小字节类属性数据1966x13 223945时间表日期1966x1 15728 datetime ESModel1 1966x1 15728 double ESModel2 1966x1 15728 double ESModel3 1966x1 15728 double Returns 1966x1 15728 double VaRLevel 1x1 8 double VaRModel1 1966x1 15728 double VaRModel2 1966x1 15728 double VaRModel3 1966x1 15728 double

步骤2。生成ES回测图。

使用情节函数来可视化ES回测数据。这种类型的可视化是执行ES回测分析时常见的第一步。仅为了说明的目的,请将特定模型的收益连同VaR和ES可视化。

结果显示,1997年、1998年和2000年出现了一些较大的违规情况。1996年违反规定的绝对数量看来较少,但是,相对于该期间的波动,违反规定的情况也很严重。对于无条件测试,违反的大小和违反的数量会产生差异,因为测试统计数据在预期失败次数。如果期望的数量很小,但有几个违规,测试的有效严重程度就更大。2002年是一个小而多的VaR失败的年份。

图;情节(日期、返回日期,-VaRModel1、日期、-ESModel1)传说(“返回”“VaR”“西文”)标题(“测试数据,模型1,VaR水平95%”网格)

图中包含一个axes对象。标题为Test Data,模型1,VaR级别95%的轴对象包含3个类型为line的对象。这些对象表示Returns, VaR, ES。

步骤3。创建一个esbacktest对象。

创建一个esbacktest对象使用esbacktest

负载ESBacktestDataebt = esbacktest(返回,[VaRModel1 VaRModel2 VaRModel3],[ESModel1 ESModel2 ESModel3],...“PortfolioID”“标普”“VaRID”,[“Model1”“Model2”“Model3”),“VaRLevel”VaRLevel)
ebt = esbacktest with properties: PortfolioData: [1966x1 double] VaRData: [1966x3 double] ESData: [1966x3 double] PortfolioID: "S&P" VaRID: ["Model1" "Model2" "Model3"] VaRLevel: [0.9750 0.9750 0.9750]

步骤4。生成ES总结报告。

生成ES总结报告。的ObservedSeverity列显示了当VaR被违反时,损失与VaR的平均比率。的ExpectedSeverity列显示了VaR违规期的ES与VaR的平均比率。

S =汇总(ebt);disp (S)
PortfolioID VaRID VaRLevel ObservedLevel ExpectedSeverity ObservedSeverity观察故障预计比失踪  ___________ ________ ________ _____________ ________________ ________________ ____________ ________ ________ ______ _______ " 标普”“Model1”57 49.15 - 1.1597 0.975 0.97101 1.1928 1.4221 1966 0”标普”“Model2“1.119 49.15 0.975 0.97202 1.2652 1.4134 1966 55 0“标普”“Model3”1.119 49.15 0.975 0.97202 1.37 1.4146 1966 55 0

第5步。运行所有测试的报告。

运行所有测试并仅生成关于接受或拒绝结果的报告。

T =运行测试(ebt);disp (t)
PortfolioID VaRID VaRLevel UnconditionalNormal UnconditionalT  ___________ ________ ________ ___________________ ______________ " 标普”“Model1”0.975拒绝拒绝“标普”“Model2“0.975拒绝接受“标普”“Model3“0.975接受接受

步骤6。执行无条件正常测试。

为无条件正常测试运行单个测试。

t = unconditionalNormal(ebt);disp (t)
TestLevel PortfolioID VaRID VaRLevel UnconditionalNormal PValue TestStatistic CriticalValue观察  ___________ ________ ________ ___________________ _________ _____________ _____________ ____________ _________ " 标普”“Model1“拒绝1966 0.0054099 -0.38265 -0.2403 0.975 0.95”标普”“Model2“拒绝1966 0.044967 -0.25011 -0.2403 0.975 0.95”标普Model3”接受0.149 -0.15551 -0.2403 0.975 0.95 1966

步骤7。运行无条件的t测试。

为无条件条件运行单独的测试t测试。

t = unconditionalT(ebt);disp (t)
TestLevel PortfolioID VaRID VaRLevel UnconditionalT PValue TestStatistic CriticalValue观察  ___________ ________ ________ ______________ ________ _____________ _____________ ____________ _________ " 标普”“Model1“拒绝1966 0.018566 -0.38265 -0.28242 0.975 0.95”标普”“Model2“0.975接受0.073292 -0.25011 -0.28242 1966 0.95”标普Model3”接受0.17932 -0.15551 -0.28242 0.975 0.95 1966

步骤8。为特定的年份运行ES回测。

选择特定的日历年,并仅通过创建esbacktest对象,并只传递感兴趣的数据。

年= 1996年;Ind = year(日期)== year;PortID = [“标普”,num2str(年)];PortfolioData = Returns(Ind);VaRData = [VaRModel1(Ind) VaRModel2(Ind) VaRModel3(Ind)];ESData = [ESModel1(Ind) ESModel2(Ind) ESModel3(Ind)];ebt = esbacktest(PortfolioData,VaRData,ESData,...“PortfolioID”PortID,“VaRID”,[“Model1”“Model2”“Model3”),“VaRLevel”, VaRLevel);disp(光大通信)
[262x1 double] VaRData: [262x3 double] ESData: [262x3 double] PortfolioID: "S&P, 1996" VaRID: ["Model1" "Model2" "Model3"] VaRLevel: [0.9750 0.9750 0.9750]
Tt =运行测试(ebt);disp (tt)
PortfolioID VaRID VaRLevel UnconditionalNormal UnconditionalT  ___________ ________ ________ ___________________ ______________ " 标普1996”“Model1“0.975拒绝拒绝”标准普尔,1996年“Model2“0.975拒绝拒绝”标准普尔,1996“Model3 0.975拒绝接受

另请参阅

||||

相关的例子

更多关于

Baidu
map