高效计算“变量(包含的点数)” R中的移动平均线
我正试图在日内数据的时间序列(即10秒)上实现可变指数移动平均线。通过变量,我的意思是移动平均线中包含的窗口大小取决于另一个因素(即波动率)。我在考虑以下几点:
MA(t)= alpha(t)* price(t)+(1-alpha(t))MA(t-1),
其中alpha对应于例如变化的波动率指数。
在大型系列(超过100000)点的回测中,这种计算会给我带来“麻烦”。我有完整的向量alpha和价格,但对于MA的当前值我总是需要之前计算的值。因此,到目前为止我没有看到矢量化解决方案????
我的另一个想法是尝试直接将实现的EMA(..,n = f())函数应用于每个数据点,总是使用不同的f()值。但到目前为止我还没有找到快速解决方案。
如果有人可以帮我解决我的问题,那会非常友好吗?甚至关于如何构建可变移动平均线的其他建议也会很棒。
提前做了很多
马丁
没有找到相关结果
已邀请:
3 个回复
门锑腺潮
也可以实现非常有效的移动平均操作:
这只是左翼,其他选择是可能的。
刷遍派戳
。 实际上,您并不计算移动平均线,而是某种加权累积平均值。 (加权)移动平均线将是这样的:
确保重新调整权重,使它们与观察量相加。 对于您自己的计算,您可以尝试以下方法:
这将平均值计算为MAt的线性组合,其中权重由alpha的累积乘积定义。 旁注:我假设指数介于0和1之间。
车料
包中添加了
功能来执行此操作。例如:
文档中的一些注释: 'VMA'计算可变长度 基于绝对值的移动平均线 'w'的价值。更高(更低)的值 'w'会导致'VMA'反应 更快(更慢)。 预编译的二进制文件应在24小时内进行R-forge。