【发布时间】:2017-09-26 16:38:09
【问题描述】:
我使用talib技术分析库计算MACD。
我使用AAPL数据计算MACD(8,17,9),但talib值与谷歌和雅虎财经完全不同。
这是我的 javascript(我复制了自 2015-08-21 以来的最后一个 AAPL 关闭数据):
var talib = require('./node_modules/talib/build/Release/talib');
var marketData = { open: [], close: [106.2199999999999989,
112.6500000000000057,
115.0100000000000051,
116.5000000000000000,
117.1599999999999966,
116,
115.1500000000000057,
115.2399999999999949,
113.5498999999999938,
119.6901000000000010,
115.5199999999999960,
115.1700000000000017,
115.4000000000000057,
114.6400000000000006,
118.4350000000000023,
121.4599999999999937,
122.3700000000000045,
122.9899999999999949,
123.3199999999999932,
122.8900000000000006,
124.4800000000000040,
125.1599999999999966,
125.2199999999999989,
130.7500000000000000,
132.0699999999999932],high: [], low: [], volume: [] };
talib.execute({
name: "MACD",
startIdx: 0,
endIdx: marketData.close.length - 1,
inReal: marketData.close,
optInFastPeriod: 8,
optInSlowPeriod: 17,
optInSignalPeriod: 9
}, function (result) {
console.log(result);
});
2005-08-21 来自 Yahoo 和 Google Finance 的 MACD 值为 -2.73,talib 值为 3.83,与更多数据 MACD 有很大不同。我做错了什么?
我还注意到 talib SMA 和 EMA 给出了相同的结果。
顺便说一下,在 Google 图表中反转 MACD 慢速和快速周期不会改变图表......雅虎会。
【问题讨论】:
-
选择这些 optInXXX 参数时使用了什么逻辑?默认值似乎是 12、26、9。
-
我正在为Rule#1 构建一个使用
MACD(8,17,9)的meteorjs 应用程序。当然我可以使用默认值,但我希望 talib 库适用于任何值... -
顺便说一句,你见过this discussion有以下解释:“雅虎和谷歌有不同MACD值的原因是他们使用不同的窗口长度。 雅虎和谷歌不使用34天每一次——他们一直使用到今年的第一天,每个交易日都会增加一个窗口。 ”。你能用 2015 年 1 月 1 日以来的所有数据尝试 TALib 吗?
标签: node.js finance google-finance ta-lib