我注意到某些TTR公式获得的结果需要xts对象包含高 - 低 - 收盘价(例如ADX,ATR和CLV),这取决于代码中是否指定了HLC。例如:
library(quantmod) # loads TTR
getSymbols("YHOO")
last(ADX(YHOO))
给出以下结果:
2013-09-24 DIp: 48.36026 DIn: 19.65972 DX: 42.19428 ADX: 29.69149
而
last(ADX(HLC(YHOO)))
结果:
2013-09-24 DIp: 36.85033 DIn: 19.57702 DX: 30.61161 ADX: 23.40803
任何人都可以解释不同结果的原因,应该使用哪种格式(即有或没有HLC
)。
答案 0 :(得分:4)
查看代码表明它使用列位置,而不是名称:
> ADX
function (HLC, n = 14, maType, ...)
{
HLC <- try.xts(HLC, error = as.matrix)
dH <- momentum(HLC[, 1])
dL <- -momentum(HLC[, 2])
...
因此,您应该使用:
ADX(HLC(YHOO))
如果没有HLC
,则使用开放,高和低而不是高,低和关闭。