# Calucate MACD with Pandas DataFrames

## 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.