全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
8130 9
2007-06-23
function [vr_value,z1,z2]=vr(x,q)
%输入x为价格序列,q为滞后阶数
%vr_value输出方差比值
%z1为收益序列不存在下的检验统计量
%z2为收益序列为异方差时的检验统计量
%显著性水平0.05(双侧标准正态检验)
n1=size(x,2);%原始数据维数为m
m=n1-1;
r=zeros(1,m);
for i=1:m
r(i)=x(i+1)-x(i);
end
%r;
%median(r);%中值
%mean(r);%期望
%var(r);%方差
%range(r);%极差
%kurtosis(r);%峰度
%skewness(r);%偏度
mu=mean(r);%均值
rm=zeros(1,m-q+1);
for i=1:m-q+1
for j=i:i+q-1
rm(i)=rm(i)+r(j);
end
end
s1=0;s2=0;
for t=q:m
s1=s1+(x(1+t)-x(1+t-q)-q*mu)^2;
end
for t=1:m
s2=s2+(x(t+1)-x(t)-mu)^2;
end
me=q*(m-q+1)*(1-q/m);
vr_value=(s1/me)/(s2/(m-1));%vr_value为Lo & Mackinlay提出的方差比
fy1=2*(2*q-1)*(q-1)/(3*q*m);
z1=(vr_value-1)/sqrt(fy1);
%收益序列不存在时的方差比
fy2=0;
delta=zeros(1,q-1);
delta1=zeros(1,q-1);
s3=0;
for k=1:q-1
for l=k+1:m
delta1(k)=delta1(k)+(x(k+1)-x(k)-mu)^2*(x(1+l-k)-x(l-k)-mu)^2;
end
for t=1:m
s3=s3+(x(t+1)-x(t)-mu)^2;
end
delta(k)=delta1(k)/(s3)^2;
fy2=fy2+delta(k)*(2*(q-k)/q)^2;
end
z2=(vr_value-1)/sqrt(fy2);%收益序列是异方差时的方差比
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2008-9-20 18:06:00

万分感谢,已经收藏了。

自己节省了好多时间啊。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-2-11 10:52:00
谢谢,为什么总是出现这个错误,Error: Function definitions are not permitted at the prompt or in scripts.另外,数据和滞后阶数什么时候输入?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-4-17 10:32:14
{:3_47:} 太谢谢了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-4-17 21:45:30
请允许我疯狂和回帖,张积分啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-4-17 21:45:57
注册了一年了,今天才知道还是学前班
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群