加载中…
个人资料
斯托克
斯托克
  • 博客等级:
  • 博客积分:0
  • 博客访问:81,535
  • 关注人气:49
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

MATLAB movavg函数用法

(2015-11-03 11:06:46)
标签:

股票

matlab

it

程序设计

分类: 程序

movavg是一个取移动平均很好用的命令。


之前对于一个股价序列wdata,为了取ma5和ma20,我不得不写好几个循环。


其中ma5是:

for t=i-4:i

ma5(t,1)=wdata(i)/5+ma5(t,1);

end


还需要考虑到初始项,不能让数据发生溢出,比如出现wdata(0)或者wdata(-1)这样的项。


而使用movavg命令的话,代码就简化成了


[ma5,ma20]=movavg(wdata,5,20);


ma5就直接成为了时间段为5的移动平均项。其中ma5(1,1)=wdata(1,1)/5 ,ma5(2,1)=sum(wdata(1:2))/5。


而不需要考虑最前端的数据了。拿来用的时候直接从ma5(20)与ma20(20)开始使用,数据就是正常的了。


[Short, Long] = movavg(Asset, Lead, Lag, Alpha)


最后一项可以添加alpha,默认为0,简单的移动平均。0.5意味着平方根权重的移动平均,1意味着线性移动平均,2意味着平方权重的移动平均。e意味着指数权重的移动平均。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有