主要内容

varbacktest

创建varbacktest对象值下的风险(VAR)backtests的运行套件

描述

通用的工作流程是:

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

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

  3. 使用概括功能能够生成用于观测次数和失败的次数给定数据的总结报告。

  4. 使用runtests功能同时运行所有测试。

  5. 有关其他测试详细信息,请运行以下单个测试:

    • tl-交通灯测试

    • 箱子-二项检验

    • pof-故障比例

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

    • 复写的副本-有条件覆盖混合

    • cci- 条件覆盖独立

    • TBF- 混合故障间隔时间

    • TBFI-故障之间的时间独立性

    有关更多信息,请参阅VaR的回溯测试工作流程

创建

描述

例子

VBT= varbacktest(PortfolioData,瓦尔达)创造一个varbacktest(VBT)对象使用投资组合结果数据和相应的风险价值(VaR)数据VBT对象具有以下属性:

  • 的必需输入参数PortfolioData瓦尔达必须使用相同的单位。这些论点可以用回报或利润和亏损来表示。中没有验证varbacktest对象关于这些参数的单位。

  • 如果缺失值(S)在数据中PortfolioData瓦尔达,则在应用测试之前丢弃数据行。因此,对于具有不同缺失值数的模型,会报告不同数量的观测值。报告的观测值数等于原始行数减去缺失值数。若要确定是否存在丢弃的行,请使用“失踪”列的概括报告。

例子

VBT= varbacktest(___,名称、值)设置特性使用前面语法中的名称-值对和任何参数。例如,vbt=varbacktest(PortfolioData、VaRData、'PortfolioID'、'Equity100'、'VaRID'、'TotalVaR'、'VaRLevel'、.99).可以指定多个名称 - 值对可选的名称 - 值对的参数。

输入参数

展开全部

组合结果的数据,指定为NumRows-经过-1.数字数组,NumRows-经过-1.表,或NumRows-经过-1.时间表与含有组合数字列结果的数据。PortfolioData输入设置PortfolioData财产。

的必需输入参数PortfolioData瓦尔达必须使用相同的单位。这些论点可以用回报或利润和亏损来表示。中没有验证varbacktest对象关于这些参数的单位。

数据类型:双倍的|表格|时间表

风险价值(VaR)数据,使用NumRows-经过-纽瓦数字数组,NumRows-经过-纽瓦表,或NumRows-经过-纽瓦时间表与数字列。瓦尔达输入设置瓦尔达财产。

如果瓦尔达具有多于一个的柱(纽瓦>1.), 这PortfolioData针对中的每个列进行测试瓦尔达.默认情况下0.95VaR置信水平用于中的所有列瓦尔达(使用)VaRLevel指定不同的风险值置信水平。)

该公约是var是一个正数。因此,一个故障被记录时的损失(组合数据的负)超过VaR的,那就是当,

-PortfolioData>VaRData

例如,1,000,000(正)变量被侵犯每当有一个结果低于1,000,000损失严重(投资组合结果的否定,或损失,是比风险价值大)。

瓦尔达值是允许的,但是负的VaR值表明在给定的VaR置信水平下投资组合不会赔钱。也就是说,在给定的信心水平下,最坏的情况仍然是盈利。

的必需输入参数PortfolioData瓦尔达必须使用相同的单位。这些论点可以用回报或利润和亏损来表示。中没有验证varbacktest对象关于这些参数的单位。

数据类型:双倍的|表格|时间表

名称-值对参数

指定可选的逗号分隔的字符对名称、值论点。的名字是参数名和价值为对应值。的名字必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:name1,value1,...,namen,valuen

例子:vbt=varbacktest(PortfolioData、VaRData、'PortfolioID'、'Equity100'、'VaRID'、'TotalVaR'、'VaRLevel'、.99)

用户定义的ID为PortfolioData输入,指定为逗号分隔对,由'PortfolioID'和字符向量或字符串。这PortfolioID名称 - 值对的参数集PortfolioID财产。

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

数据类型:char|细绳

的VaR标识符瓦尔达列,指定为逗号分隔的一对组成的“VaRID”和一个字符向量或字符串。多个VaRIDs的使用指定的1.-经过-纽瓦(或纽瓦-经过-1.)特征向量或串矢量的单元阵列与用于用户定义ID的瓦尔达列。列VaRID名称 - 值对的参数集VaRID财产。

如果纽瓦=1.的默认值VaRID“VaR”.如果纽瓦>1.,默认值为“VaR1”,“VaR2”,等等。如果瓦尔达是一个表,“VaRID”默认情况下,设置为表中相应的变量名。

