我正在尝试让TTR包中的EMV功能正常工作。
library("quantmod")
library("TTR")
getSymbols("EBT.AX")
EMV(LoHi(EBT.AX), Vo(EBT.AX), n=9, maType="EMA", vol.divisor=10000)
这会产生以下错误消息:
Error in `[.xts`(HL, , 2) : subscript out of bounds.
根据TTR文件,EMV使用高低(HL)价格。但是 HL 不起作用。我已经成功地将 LoHi 用于其他指标(例如DonchianChannel),但它不适用于EMV。使用以下内容生成相同的错误:EMV(EBT.AX[,c("High","Low")],.....
。
我也试过了:
EMV(HLC(EBT.AX)[,-3], Vo(EBT.AX), n=9, maType="EMA", vol.divisor=10000)
但这会产生以下错误:Error in runSum(x, n) : Series contains non-leading NAs.
我尝试了几种不同的股票,并且都产生了相同的错误但没有缺失值。
任何帮助都将不胜感激。
答案 0 :(得分:1)
EMV
函数会在以下任何一种情况下抛出此错误:
纠正这两种情况,该功能将起作用。
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)