How to compute the simple moving average with Pandas using Python

1 min

There is a very simple way to compute the SMA in Python using the DataFrame.rolling() method.

Here is the code

# For the stock prices
import yfinance as yf

# We download the stocks
df = yf.download("AAPL", start="2019-01-01")

# We compute and plot the 20D and 200D SMA
df["Adj Close"].plot(title="AAPL close prices with 20 SMA and 200 SMA", label="Close price", legend=True)
df["Adj Close"].rolling(20).mean().plot(label="20SMA", legend=True)
df["Adj Close"].rolling(200).mean().plot(label="200SMA", legend=True)

The results

Here you are! You now know how to compute the simple moving average with Pandas using Python.

More on financial analysis

If you want to know more about Financial Analysis in Python and avoid the headaches... check out the other articles I wrote by clicking just here:

Financial Analysis - The Python You Need
We gathered the only Python essentials that you will probably ever need.