数据类型:char|细胞|细绳

VaR置信水平,指定为逗号分隔的对,由“VaRLevel”和中间的数字01.或者一个1.-经过-纽瓦值介于01.在对应的列瓦尔达.这VaRLevel名称 - 值对的参数集VaRLevel财产。

数据类型:双倍的

特性

展开全部

组合数据的风险价值返回检验分析,指定为NumRows-经过-1.包含投资组合数据副本的数字数组。

数据类型:双倍的

VaR回溯测试分析的VaR数据,指定为NumRows-经过-纽瓦包含VaR数据副本的数值数组。

数据类型:双倍的

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

数据类型:细绳

VaR的标识符,指定为1.-经过-纽瓦包含中相应列的变量ID的字符串数组瓦尔达

数据类型:细绳

VaR水平,指定为1.-经过-纽瓦含有风险价值水平,以用于相应的列数值数组瓦尔达

数据类型:双倍的

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

目标函数

tl 风险价值(VaR)回溯测试的交通灯测试
箱子 风险值(VaR)回溯检验的二项式检验
pof 风险值(VaR)回溯测试的失败比例测试
凝灰岩 风险值(VaR)回溯测试的第一次失败测试的时间
复写的副本 风险价值(VaR)回溯测试的条件覆盖混合测试
cci 对于价值的风险价值(VaR)的回溯测试条件覆盖独立测试
TBF 故障混合测试之间的时间价值下的风险价值(VaR)的回测
TBFI 故障独立性测试之间的时间价值下的风险价值(VaR)的回测
概括 varbacktest数据报告
runtests 运行所有测试varbacktest

例子

全部崩溃

varbacktest引入投资组合结果数据和相应的风险值(VaR)数据,并得到avarbacktest对象。

创建一个varbacktest对象。

负载VaRBacktestDatavbt = varbacktest (EquityIndex Normal95)
vbt=varbacktest,属性为:PortfolioData:[1043x1 double]VaRData:[1043x1 double]PortfolioID:“组合”变量:“VaR”VaRLevel:0.9500

VBT这个varbacktest对象,包含给定的投资组合数据的副本(PortfolioData属性),指定的VaR数据(瓦尔达属性)和待测试的投资组合ID、VaR ID和VaR水平的所有组合(PortfolioID,VaRID,VaRLevel属性)。

使用。运行测试VBT对象。

runtests(VBT)
ANS =1×11表PortfolioID VARID VaRLevel TL斌POF凝灰岩CC CCI TBF TBFI ___________ _____ ________ _____ ______ ______ ______ ______ “投资组合”, “VAR” 0.95绿色接受接受接受接受接受拒绝拒绝

改变PortfolfioIDVaRID使用点符号性质。

叶状体=“标普”
vbt=varbacktest,属性为:PortfolioData:[1043x1 double]VaRData:[1043x1 double]PortfolioID:“标准普尔”变量:“VaR”VaRLevel:0.9500
vbt.VaRID =“正常的95%”
vbt = varbacktest with properties: PortfolioData: [1043x1 double] VaRData: [1043x1 double] PortfolioID: "S&P" VaRID: "Normal at 95%" VaRLevel: 0.9500

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

runtests(VBT)
ANS =1×11表PortfolioID VARID VaRLevel TL斌POF凝灰岩CC CCI TBF TBFI ________ ________ _______________ _____ ______ ______ ______ ______ “S&P” “一般在95%” 0.95绿色接受接受接受接受接受拒绝拒绝

创建一个varbacktest对象。

负载VaRBacktestDatavbt = varbacktest (EquityIndex Normal95)
vbt=varbacktest,属性为:PortfolioData:[1043x1 double]VaRData:[1043x1 double]PortfolioID:“组合”变量:“VaR”VaRLevel:0.9500

VBT这个varbacktest对象,包含给定的投资组合数据的副本(PortfolioData属性),指定的VaR数据(瓦尔达属性)和待测试的投资组合ID、VaR ID和VaR水平的所有组合(PortfolioID,VaRID,VaRLevel属性)。

使用。运行测试varbacktest对象。

runtests(VBT)
ANS =1×11表PortfolioID VARID VaRLevel TL斌POF凝灰岩CC CCI TBF TBFI ___________ _____ ________ _____ ______ ______ ______ ______ “投资组合”, “VAR” 0.95绿色接受接受接受接受接受拒绝拒绝

改变PortfolfioIDVaRID使用点符号性质。

