varbacktest

创建varbacktest对象来运行一组风险值(VaR)回测

描述

一般工作流程如下:

  1. 加载或生成用于VaR回测分析的数据。

  2. 创建一个varbacktest对象。有关更多信息,请参见创建varbacktest

  3. 使用总结函数为给定的数据生成关于观察次数和故障次数的汇总报告。

  4. 使用runtests函数一次运行所有测试。

  5. 有关更多测试细节,运行以下单项测试:

    • tl-交通灯测试

    • 箱子- 二项测试

    • pof-故障比例

    • 凝灰岩-时间直到第一次失败

    • CC- 条件覆盖混合

    • CCI-有条件覆盖独立性

    • tbf-失败之间的时间混合

    • tbfi-故障间隔时间独立

    有关更多信息,请参见VaR val工作流

创建

描述

vbt= varbacktest (PortfolioDataVARDATA创建一个varbacktestvbt),使用组合的结果数据和对应值高危(VAR)数据对象。该vbt对象具有以下属性:

注意

  • 所需的输入参数为PortfolioDataVARDATA必须在相同的单位。这些论点可以表示为回报或利润和损失。属性中没有验证varbacktest反对这些参数的单位。

  • 如果有缺失的值(为NaNs)在数据中PortfolioDataVARDATA中,数据的行被施加测试之前丢弃。因此,不同的若干意见的报告与不同的缺失值模型。观察所报告的数量等于原来的行数减去缺失值的数量。要确定是否有丢弃行,请使用“失踪”列的总结报告。

