我正在使用 talib用于计算 MACD 的技术分析库。
我使用了 AAPL计算 MACD(8, 17, 9) 的数据,但 talib 值与 Google 和 Yahoo finance 完全不同。
这是我的 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的MACD值为-2.73,talib值为3.83,更多数据MACD差异很大。我做错了什么?
我还注意到 talib SMA 和 EMA 给出了相同的结果。
顺便说一句,在谷歌图表中反转 MACD 慢周期和快周期,不会改变图表......雅虎
最佳答案
也许你可以使用 talib-binding为此,我昨天写了它。代码如下:
import * as talib from 'talib-binding'
talib.MACD([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], 8, 17, 9)
结果是:
[ [ 3.8371737131517705 ],
[ 2.7731844591512465 ],
[ 1.063989254000524 ] ]
关于node.js - nodejs talib MACD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32169322/