楼主: calafucier
10125 4

[问答] 请教如何用R语言实现kupiec test [推广有奖]

  • 0关注
  • 0粉丝

小学生

0%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
33 点
帖子
2
精华
0
在线时间
5 小时
注册时间
2014-6-24
最后登录
2015-4-4

楼主
calafucier 发表于 2014-6-28 08:05:10 |AI写论文
1论坛币
本人在做关于VaR的论文,在论文结尾处需要用到kupiec test,本人只在原理上懂得,但是R语言一窍不通,希望高人手把手教导。希望您能教会我,重金酬谢~高玩留下联系方式~我第一时间联系

关键词:kupiec test Est R语言 如何用 联系方式 一窍不通 第一时间 如何 论文

沙发
calafucier 发表于 2014-6-28 08:09:14
又能解决的追加论坛币

藤椅
gssdzc 在职认证  发表于 2014-9-13 19:53:24
同求。。。。。

板凳
nieqiang110 学生认证  发表于 2014-9-14 13:59:32
http://cos.name/cn/topic/15520
看看上面的链接
对VaR的有效性进行检验,最著名的方法是Kupiec提出的LR方法。
它首先建立一个统计量LR=-2*log(((1-alpha)^(T-N))*(alpha^N))+2*log(((1-N/T)^(T-N))*((N/T)^N));
式中1-alpha为置信水平;T为算出的VaR值的个数;N为VaR失效的个数,即实际损失值大于VaR值的个数。
Kupiec推导出LR服从自由度为1卡方分布。如果计算出的LR大于卡方统计量的临界值,就拒绝VaR有效的原假设。
同时,也可以根据LR计算出VaR失败次数的置信区间。
其在R中的实现如下:
编写一个函数Kupiec.test:


#######    xdata:原序列
#######    VaRdata:VaR序列
#######    N:失败次数
#######    T:总次数
#######    p:计算VaR值所对应的置信水平
#######    con.level:VaR.back.test所对应的置信水平
VaR.back.test=function(xdata,VaRdata,p,con.level){
p=p;
con.level=con.level;
prob=1-p;
N=sum(xdata>VaRdata);
T=length(xdata);
LR_POF=-2*log((prob^N)*(1-prob)^(T-N))+2*log(((N/T)^N)*(1-N/T)^(T-N));
critical=qchisq(con.level,df=1);
P_value=pchisq(LR_POF,df=1,lower.tail=F);
list(LR_POF,P_value)
}
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
黎明前的。 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

报纸
霹雳豹 发表于 2023-4-25 17:53:13
nieqiang110 发表于 2014-9-14 13:59
http://cos.name/cn/topic/15520
看看上面的链接
对VaR的有效性进行检验,最著名的方法是Kupiec提出的LR方 ...
p和con.level怎么输入,运行不出来

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 17:37