vbt= varbacktest (___名称,值属性使用名称-值对和前面语法中的任何参数。例如,VBT = varbacktest(PortfolioData,VARDATA, 'PortfolioID', 'Equity100', 'VARID', 'TotalVaR', 'VaRLevel',99页)。可以将多个名称-值对指定为可选的名称-值对参数。

输入参数

全部展开

投资组合结果数据,指定为aNumRows——- - - - - -1数值数组,NumRows——- - - - - -1表,或NumRows——- - - - - -1包含投资组合结果数据的数字列的时间表。PortfolioData输入设置PortfolioData属性。

注意

所需的输入参数为PortfolioDataVARDATA必须在相同的单位。这些论点可以表示为回报或利润和损失。属性中没有验证varbacktest反对这些参数的单位。

数据类型:|表格|时间表

值高危(VAR)数据,使用指定的NumRows——- - - - - -NumVaRs数值数组,NumRows——- - - - - -NumVaRs表,或NumRows——- - - - - -NumVaRs带有数字列的时间表。VARDATA输入设置VARDATA属性。

如果VARDATA有多于一栏(NumVaRs>1),PortfolioData抵靠于各列测试VARDATA。默认情况下,0.95VaR的置信水平被用于所有列VARDATA。(采用VaRLevel指定不同的VaR的置信水平)。

惯例是VaR是一个正值。因此,当损失(投资组合数据的负值)超过VaR时,即在什么时候记录失败

-PortfolioData> VARDATA

例如,当结果比1,000,000损失更糟糕时(投资组合结果的负数,或损失,大于VaR),就要违反1,000,000(正值)的VaR。

VARDATA值是允许的,但是负的VaR值表明在给定的VaR置信水平下,一个高盈利的投资组合不会亏钱。也就是说,在给定的信心水平上,最坏的情况仍然是盈利。

注意

所需的输入参数为PortfolioDataVARDATA必须在相同的单位。这些论点可以表示为回报或利润和损失。属性中没有验证varbacktest反对这些参数的单位。

数据类型:|表格|时间表

名称 - 值对参数

指定可选的用逗号分隔的对名称,值参数。的名字是参数的名称和价值是对应的值。的名字必须出现在引号内。可以按任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:VBT = varbacktest(PortfolioData,VARDATA, 'PortfolioID', 'Equity100', 'VARID', 'TotalVaR', 'VaRLevel',99页)

用户定义的IDPortfolioData输入,指定为逗号分隔的一对组成的“PortfolioID”和一个字符向量或字符串。该PortfolioID参数设置PortfolioID属性。

如果PortfolioData是一个数值数组,作为默认值PortfolioID“投资组合”。如果PortfolioData是一个表,PortfolioID默认设置为表中相应的变量名。

数据类型:字符|字符串

VaR的标识符VARDATA列,指定为逗号分隔的对,由“VaRID”和一个字符向量或字符串。多VaRIDs是用a指定的1——- - - - - -NumVaRs(要么NumVaRs——- - - - - -1的用户定义id的字符向量或字符串向量的单元数组VARDATA列。该VaRID参数设置VaRID属性。

如果NumVaRs=1的默认值VaRID“风险价值”。如果NumVaRs>1,默认值是'VAR1''VAR2', 等等。如果VARDATA是一个表,“VaRID”默认情况下,设置在表中对应的变量名。

数据类型:字符|细胞|字符串

VaR置信水平,指定由逗号分隔的对组成'VaRLevel'和一个数值01或者一个1——- - - - - -NumVaRs数值数组之间的值01中的对应列VARDATA。该VaRLevel参数设置VaRLevel属性。

数据类型:

属性

全部展开

对投资组合数据进行VaR反测分析,指定为aNumRows——- - - - - -1包含组合数据的副本数字阵列。

数据类型:

对于风险价值回溯测试分析风险价值数据,指定为NumRows——- - - - - -NumVaRs包含变量数据副本的数字数组。

数据类型:

项目组合标识符,指定为字符串。

数据类型:字符串

变量标识符,指定为1——- - - - - -NumVaRs含有的ID的VaR在对应的列字符串数组VARDATA

数据类型:字符串

变量级别,指定为a1——- - - - - -NumVaRs中包含对应列的VaR级别的数字数组VARDATA

数据类型:

varbacktest财产 设置或使用从命令行修改属性varbacktest 使用点符号修改属性
PortfolioData 是的 没有
VARDATA 是的 没有
PortfolioID 是的 是的
VaRID 是的 是的
VaRLevel 是的 是的

对象函数

tl 交通灯试验值高危(VAR)回测
箱子 风险价值(VaR)的二项检验
pof 风险值(VaR)反测的失败测试比例
凝灰岩 风险值(VaR)回测第一次失败测试的时间
CC 有条件的覆盖混合测试值下的风险价值(VaR)的回测
CCI 风险价值(VaR)的条件复盖独立测试
tbf 故障间隔时间风险值(VaR)的混合测试
tbfi 故障间隔时间风险值(VaR)的独立测试
总结 在varbacktest数据报告
runtests 运行所有测试varbacktest

例子

全部收缩

varbacktest接受投资组合结果数据和相应的风险价值(VaR)数据,并返回avarbacktest对象。

创建一个varbacktest对象。

加载VaRBacktestDatavbt = varbacktest (EquityIndex Normal95)
VBT = varbacktest与属性:PortfolioData:[1043x1双] VARDATA:[1043x1双] PortfolioID: “组合” VARID: “VAR” VaRLevel:0.9500

vbt中,varbacktest对象,包含给定投资组合数据的副本(PortfolioData属性),所述给定数据的VaR(VARDATA属性),以及要测试的投资组合ID、VaR ID和VaR级别的所有组合(PortfolioIDVaRID,VaRLevel属性)。

使用。运行测试vbt对象。

runtests (vbt)
ans =1×11表转发PortfolioID VaRID VaRLevel TL本POF凝灰岩CC CCI延长TBFI ___________ _____ ________专攻交交交“投资组合”“VaR”0.95绿色接受接受接受接受接受拒绝拒绝

改变PortfolfioIDVaRID使用点符号的属性。

vbt.PortfolioID =“标普”
VBT = varbacktest与属性:PortfolioData:[1043x1双] VARDATA:[1043x1双] PortfolioID: “S&P” VARID: “VAR” VaRLevel:0.9500
vbt。VaRID =“正常的95%”
VaRData: [1043x1 double] VaRData: [1043x1 double] PortfolioID: "S&P" var: "Normal at 95%" VaRLevel: 0.9500

使用更新的运行所有测试varbacktest对象。

runtests (vbt)
ans =1×11表转发PortfolioID VaRID VaRLevel TL本POF凝灰岩CC CCI延长TBFI ___________售予________专攻交交交“标普”“正常的”在95% 0.95绿色接受接受接受接受接受拒绝拒绝

创建一个varbacktest对象。

加载VaRBacktestDatavbt = varbacktest (EquityIndex Normal95)
VBT = varbacktest与属性:PortfolioData:[1043x1双] VARDATA:[1043x1双] PortfolioID: “组合” VARID: “VAR” VaRLevel:0.9500

vbt中,varbacktest对象,包含给定投资组合数据的副本(PortfolioData属性),所述给定数据的VaR(VARDATA属性),以及要测试的投资组合ID、VaR ID和VaR级别的所有组合(PortfolioIDVaRID,VaRLevel属性)。

使用。运行测试varbacktest对象。

runtests (vbt)
ans =1×11表转发PortfolioID VaRID VaRLevel TL本POF凝灰岩CC CCI延长TBFI ___________ _____ ________专攻交交交“投资组合”“VaR”0.95绿色接受接受接受接受接受拒绝拒绝

改变PortfolfioIDVaRID使用点符号的属性。

vbt.PortfolioID =“标普”
VBT = varbacktest与属性:PortfolioData:[1043x1双] VARDATA:[1043x1双] PortfolioID: “S&P” VARID: “VAR” VaRLevel:0.9500
vbt。VaRID =“正常的95%”
VaRData: [1043x1 double] VaRData: [1043x1 double] PortfolioID: "S&P" var: "Normal at 95%" VaRLevel: 0.9500

使用更新的运行所有测试varbacktest对象。

runtests (vbt)
ans =1×11表转发PortfolioID VaRID VaRLevel TL本POF凝灰岩CC CCI延长TBFI ___________售予________专攻交交交“标普”“正常的”在95% 0.95绿色接受接受接受接受接受拒绝拒绝

创建一个varbacktest对象,该对象具有多个具有不同置信级别的VaR标识符。

加载VaRBacktestDatavbt = varbacktest (EquityIndex,[Normal95 Normal99 Historical95 Historical99 EWMA95 EWMA99],“PortfolioID”“股票”“VaRID”,{“Normal95”“Normal99”'Historical95'“Historical99”'EWMA95'“EWMA99”},'VaRLevel',[0.95 0.99 0.95 0.99 0.99 0.99]);

运行。的摘要报告varbacktest对象。

总结(vbt)
ans =6×10表PortfolioID VaRID VaRLevel ObservedLevel观察故障预计比FirstFailure ________ _________________失踪……* * * _______说______ _______ ____“股本”“Normal95”57 52.15 - 1.093 0.95 - 0.94535 1043 58 0“股本”“Normal99”17 10.43 - 1.6299 0.99 - 0.9837 1043 173 0“股本”“Historical95”0.95 0.94343 1043 59 52.15 - 1.1314 55 0“股本”“Historical99”0.99 - 0.98849 1043 12 10.43 1.1505 173 0“股本”“EWMA95”52.15 0.95 0.94343 1043 591.1314 0 0“权益”“EWMA99”0.99 0.97891 1043 22 10.43 2.1093 143 0

运行所有测试varbacktest对象。

runtests (vbt)
ans =6×11表PortfolioID VARID VaRLevel TL斌POF凝灰岩CC CCI TBF TBFI ___________ ______________ ________ ______ ______ ______ ______ ______ ______ ______ ______ “公平” “Normal95” 0.95绿色接受接受接受接受接受拒绝拒绝 “公平” “Normal99” 0.99黄拒绝接受接受接受接受接受接受“公平”“Historical95” 0.95绿色接受接受接受接受接受拒绝拒绝“公平”“Historical99” 0.99绿色接受接受接受接受接受接受接受“公平”“EWMA95” 0.95绿色接受接受接受接受接受接受接受“公平”“EWMA99” 0.99黄拒绝拒绝接受拒绝接受拒绝接受

运行红绿灯测试(tl) 使用varbacktest对象。

tl (vbt)
ans =6×9表PortfolioID VaRID VaRLevel TL TypeI增加观测概率失败_______ ________ ________ ________………………* * * ____“股本”“Normal95”0.95绿色0.77913 - 0.26396 0 1043 57“股本”“Normal99”黄色0.99 0.97991 0.03686 0.26582 1043 17“股本”“Historical95”0.95绿色0.85155 - 0.18232 0 1043 59“股本”“Historical99”0.99绿色0.74996 - 0.35269 0 1043 12“股本”“EWMA95”0.95绿色0.85155 - 0.18232 0 1043 59“股本”“EWMA99”0.99黄色0.99952 0.0011122 0.43511 1043 22

使用varbacktest使用表输入和名称-值对参数创建两个varbacktest对象并运行连接的汇总报告。varbacktest使用变量名称表中的输入作为PortfolioIDVaRID

加载VaRBacktestDatavbtE = varbacktest(数据表(:,2),数据表(:,3:4)'VaRLevel'[0.95 - 0.99]);vbtD = varbacktest(数据表(:,5),数据表(:,6:7),'VaRLevel'[0.95 - 0.99]);(总结(vbtE);总结(vbtD)]
ans =4×10表PortfolioID VaRID VaRLevel ObservedLevel观察故障预计比FirstFailure失踪_________________ _____________ ________ _________________ _______说累积属于“股本”“VaREquity95”0.95 - 0.94343 1043 59 52.15 - 1.1314 28日0“股本”“VaREquity99”0.99 0.97891 1043 22 10.43 - 2.1093 143 0“衍生品”“VaRDerivatives95”0.95 - 0.95014 1043 52 52.15 - 0.99712 9 0“衍生品”“VaRDerivatives99”0.99 0.97028 1043年31日10.43 - 2.9722 28日0

运行所有测试并连接所有的结果。

[runtests (vbtE);runtests (vbtD)]
ans =4×11表转发PortfolioID VaRID VaRLevel TL本POF凝灰岩CC CCI延长TBFI _________________ _____________ ________交交交交“股本”“VaREquity95”0.95绿色接受接受接受接受接受接受接受“股本”“VaREquity99”0.99黄色拒绝拒绝接受拒绝接受拒绝接受“衍生品”“VaRDerivatives95”0.95绿色接受接受接受接受接受拒绝拒绝“衍生品”“VaRDerivatives99”0.99红拒绝拒绝接受拒绝接受拒绝reject

运行pof测试连接结果。

(pof (vbtE);pof (vbtD)]
ans =4×9表PortfolioID VaRID VaRLevel POF LRatioPOF PValuePOF观察故障TestLevel _________________ _____________ _______ ________ ________ ________ __________ __________ _____“股本”“VaREquity95”0.95接受0.91023 - 0.34005 1043 59 0.95“股本”“VaREquity99”0.99拒绝9.8298 0.95 0.0017171 1043年22“衍生品”“VaRDerivatives95”0.95接受0.00045457 - 0.98299 1043 52 0.95“衍生品”“VaRDerivatives99”0.99拒绝26.809 0.95 2.2457 e-07 1043 31

参考文献

巴塞尔银行监管委员会,使用“回溯测试”的监管框架,并结合内部模型方法来满足市场风险资本要求。1996年1月,https://www.bis.org/publ/bcbs22.htm

[2]Christoffersen, P。“评估区间预测。”国际经济评论。1998年第39卷,第841-862页。

[3] Cogneau中,Ph。“回测价值在-风险:如何好是模型?”智能风险,PRMIA, 2015年7月。

[4]哈斯,M。“回溯测试的新方法。”金融工程研究中心凯撒,波恩,2001年。

[5]Jorion, Ph值。财务风险经理手册。第六版。威利金融,2011。

[6]Kupiec, P。验证风险管理模型准确性的技术。杂志衍生物。卷。3,1995年,第73-84。

[7] McNeil, A., Frey, R.,和Embrechts, P。定量风险管理。普林斯顿大学出版社,2005年。

回溯测试风险价值模型。硕士论文,赫尔辛基经济学院,2009年。

介绍了在R2016b