MACD
macd, macdsignal, macdhist = MACD(close, fastperiod=12, slowperiod=26, signalperiod=9)
Plot
![Moving Average Convergence/Divergence](https://app.cloudquant.com/docstatic/talib/momentum-indicators/macd_3600.png)
Working Example
from cloudquant.interfaces import Strategy
from collections import OrderedDict
import ktgfunc
import talib
class WE_MACD(Strategy):
def on_start(self, md, order, service, account):
# symbol and timestamp
print(self.symbol + ": " + service.time_to_string(service.system_time))
daily_bars = md.bar.daily(start=-100)
close = daily_bars.close
macd, macdsignal, macdhist = talib.MACD(close, fastperiod=12, slowperiod=26, signalperiod=9)
# get the date values
dates = service._context.market._storage.market_hours.keys()
dateList = []
for date in dates:
dateList.append(str(date.strftime('%Y-%m-%d')))
dates = sorted(dateList, reverse=True)[1:101]
dates.sort()
dict = OrderedDict()
dict['date'] = dates
dict['close'] = close
dict['macd'] = macd
dict['macdsignal'] = macdsignal
dict['macdhist'] = macdhist
symbol = 'MACD: ' + self.symbol
print ktgfunc.talib_table(symbol, 3, dict)
Console
MSFT: 2017-02-09 09:30:00.000000
MACD: MSFT | ||||
---|---|---|---|---|
Input | Output | |||
date | close | macd | macdsignal | macdhist |
2016-09-16 | 56.87 | nan | nan | nan |
2016-09-19 | 56.55 | nan | nan | nan |
2016-09-20 | 56.43 | nan | nan | nan |
2016-09-21 | 57.37 | nan | nan | nan |
2016-09-22 | 57.43 | nan | nan | nan |
2016-09-23 | 57.04 | nan | nan | nan |
2016-09-26 | 56.52 | nan | nan | nan |
2016-09-27 | 57.56 | nan | nan | nan |
2016-09-28 | 57.64 | nan | nan | nan |
2016-09-29 | 57.01 | nan | nan | nan |
2016-09-30 | 57.21 | nan | nan | nan |
2016-10-03 | 57.03 | nan | nan | nan |
2016-10-04 | 56.86 | nan | nan | nan |
2016-10-05 | 57.25 | nan | nan | nan |
2016-10-06 | 57.35 | nan | nan | nan |
2016-10-07 | 57.41 | nan | nan | nan |
2016-10-10 | 57.65 | nan | nan | nan |
2016-10-11 | 56.81 | nan | nan | nan |
2016-10-12 | 56.73 | nan | nan | nan |
2016-10-13 | 56.54 | nan | nan | nan |
2016-10-14 | 57.03 | nan | nan | nan |
2016-10-17 | 56.84 | nan | nan | nan |
2016-10-18 | 57.27 | nan | nan | nan |
2016-10-19 | 57.14 | nan | nan | nan |
2016-10-20 | 56.87 | nan | nan | nan |
2016-10-21 | 59.26 | nan | nan | nan |
2016-10-24 | 60.59 | nan | nan | nan |
2016-10-25 | 60.58 | nan | nan | nan |
2016-10-26 | 60.22 | nan | nan | nan |
2016-10-27 | 59.70 | nan | nan | nan |
2016-10-28 | 59.47 | nan | nan | nan |
2016-10-31 | 59.52 | nan | nan | nan |
2016-11-01 | 59.40 | nan | nan | nan |
2016-11-02 | 59.03 | 0.67 | 0.59 | 0.08 |
2016-11-03 | 58.81 | 0.60 | 0.59 | 0.01 |
2016-11-04 | 58.32 | 0.51 | 0.57 | -0.07 |
2016-11-07 | 60.01 | 0.56 | 0.57 | -0.01 |
2016-11-08 | 60.06 | 0.60 | 0.58 | 0.02 |
2016-11-09 | 59.77 | 0.60 | 0.58 | 0.02 |
2016-11-10 | 58.31 | 0.48 | 0.56 | -0.08 |
2016-11-11 | 58.62 | 0.40 | 0.53 | -0.13 |
2016-11-14 | 57.73 | 0.27 | 0.48 | -0.21 |
2016-11-15 | 58.87 | 0.25 | 0.43 | -0.18 |
2016-11-16 | 59.65 | 0.29 | 0.40 | -0.11 |
2016-11-17 | 60.64 | 0.40 | 0.40 | 0.00 |
2016-11-18 | 60.35 | 0.46 | 0.42 | 0.05 |
2016-11-21 | 60.86 | 0.54 | 0.44 | 0.10 |
2016-11-22 | 61.12 | 0.62 | 0.48 | 0.15 |
2016-11-23 | 60.40 | 0.62 | 0.51 | 0.11 |
2016-11-25 | 60.53 | 0.62 | 0.53 | 0.09 |
2016-11-28 | 60.61 | 0.62 | 0.55 | 0.07 |
2016-11-29 | 61.09 | 0.65 | 0.57 | 0.08 |
2016-11-30 | 60.26 | 0.60 | 0.58 | 0.03 |
2016-12-01 | 59.20 | 0.47 | 0.56 | -0.08 |
2016-12-02 | 59.25 | 0.37 | 0.52 | -0.15 |
2016-12-05 | 60.22 | 0.36 | 0.49 | -0.12 |
2016-12-06 | 59.95 | 0.33 | 0.46 | -0.13 |
2016-12-07 | 61.37 | 0.42 | 0.45 | -0.03 |
2016-12-08 | 61.01 | 0.45 | 0.45 | 0.00 |
2016-12-09 | 61.97 | 0.55 | 0.47 | 0.08 |
2016-12-12 | 62.17 | 0.63 | 0.50 | 0.13 |
2016-12-13 | 62.98 | 0.76 | 0.55 | 0.20 |
2016-12-14 | 62.68 | 0.82 | 0.61 | 0.22 |
2016-12-15 | 62.58 | 0.86 | 0.66 | 0.20 |
2016-12-16 | 62.30 | 0.85 | 0.69 | 0.16 |
2016-12-19 | 63.62 | 0.94 | 0.74 | 0.20 |
2016-12-20 | 63.54 | 0.99 | 0.79 | 0.20 |
2016-12-21 | 63.54 | 1.03 | 0.84 | 0.19 |
2016-12-22 | 63.55 | 1.04 | 0.88 | 0.16 |
2016-12-23 | 63.24 | 1.01 | 0.91 | 0.11 |
2016-12-27 | 63.28 | 0.99 | 0.92 | 0.06 |
2016-12-28 | 62.99 | 0.93 | 0.92 | 0.00 |
2016-12-29 | 62.90 | 0.87 | 0.91 | -0.05 |
2016-12-30 | 62.14 | 0.75 | 0.88 | -0.13 |
2017-01-03 | 62.58 | 0.68 | 0.84 | -0.16 |
2017-01-04 | 62.30 | 0.60 | 0.79 | -0.19 |
2017-01-05 | 62.30 | 0.53 | 0.74 | -0.21 |
2017-01-06 | 62.84 | 0.51 | 0.69 | -0.18 |
2017-01-09 | 62.64 | 0.47 | 0.65 | -0.18 |
2017-01-10 | 62.62 | 0.43 | 0.60 | -0.17 |
2017-01-11 | 63.19 | 0.45 | 0.57 | -0.13 |
2017-01-12 | 62.61 | 0.41 | 0.54 | -0.13 |
2017-01-13 | 62.70 | 0.38 | 0.51 | -0.13 |
2017-01-17 | 62.53 | 0.33 | 0.47 | -0.14 |
2017-01-18 | 62.50 | 0.30 | 0.44 | -0.14 |
2017-01-19 | 62.30 | 0.25 | 0.40 | -0.15 |
2017-01-20 | 62.74 | 0.24 | 0.37 | -0.13 |
2017-01-23 | 62.96 | 0.25 | 0.34 | -0.09 |
2017-01-24 | 63.52 | 0.30 | 0.34 | -0.04 |
2017-01-25 | 63.68 | 0.35 | 0.34 | 0.01 |
2017-01-26 | 64.27 | 0.43 | 0.36 | 0.07 |
2017-01-27 | 65.78 | 0.61 | 0.41 | 0.20 |
2017-01-30 | 65.13 | 0.69 | 0.46 | 0.23 |
2017-01-31 | 64.65 | 0.71 | 0.51 | 0.19 |
2017-02-01 | 63.58 | 0.63 | 0.53 | 0.09 |
2017-02-02 | 63.17 | 0.52 | 0.53 | -0.01 |
2017-02-03 | 63.68 | 0.48 | 0.52 | -0.04 |
2017-02-06 | 63.64 | 0.43 | 0.50 | -0.07 |
2017-02-07 | 63.43 | 0.38 | 0.48 | -0.10 |
2017-02-08 | 63.34 | 0.32 | 0.45 | -0.13 |