R TTR 包中的 MACD 函数对同一数据集给出不同的结果

MACD function in R TTR package giving different result for same dataset

我是 R 的新手,正在尝试使用 TTR 包中的 MACD 函数开发回测策略。

我正在观察一种有线行为,在这种情况下,我对同一数据集会得到不同的结果。

这是我正在执行的命令...

# Restarting R session...

library( quantmod )
getSymbols( c('INDRAMEDCO.BO'), from="2016-01-01" )
# [1] "INDRAMEDCO.BO"
macd <- MACD(INDRAMEDCO.BO[, "Adjusted"], 12, 26, 9, percent=FALSE)
last(macd)
#                    macd        signal
# 2016-08-04 3.031666e-317 2.521193e-317
macd <- MACD(INDRAMEDCO.BO[, "Adjusted"], 12, 26, 9, percent=FALSE)
last(macd)
#                    macd         signal
#2016-08-04 4.100941e-317 -2.366901e-318
macd <- MACD(INDRAMEDCO.BO[, "Adjusted"], 12, 26, 9, percent=FALSE)
last(macd)
#                     macd         signal
#2016-08-04 -6.664617e-317 -4.561214e-317

注意 MACD 和信号值在每次执行相同数据和相同参数时如何改变 MACD 函数。我不确定我做错了什么。

注意:我正在使用 RStudio IDE。不确定是否重要。

使用这个:

macd <- MACD(INDRAMEDCO.BO[, "INDRAMEDCO.BO.Adjusted"], 12, 26, 9, percent=FALSE)
last(macd)

                macd    signal
2016-08-04 0.3242379 0.3371936

数据中没有 "Adjusted" 列。

这是列提取器辅​​助函数存在的原因之一(例如 ClOHLCAd)。我建议您使用它们而不是直接引用该列。

R> macd <- MACD(Ad(INDRAMEDCO.BO), 12, 26, 9, percent=FALSE)
R> last(macd)
               macd    signal
2016-08-05 0.346095 0.3387478