我正在学习使用 R。我对提取股票数据和计算股票数据的各种技术指标感兴趣。我的测试基准是谷歌财经。也就是说,我用GF的结果检查我的结果。
在尝试实现某种 MACD 分析时,我注意到了一些事情。这些可能是我对文档的误解。我尝试了很多变体,在某些情况下我无法与 Google 财经的数字达成一致。
library(quantmod)
给我MACD()
,它返回列macd
和signal
。
library(fTrading)
给我cdsTA()
and cdoTA()
,分别返回cdsTA
and cdoTA
。
我的测试股票是 IBM,希望这个链接能拉出一张图表,其中包含价格、成交量、慢速随机指标和带有柱状图的 MACD。
将 IBM 的价格数据加载到 R 中,并为值 8、17、9 和MACD()
我设置的上述 3 个函数生成值,percent=FALSE
得到以下输出。
MACD(close, 8, 17, 9, maType="EMA", percent=FALSE)
cdsTA(close, lag1 = 8, lag2 = 17, lag3 = 9)
cdoTA(close, lag1 = 8, lag2 = 17, lag3 = 9)
date close macd signal cdsTA cdoTA
2011-02-07 164.17 3.187365 3.208984 3.208984 -0.7673435
2011-02-08 166.05 3.246812 3.216549 3.216549 -0.7996041
2011-02-09 164.65 3.052187 3.183677 3.183677 -1.0496306
2011-02-10 164.09 2.780047 3.102951 3.102951 -1.3332292
2011-02-11 163.85 2.496591 2.981679 2.981679 -1.5867962
2011-02-14 163.22 2.168977 2.819138 2.819138 -1.8408138
2011-02-15 162.84 1.846701 2.624651 2.624651 -2.0507546
2011-02-16 163.40 1.640518 2.427824 2.427824 -2.1262626
2011-02-17 164.24 1.550798 2.252419 2.252419 -2.0854783
2011-02-18 164.84 1.517145 2.105364 2.105364 -1.9968608
如果您参考上面的谷歌金融图表,cdsTA 和 macd 列是相同的,并且与谷歌的 EMA 数据非常吻合。MACD()
macd al 的价值也和 GF 非常接近。所以我得到
macd - 信号 = 背离。
但是,cdoTA 还很遥远。我究竟做错了什么?