📄 r_s.m
字号:
function R_S=R_S(X,N)
M=length(X);
A=fix(M/N);
for a=1:A
for n=1:N
b(a,n)=X((a-1)*N+n);
end
end
mean_bn=mean(b,2);
for a=1:A
i=1;
while i<=N
li_cha(a,i)=0; %li_cha即为离差,后面的ji_cha即为极差
t=1;
while t<=i
li_cha(a,i)=li_cha(a,i)+b(a,t)-mean_bn(a);
t=t+1;
end
i=i+1;
end
end
ji_cha=max(li_cha,[],2)-min(li_cha,[],2);
std_b=std(b,1,2);
for a=1:A
%由于有一个时间段内美元比较稳定,有出现波动为零的情况,方差为零,因此在分母人为的加上一个相对教小的数
R_S_a(a)=ji_cha(a)/(std_b(a)+0.000001);
end
%计算剩下来的又不足N个的数据的RS值
M1=M-A*N;
if M1==0
R_S=mean(R_S_a);
else
for i=1:M1
b1(i)=X(A*N+i);
end
mean_b1=mean(b1);
for i=1:M1
li_cha1(i)=0;
for t=1:i
li_cha1(i)=li_cha1(i)+b(t)-mean_b1;
end
end
ji_cha1=max(li_cha1)-min(li_cha1);
std1=std(b1);
R_S_a(A+1)=ji_cha1/(std(b1)+0.000001);
R_S=mean(R_S_a);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -