1

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. いくつかの異なる株式を試しましたが、すべて同じエラーが発生しましたが、欠損値はありません。

どんな助けでも大歓迎です。

4

1 に答える 1

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)
于 2013-09-05T11:46:26.163 に答える