Financial Time Series Toolbox | ![]() ![]() |
Moving Average Convergence/Divergence (MACD)
Syntax
[macdvec, nineperma] = macd(data) [macdvec, nineperma] = macd(data, dim) macdts = macd(tsobj, series_name)
Arguments
data |
Data vector |
dim |
Dimension. Default = 2. |
|
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 vector, 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 may 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 or each column is a set of observations. If orientation is not specified, macd
assumes column orientation (dim = 2
).
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
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')
See Also
![]() | log10 | max | ![]() |