【问题标题】:Error of EMA function under TTRTTR 下 EMA 函数的错误
【发布时间】:2013-09-05 11:25:39
【问题描述】:

我正在尝试使 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.我尝试了几种不同的股票,都产生了相同的错误,但没有缺失值。

任何帮助将不胜感激。

【问题讨论】:

    标签: r quantmod


    【解决方案1】:

    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)
    

    【讨论】:

      猜你喜欢
      • 2018-06-22
      • 1970-01-01
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多