VaR 模型的准确性检验方法很多,其中Kupiec 提出的失败频率检验法是比较直观、比较有效的模型准确性检验方法。
对于给定显著性水平,怎么求其接受区间,可按以下操作。
似然比满足自由度为1的卡方分布
查表,对于alpha=0.05,其自信区间为[ 0.00098,5.024 ]。
第一步:画图,观察似然方程零值的大概位置。
T=1000;
alpha=0.05;
alr_005_half=5.024;%显著性水平α=0.05时,LR服从自由度为1的卡方分布,其左侧分位数和右侧分位数分别为0.0098,5.024
all_005_halp=0.00098;
for N=1:1:T
p=N/T;
LR(N)=-2*log((1-alpha)^(T-N)*alpha^N ) + 2*log((1-p)^(T-N)*p^N)-5.024;
end
xlabel('N');
ylabel('LR');
hold on ;
plot(1:T,LR);
plot(1:T,0, 'r');
得到下图
如上图,横轴表示失败的总次数;纵轴表示参与检验的样本总数
I 类错误表示低估了风险,实际风险要高于临界值
I I类错误表示高估了风险,实际风险要低于临界值
放大可以到两个零值大概在35,65处 如下图所示
第二步:按一元函数求零值的方法求其零值
调用函数
[xout,f]=fzero(@myEq,55)
得到结果为:
xout = 66.1784
f = -5.5955e-014
同样调用函数
[xout,f]=fzero(@myEq,35)
得到结果为
xout =35.3325
f = 8.8818e-016
其中方程定义为:
function out = myEq( N )
% LR方程
% N:失败天数;
% T:总天数;
% alpha:显著性水平;
% p:失败率=N/T;
% zeroNode:零点大概位置,从作图上看。
T=1000;
alpha=0.05;
p=N/T;
out=-2*log((1-alpha)^(T-N)*alpha^N ) + 2*log((1-p)^(T-N)*p^N)-5.024;
end
第三步:得到T=1000时,显著性为0.05的接受区间为 [ 37,66 ].
|