macd

Moving Average Convergence/Divergence (MACD)

Syntax

[macdvec, nineperma] = macd(data)
[macdvec, nineperma] = macd(data, dim)
macdts = macd(tsobj, series_name)

Arguments

data

Data matrix

dim

Dimension. Default = 1 (column orientation).

tsobj

Financial time series object

series_name

Data series name

Description

[macdvec, nineperma] = macd(data) calculates the Moving Average Convergence/Divergence (MACD) line, macdvec, from the data matrix, data, as well as the nine-period exponential moving average, nineperma, from the MACD line.

When the two lines are plotted, they can give you an indication of whether to buy or sell a stock, when an overbought or oversold condition is occurring, and when the end of a trend might occur.

The MACD is calculated by subtracting the 26-period (7.5%) exponential moving average from the 12-period (15%) moving average. The 9-day (20%) exponential moving average of the MACD line is used as the signal line. For example, when the MACD and the 20% moving average line have just crossed and the MACD line falls below the other line, it is time to sell.

[macdvec, nineperma] = macd(data, dim) lets you specify the orientation direction for the input. If the input data is a matrix, you need to indicate whether each row is a set of observations (dim = 2) or each column is a set of observations (dim = 1, the default).

macdts = macd(tsobj, series_name) calculates the MACD line from the financial time series tsobj, as well as the nine-period exponential moving average from the MACD line. The MACD is calculated for the closing price series in tsobj, presumed to have been named Close. The result is stored in the financial time series object macdts. The macdts object has the same dates as the input object tsobj and contains only two series, named MACDLine and NinePerMA. The first series contains the values representing the MACD line and the second is the nine-period exponential moving average of the MACD line.

Examples

expand all

Compute the Moving Average Convergence/Divergence (MACD)

This example shows how to compute the MACD for Disney stock and plot the results.

load disney.mat
dis_CloseMACD = macd(dis);
dis_OpenMACD = macd(dis, 'OPEN');
plot(dis_CloseMACD);
plot(dis_OpenMACD);
title('MACD for Disney')

References

Achelis, Steven B., Technical Analysis From A To Z, Second Printing, McGraw-Hill, 1995, pp. 166-168.

See Also

|

Was this topic helpful?