我试图将一些TA列添加到现有的xts对象中,但最终得到了一些奇怪的结果。以下是示例代码:
getSymbols("SPY")
names(SPY) <- c("open", "high", "low", "close", "volume", "adj")
cci <- CCI(SPY[,c("high", "low", "close")])
smi <- SMI(SPY[,c("high", "low", "close")])
SPY$cci <- cci$cci
SPY$smi <- smi$smi
SPY$smisig <- smi$signal
输出如下:
> head(spy)
open high low close volume adj smi smisig
2007-01-03 142.25 142.86 140.57 141.37 94807600 120.92 NA NA
2007-01-04 141.23 142.05 140.61 141.67 69620600 121.17 NA NA
2007-01-05 141.33 141.40 140.38 140.54 76645300 120.21 NA NA
2007-01-08 140.82 141.41 140.25 141.19 71655000 120.76 NA NA
2007-01-09 141.31 141.60 140.40 141.07 75680100 120.66 NA NA
2007-01-10 140.58 141.57 140.30 141.54 72428000 121.06 NA NA
cci列似乎缺失了。实际上,所谓的smi列的价值确实是cci。我觉得它可能是xts中的一个bug。另一方面,如果使用“merge”将所有xts对象绑定在一起,结果将是正确的。
我首先在R 3.0.2上遇到这个,然后升级到3.1.1。两个版本都有同样的问题。 任何人都可以轻视它吗?谢谢!