《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 106|回复: 0
收起左侧

[提问] AMA自适应平均移动 len=1为什么有空值?

[复制链接]

该用户从未签到

发表于 2017-6-27 17:52:55 | 显示全部楼层 |阅读模式
function AMAvalue=AMA(Price,len,fastlen,slowlen)
error(nargchk(1,4,nargin))
if nargin<4
    slowlen=30;
end
if nargin<3
    fastlen=2;
end
if nargin<2
    len=10;
end
fast=2/(fastlen+1);
slow=2/(slowlen+1);
AMAvalue=zeros(length(Price),1);
AMAvalue(1:len)=Price(1:len);
for i=len+1:length(Price)
    direction=abs(Price(i)-Price(i-len));
    p1=Price((i-len+1):i);
    p2=Price((i-len):(i-1));
    volatility=sum(abs(p1-p2));
    ER=direction/volatility;
    smooth=ER*(fast-slow)+slow;
    c=smooth*smooth;
    AMAvalue(i)=AMAvalue(i-1)+c*(Price(i)-AMAvalue(i-1));
end
为什么len(例如1)取一个较小值的时候会有AMAvlaue很多空值?
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 陕ICP备08102094号  

GMT+8, 2017-11-25 17:43 , Processed in 1.127846 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表