1

我注意到某些 TTR 公式获得的结果需要包含高低收盘价(例如 ADX、ATR 和 CLV)的 xts 对象,这取决于代码中是否指定了 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应该使用哪种格式(即有或没有)。

4

1 回答 1

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,您使用的是开盘价、最高价和最低价,而不是最高价、最低价和收盘价。

于 2013-09-25T12:45:58.300 回答