R TTR包中的MACD函数为同一数据集提供不同的结果

时间:2016-08-05 15:01:36

标签: r quantmod

我是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和Signal值在相同数据和相同参数的每次执行时如何改变为MACD函数。我不确定我做错了什么。

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

2 个答案:

答案 0 :(得分:2)

这是列提取器辅​​助函数存在的一个原因(例如{u'status': u'OK', u'rows': [{u'elements': [{u'duration': {u'text': u'27 mins', u'value': 1599}, u'distance': {u'text': u'11.9 km', u'value': 11874}, u'status': u'OK'}]}] ClOHLC)。我建议你使用它们而不是直接引用列。

Ad

答案 1 :(得分:1)

使用此:

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

                macd    signal
2016-08-04 0.3242379 0.3371936

数据中没有"Adjusted"列。