import pandas as pd
import quandl
start = pd.to_datetime('2010-01-01')
end = pd.to_datetime('today')
SP500 = quandl.get("MULTPL/SP500_REAL_PRICE_MONTH",start_date = start,end_date = end)
SP500 = quandl.get("MULTPL/SP500_DIV_YIELD_MONTH",start_date = start,end_date = end)
SP500
Value
Date
2010-01-31 1.98
2010-02-28 2.03
2010-03-31 1.90
2010-04-30 1.83
2010-05-31 1.95
... ...
2020-07-01 1.91
2020-07-31 1.86
2020-08-31 1.76
2020-09-01 1.69
2020-09-30 1.69

136 rows × 1 columns

SP500 = quandl.get("MULTPL/SP500_PE_RATIO_MONTH",start_date = start,end_date = end)
SP500
Value
Date
2010-01-01 20.70
2010-02-01 18.91
2010-03-01 18.91
2010-04-01 19.01
2010-05-01 17.30
... ...
2020-07-01 27.57
2020-07-31 28.12
2020-08-01 29.16
2020-08-31 30.09
2020-09-01 30.32

138 rows × 1 columns

SP500 = quandl.get("MULTPL/SP500_PE_RATIO_MONTH",start_date = start,end_date = end)
SP500
Value
Date
2010-01-01 20.70
2010-02-01 18.91
2010-03-01 18.91
2010-04-01 19.01
2010-05-01 17.30
... ...
2020-07-01 27.57
2020-07-31 28.12
2020-08-01 29.16
2020-08-31 30.09
2020-09-01 30.32

138 rows × 1 columns

SP500 = quandl.get("MULTPL/SP500_EARNINGS_YIELD_MONTH",start_date = start,end_date = end)
SP500
Value
Date
2010-01-01 4.83
2010-02-01 5.29
2010-03-01 5.29
2010-04-01 5.26
2010-05-01 5.78
... ...
2020-07-01 3.63
2020-07-31 3.56
2020-08-01 3.43
2020-08-31 3.32
2020-09-01 3.30

138 rows × 1 columns

SP500 = quandl.get("MULTPL/SP500_INFLADJ_MONTH",start_date = start,end_date = end)
SP500
Value
Date
2010-01-01 1343.51
2010-02-01 1302.03
2010-03-01 1371.58
2010-04-01 1423.00
2010-05-01 1336.08
... ...
2020-07-01 3207.62
2020-07-31 3271.12
2020-08-01 3391.71
2020-08-31 3500.31
2020-09-01 3526.65

138 rows × 1 columns

SP500 = quandl.get("MULTPL/SP500_DIV_MONTH",start_date = start,end_date = end)
SP500
Value
Date
2010-01-31 26.59
2010-02-28 26.38
2010-03-31 26.08
2010-04-30 26.09
2010-05-31 26.12
... ...
2020-02-29 59.23
2020-03-31 59.81
2020-04-30 60.25
2020-05-31 60.28
2020-06-30 59.99

126 rows × 1 columns

SP500 = quandl.get("MULTPL/SP500_DIV_YEAR",start_date = start,end_date = end)
SP500
Value
Date
2010-12-31 26.87
2011-12-31 30.34
2012-12-31 35.26
2013-12-31 38.90
2014-12-31 43.52
2015-12-31 47.53
2016-12-31 49.05
2017-12-31 51.43
2018-12-31 55.43
2019-03-31 55.35
2019-06-30 56.17
2019-09-30 57.32
2019-12-31 58.72
2020-03-31 59.18
2020-06-30 59.99
SP500 = quandl.get("MULTPL/SP500_DIV_GROWTH_YEAR",start_date = start,end_date = end)
SP500
Value
Date
2010-12-31 1.45
2011-12-31 16.26
2012-12-31 18.25
2013-12-31 11.99
2014-12-31 12.72
2015-12-31 10.00
2016-12-31 5.33
2017-12-31 7.07
2018-12-31 9.84
2019-03-31 9.87
2019-06-30 9.98
2019-09-30 9.32
2019-12-31 8.36
2020-03-31 8.45
2020-06-30 6.43
SP500 = quandl.get("MULTPL/SP500_DIV_GROWTH_QUARTER",start_date = start,end_date = end)
SP500
Value
Date
2010-03-31 -19.63
2010-06-30 -13.90
2010-09-30 -6.48
2010-12-31 1.45
2011-03-31 6.97
2011-06-30 10.46
2011-09-30 12.65
2011-12-31 16.26
2012-03-31 16.74
2012-06-30 16.35
2012-09-30 17.51
2012-12-31 18.25
2013-03-31 17.40
2013-06-30 17.47
2013-09-30 16.27
2013-12-31 11.99
2014-03-31 12.82
2014-06-30 12.37
2014-09-30 11.89
2014-12-31 12.72
2015-03-31 12.64
2015-06-30 11.67
2015-09-30 10.43
2015-12-31 10.00
2016-03-31 7.52
2016-06-30 6.51
2016-09-30 5.92
2016-12-31 5.33
2017-03-31 5.71
2017-06-30 6.21
2017-09-30 6.99
2017-12-31 7.07
2018-03-31 7.81
2018-06-30 7.99
2018-09-30 8.65
2018-12-31 9.84
2019-03-31 9.87
2019-06-30 9.98
2019-09-30 9.32
2019-12-31 8.36
2020-03-31 8.45
2020-06-30 6.43
SP500.head()
Value
Date
2010-01-01 1123.58
2010-02-01 1089.16
2010-03-01 1152.05
2010-04-01 1197.32
2010-05-01 1125.06
SP500.tail()
Value
Date
2020-07-01 3207.62
2020-07-31 3271.12
2020-08-01 3391.71
2020-08-31 3500.31
2020-09-01 3526.65
import matplotlib.pyplot as plt
%matplotlib inline
SP500['Value'].plot(figsize = (12, 8))
plt.title('Total S&P 500 from 2010 to 2020 Value')
Text(0.5, 1.0, 'Total S&P 500 from 2010 to 2020 Value')