随机游走matlab程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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);%收益序列是异方差时的方差比