2013-02-19 1 views
2

У меня есть вектор временного ряда Мне нужно создать тренда.EWMA по группе/ведро данных

Я пытался получить функцию EMA в R (через пакет TTR - я загружаю квантовый диск и требуется TTR) для запуска по группе цен.

Есть ли способ создать оценку EMA по заданному количеству строк в векторе, поэтому у меня есть одна оценка EMA для каждого ведра? Скажем, у меня размер ведра 10, и я хотел бы оценить тренд между каждым ведром, просто выбрав open и close для bucket, сбрасывает большое количество информации, поэтому я хотел бы иметь оценку по ведерке, но с просто один выход.

Исправлено. Я попытался усреднить длину ведра, но это не дает желаемого результата.

Пример вектора Я использую

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 равных интервалов и применить ЕМА к каждому? – agstudy

+0

Не в 10 равных интервалов, а в интервалах длины 10 (или любое количество, которое я выбираю). – Morten

ответ

1
bucketsize=10 

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

aggregate(price,list(bucket),mean)