2013-02-19 50 views
2

我有一个时间序列向量,我需要创建一个趋势。EWMA对群组/数据桶

我试图在R中获得EMA函数(通过TTR包 - 我正在加载quantmod,并且需要TTR)来运行一组价格。

有没有一种方法可以在矢量中的给定数量的行上创建EMA估计值,所以我对每个桶有一个EMA估计值?假设我有一个大小为10的桶,并且我想估计每个桶之间的趋势,只需选择桶的打开和关闭取消大量信息,所以我希望对桶进行估计,但只需一个输出。

改变了我试图对桶长度进行平均,但是这不会产生所需的输出。

载体的例子我使用

dput(head(price, 200)) 
c(137, 137, 137, 137, 137, 137, 137, 137, 137, 136.9, 136.9, 
136.9, 137, 137, 137, 137, 137, 137.2, 137.2, 137.2, 137.1, 137.4, 
137.4, 137.4, 137.4, 137.4, 137.4, 137.1, 137, 137, 137, 137, 
137, 136.9, 136.9, 136.9, 136.9, 136.9, 136.7, 137, 137, 137, 
137, 136.7, 136.9, 136.9, 136.9, 136.5, 136.5, 136.9, 136.9, 
136.9, 137, 137, 137.3, 136.7, 137, 137, 137, 137.1, 137, 137, 
137.1, 137.1, 137, 137, 137.1, 137, 137, 136.8, 137, 137, 136.9, 
136.8, 136.7, 137.1, 137, 137, 137.1, 137, 137.1, 137.1, 136.7, 
136.7, 136.7, 136.7, 136.7, 136.8, 137, 137, 137, 136.9, 136.9, 
136.9, 136.9, 136.9, 136.9, 136.9, 136.9, 136.9, 136.9, 136.9, 
136.9, 136.9, 137, 136.9, 136.9, 136.9, 136.9, 136.9, 136.8, 
136.8, 136.9, 136.9, 136.9, 136.9, 137, 136.9, 136.9, 136.9, 
136.9, 136.9, 136.9, 137, 137, 137, 137, 137, 137, 137, 136.9, 
136.9, 136.9, 137, 137, 136.9, 137, 137.1, 137.1, 137.1, 137, 
137.2, 137.2, 137.2, 137.2, 137.2, 137.2, 137.1, 137.1, 136.9, 
136.8, 136.9, 136.9, 136.9, 136.9, 136.9, 137, 136.9, 137, 137, 
137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 136.9, 
137.1, 137.1, 137.1, 137.1, 137, 137, 137.1, 137.1, 137.1, 137.1, 
137.1, 137.1, 137, 137, 137, 137, 137, 137, 136.9, 136.9, 136.9, 
136.9, 136.9, 136.9, 136.9, 136.9, 136.9) 
+0

你想价格向量分裂您在10等于间隔和应用EMA每一个? – agstudy 2013-02-19 14:39:41

+0

不是以10等分的间隔,而是以10(或我选择的任何数字)为间隔。 – Morten 2013-02-19 14:45:46

回答

1
bucketsize=10 

bucket=rep(1:ceiling(length(price)/bucketsize),each=bucketsize) 

aggregate(price,list(bucket),mean)