叶状体=“标普”
vbt=varbacktest,属性为:PortfolioData:[1043x1 double]VaRData:[1043x1 double]PortfolioID:“标准普尔”变量:“VaR”VaRLevel:0.9500
vbt.VaRID =“正常的95%”
vbt = varbacktest with properties: PortfolioData: [1043x1 double] VaRData: [1043x1 double] PortfolioID: "S&P" VaRID: "Normal at 95%" VaRLevel: 0.9500

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

runtests(VBT)
ANS =1×11表PortfolioID VARID VaRLevel TL斌POF凝灰岩CC CCI TBF TBFI ________ ________ _______________ _____ ______ ______ ______ ______ “S&P” “一般在95%” 0.95绿色接受接受接受接受接受拒绝拒绝

创建一个varbacktest对象有不同的置信水平有多个无功标识符。

负载VaRBacktestDataVBT = varbacktest(EquityIndex,...[Normal95 Normal99 Historical95 Historical99 EWMA95 EWMA99]...'PortfolioID','公平',...“VaRID”, {“Normal95”'Normal99'“历史95”“历史99”“EWMA95”“EWMA99”},...“VaRLevel”,[0.95 0.99 0.95 0.99 0.95 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 28 0 "Equity" "Historical99" 0.99 0.98849 1043 12 10.43 1.1505 173 0 "Equity" "EWMA95" 0.99 0.97891 1043 59 52.15 1.1314 28 0 "Equity" "EWMA99" 0.99 0.97891 1043 22 10.43 2.1093 143 0

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

runtests(VBT)
ANS =6×11表这两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两u“Equity”“Normal95”0.95绿色接受拒绝拒绝拒绝拒绝“Equity”“Normal99”0.99黄色拒绝接受接受“Equity”“Historical95”“0.95绿色接受接受接受拒绝拒绝拒绝“Equity”“Historical99”0.99绿色接受接受接受“Equity”“EWMA95”0.95绿色接受接受接受接受接受接受“Equity”“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 01043 59 "Equity" "Historical99" 0.99 green 0.74996 0.35269 0 1043 12 "Equity" "EWMA95" 0.95 green 0.85155 0.18232 0 1043 59 "Equity" "EWMA99" 0.99 yellow 0.99952 0.0011122 0.43511 1043 22

使用varbacktest用表的输入和名称 - 值对的参数,以创建两个varbacktest对象和运行级联总结报告。varbacktest使用表中的变量名作为输入PortfolioIDVaRID

负载VaRBacktestDatavbtE = varbacktest(数据表(:,2),数据表(:,3:4)“VaRLevel”,[0.95 0.99]);vbtD=varbacktest(DataTable(:,5),DataTable(:,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"Derivatives" "VaRDerivatives95" 0.95 0.95014 1043 52 52.15 0.99712 9 0 "Derivatives" "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 TBF TBFI _____________ __________________ ________ ______ ______ ______ ______ ______ ______ ______ ______ “公平” “VaREquity95” 0.95绿色接受接受接受接受接受接受接受 “公平” “VaREquity99” 0.99黄拒绝拒绝接受拒绝接受拒绝接受“衍生物”“VaRDerivatives95” 0.95绿色接受接受接受接受接受拒绝拒绝“衍生品”,“VaRDerivatives99” 0.99红拒绝接受拒绝接受拒绝拒绝拒绝

跑过pof测试并连接结果。

[POF(vbtE);POF(vbtD)]
ANS =4×9表TestLevel PortfolioID VaRID VaRLevel POF LRatioPOF PValuePOF观察故障  _____________ __________________ ________ ______ __________ __________ ____________ ________ _________ " 股本”“VaREquity95“0.95接受0.95 0.91023 0.34005 1043 59“股本”“VaREquity99“0.99拒绝9.8298 0.95 0.0017171 1043年22“衍生品”“VaRDerivatives95”0.95 accept 0.00045457 0.98299 1043 52 0.95 "Derivatives" "VaRDerivatives99" 0.99 reject 26.809 2.2457e-07 1043 31 0.95

参考文献

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

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

[3] 科尼奥博士。“回溯测试风险价值:模型有多好?”智能风险,PRMIA,七月,2015年。

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

[5]若里翁,pH值。财务风险经理手册。第六版。威利金融,2011。

[6] Kupiec,P.“用于验证风险管理模型的精确度的技术。”衍生工具杂志。1995年第3卷,第73-84页。

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

[8] Nieppola, O.“风险价值模型的回溯测试”。硕士论文,赫尔辛基经济学院,2009。

R2016b中引入