What will we cover?
In this tutorial we will calculate and visualize the MACD for a stock price.
Step 1: Retrieve stock prices into a DataFrame (Pandas)
Let’s get started. You can get the CSV file from here or get your own from Yahoo! Finance.
import pandas as pd import matplotlib.pyplot as plt %matplotlib notebook data = pd.read_csv("AAPL.csv", index_col=0, parse_dates=True)
Step 2: Calculate the MACD indicator with Pandas DataFrame
First we want to calcite the MACD.
The calculation (12-26-9 MACD (default)) is defined as follows.
- MACD=12-Period EMA − 26-Period EMA
- Singal line 9-Perioed EMA of MACD
Where EMA is the Exponential Moving Average we learned about in the last lesson.
exp1 = data['Close'].ewm(span=12, adjust=False).mean()exp2 = data['Close'].ewm(span=26, adjust=False).mean()data['MACD'] = exp1 - exp2data['Signal line'] = data['MACD'].ewm(span=9, adjust=False).mean()
Now that was simple, right?
Step 3: Visualize the MACD with matplotlib
To visualize it you can use the following with Matplotlib.
fig, ax = plt.subplots() data[['MACD', 'Signal line']].plot(ax=ax) data['Close'].plot(ax=ax, alpha=0.25, secondary_y=True)
Resulting in an output similar to this one.
Want to learn more?
This is part of the FREE online course on my page. No signup required and 2 hours of free video content with code and Jupyter Notebooks available on GitHub.
Follow the link and read more.