matlab中lag函数用法,MATLAB movavg函数用法

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意味着指数权重的移动平均。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值