Get startedGet started for free

Visualize monthly mean, median and standard deviation of S&P500 returns

You have also learned how to calculate several aggregate statistics from upsampled data.

Let's use this to explore how the monthly mean, median and standard deviation of daily S&P500 returns have trended over the last 10 years.

This exercise is part of the course

Manipulating Time Series Data in Python

View Course

Exercise instructions

As usual, we have imported pandas as pd and matplotlib.pyplot as plt for you.

  • Use pd.read_csv() to import 'sp500.csv', set a DateTimeIndex based on the 'date' column using parse_dates and index_col, assign the results to sp500, and inspect using .info().
  • Convert sp500 to a pd.Series() using .squeeze(), and apply .pct_change() to calculate daily_returns.
  • .resample() daily_returns to month-end frequency (alias: 'M'), and apply .agg() to calculate 'mean', 'median', and 'std'. Assign the result to stats.
  • .plot() stats.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

# Import data here
sp500 = ____

# Calculate daily returns here
daily_returns = ____

# Resample and calculate statistics
stats = ____

# Plot stats here


Edit and Run Code