FinTech utility to calculate MACD, the Moving Average Convergence / Divergence.

Usage no npm install needed!

<script type="module">
  import macd from '';


Build Status Coverage


This module is lack of maintainance.

If you are familiar with python programming maybe you could check stock-pandas which provides powerful statistic indicators support, and is backed by numpy and pandas.

The performance of stock-pandas is many times higher than JavaScript libraries, and can be directly used by machine learning programs.


FinTech utility to calculate MACD.

MACD, short for Moving Average Convergence / Divergence, is a trading indicator used in technical analysis of stock prices, created by Gerald Appel in the late 1970s.


$ npm install macd


import macd from 'macd'


// which returns:
// {
//   MACD: <Array>,
//   signal: <Array>,
//   histogram: <Array>
// }

macd(data, slowPeriods, fastPeriods, signalPeriods)

  • data Array.<Number> the collection of prices
  • slowPeriods Number=26 the size of slow periods. Defaults to 26
  • fastPeriods Number=12 the size of fast periods. Defaults to 12
  • signalPeriods Number=9 the size of periods to calculate the MACD signal line.

Returns MACDGraph

struct MACDGraph

  • MACD Array.<Number> the difference between EMAs of the fast periods and EMAs of the slow periods.
  • signal Array.<Number> the EMAs of the MACD
  • histogram Array.<Number> MACD minus signal

In some countries, such as China, the three series above are commonly known as:

MACD       -> DIF
signal     -> DEA
histogram  -> MACD