2013-09-05 1 views
1

Я пытаюсь заставить EMV-функцию в пакете TTR работать.Ошибка функции EMA при TTR

library("quantmod") 
library("TTR") 
getSymbols("EBT.AX") 
EMV(LoHi(EBT.AX), Vo(EBT.AX), n=9, maType="EMA", vol.divisor=10000) 

Это производит следующее сообщение об ошибке: Ошибка в [.xts (HL, 2): индекс вне границ. Согласно документации TTR, EMV использует цены High-low (HL). Однако HL не работает. Я использовал LoHi для других индикаторов (например, DonchianChannel), но это не работает для EMV. Та же ошибка производится с помощью следующих действий: EMV (EBT.AX [с ("High", "Low")], .....

Я также попытался:.

EMV(HLC(EBT.AX)[,-3], Vo(EBT.AX), n=9, maType="EMA", vol.divisor=10000) 

, но это производит следующее сообщение об ошибке: ошибки в runSum (х, п): Серия содержит не ведущий Nas Я пытался несколько различных акций и вообще не производят одни и те же ошибки, но имеет никаких недостающих значений

..

Любая помощь будет принята.

ответ

0

EMV функции будет бросать эту ошибку, когда:

  1. высоких и низкие, равны для любого заданного периода, или
  2. громкость равна нуль для любого заданного периода.

Исправить обе эти ситуации и функция будут работать.

EBT.AX[,2] <- EBT.AX[,2]+1e-6 
EBT.AX[,5] <- EBT.AX[,5]+1e-6 
emv <- EMV(HLC(EBT.AX)[,-3], Vo(EBT.AX), n=9, maType="EMA", vol.divisor=10000) 
Смежные вопросы