Show code
import os 
import pandas as pd
import numpy as np
from collections import defaultdict
import datetime as dt
Show code
params = {
    "path_to_sp500" : os.path.join('raw_inputs', 'SP500_InfAdj.csv'),
    "savings_rate" : 0.15,
    "annual_raise" : 0.03,
    "months_working" : 480, # 480 = 40 yrs
    "future_assumed_returns" : 0.04 # Inflation-adj
}
Show code
sp500_df = pd.read_csv(params['path_to_sp500']).iloc[::-1]
sp500_df.reset_index(inplace=True, drop=True)
sp500_df['datetime'] = pd.Series([dt.datetime.strptime(d, "%Y-%m-%d") for d in sp500_df.Date]) 
Show code
sp500_df.head()
Show code
def calculate_retirement(params, start_date):
    salary = 1000
    wealth = 0
    sub_df = sp500_df[sp500_df.datetime >= start_date]
    sub_df.reset_index(inplace=True,drop=True)
    last_close = sub_df.Value[0] # initial market value when the person begins working          
              
    for ix in range(params["months_working"]):
        if ix < len(sub_df): # We have empirical data
            closing_val = sub_df.Value[ix]
            wealth *= (closing_val/last_close)
            print(sub_df.Date[ix], closing_val, last_close, round(wealth,1))
            last_close = closing_val
        else:
            wealth *= (1 + params["future_assumed_returns"]/12)

        wealth += salary * params["savings_rate"] # Save money
        salary *= (1 + params["annual_raise"]/12) # Gain salary
        
                       
    return wealth/12000 # Number of years salary at retirement            
Show code
calculate_retirement(params, dt.datetime(1940,1,1))
1940-01-01 245.95 245.95 0.0
1940-02-01 242.61 245.95 148.0
1940-03-01 241.22 242.61 296.6
1940-04-01 243.6 241.22 451.8
1940-05-01 210.05 243.6 519.9
1940-06-01 190.62 210.05 609.3
1940-07-01 198.34 190.62 792.0
1940-08-01 202.5 198.34 964.1
1940-09-01 211.04 202.5 1163.8
1940-10-01 213.03 211.04 1329.2
1940-11-01 217.99 213.03 1517.2
1940-12-01 207.57 217.99 1591.1
1941-01-01 207.97 207.57 1748.6
1941-02-01 194.96 207.97 1784.1
1941-03-01 194.76 194.96 1937.1
1941-04-01 187.37 194.76 2013.0
1941-05-01 182.02 187.37 2106.8
1941-06-01 184.54 182.02 2294.3
1941-07-01 194.0 184.54 2576.4
1941-08-01 190.46 194.0 2683.4
1941-09-01 188.49 190.46 2811.3
1941-10-01 178.58 188.49 2812.9
1941-11-01 169.12 178.58 2813.6
1941-12-01 157.09 169.12 2760.7
1942-01-01 158.09 157.09 2938.1
1942-02-01 152.17 158.09 2981.4
1942-03-01 142.1 152.17 2933.2
1942-04-01 135.35 142.1 2946.3
1942-05-01 135.22 135.35 3103.8
1942-06-01 142.04 135.22 3429.3
1942-07-01 146.43 142.04 3701.6
1942-08-01 144.7 146.43 3817.6
1942-09-01 146.22 144.7 4021.5
1942-10-01 155.12 146.22 4438.6
1942-11-01 156.68 155.12 4647.8
1942-12-01 156.57 156.68 4807.7
1943-01-01 165.95 156.57 5269.2
1943-02-01 175.81 165.95 5756.1
1943-03-01 178.89 175.81 6024.4
1943-04-01 182.74 178.89 6322.5
1943-05-01 188.85 182.74 6704.8
1943-06-01 192.18 188.85 6991.7
1943-07-01 197.28 192.18 7347.8
1943-08-01 188.62 197.28 7184.5
1943-09-01 191.53 188.62 7464.9
1943-10-01 189.77 191.53 7562.2
1943-11-01 180.99 189.77 7372.4
1943-12-01 183.38 180.99 7640.3
1944-01-01 189.29 183.38 8060.6
1944-02-01 188.01 189.29 8174.1
1944-03-01 193.29 188.01 8577.9
1944-04-01 188.85 193.29 8546.9
1944-05-01 192.18 188.85 8871.0
1944-06-01 200.09 192.18 9413.9
1944-07-01 204.14 200.09 9779.2
1944-08-01 201.16 204.14 9805.6
1944-09-01 197.86 201.16 9814.0
1944-10-01 202.73 197.86 10232.3
1944-11-01 201.32 202.73 10332.8
1944-12-01 204.56 201.32 10675.3
1945-01-01 210.65 204.56 11172.1
1945-02-01 217.67 210.65 11724.5
1945-03-01 217.52 217.67 11890.9
1945-04-01 222.98 217.52 12368.9
1945-05-01 230.12 222.98 12946.2
1945-06-01 231.73 230.12 13214.0
1945-07-01 226.97 231.73 13115.3
1945-08-01 227.73 226.97 13336.7
1945-09-01 243.24 227.73 14434.4
1945-10-01 253.38 243.24 15221.3
1945-11-01 261.67 253.38 15903.4
1945-12-01 264.66 261.67 16265.8
1946-01-01 275.2 264.66 17099.8
1946-02-01 277.49 275.2 17423.1
1946-03-01 266.25 277.49 16890.1
1946-04-01 281.88 266.25 18072.6
1946-05-01 280.95 281.88 18193.3
1946-06-01 276.16 280.95 18061.4
1946-07-01 253.38 276.16 16738.3
1946-08-01 243.55 253.38 16264.1
1946-09-01 205.6 243.55 13884.1
1946-10-01 197.1 205.6 13485.7
1946-11-01 191.69 197.1 13294.1
1946-12-01 195.6 191.69 13753.1
1947-01-01 196.63 195.6 14011.0
1947-02-01 204.26 196.63 14746.9
1947-03-01 192.41 204.26 14066.1
1947-04-01 185.3 192.41 13725.4
1947-05-01 182.0 185.3 13664.0
1947-06-01 187.49 182.0 14268.7
1947-07-01 197.44 187.49 15223.2
1947-08-01 190.98 197.44 14906.7
1947-09-01 182.0 190.98 14385.2
1947-10-01 186.71 182.0 14951.1
1947-11-01 183.73 186.71 14898.7
1947-12-01 178.53 183.73 14661.3
1948-01-01 173.92 178.53 14468.0
1948-02-01 166.77 173.92 14056.0
1948-03-01 169.86 166.77 14511.1
1948-04-01 179.85 169.86 15567.4
1948-05-01 187.82 179.85 16457.8
1948-06-01 193.99 187.82 17197.3
1948-07-01 187.05 193.99 16768.2
1948-08-01 180.84 187.05 16398.6
1948-09-01 178.79 180.84 16404.5
1948-10-01 184.43 178.79 17122.6
1948-11-01 175.61 184.43 16489.4
1948-12-01 175.19 175.61 16644.9
1949-01-01 177.89 175.19 17100.4
1949-02-01 172.49 177.89 16771.8
1949-03-01 174.13 172.49 17130.0
1949-04-01 173.17 174.13 17231.9
1949-05-01 172.61 173.17 17373.5
1949-06-01 162.47 172.61 16539.6
1949-07-01 173.1 162.47 17833.6
1949-08-01 178.56 173.1 18601.8
1949-09-01 180.14 178.56 18968.1
1949-10-01 186.35 180.14 19829.3
1949-11-01 188.14 186.35 20222.6
1949-12-01 194.8 188.14 21147.0
1950-01-01 199.65 194.8 21880.4
1950-02-01 203.55 199.65 22514.2
1950-03-01 204.34 203.55 22805.3
1950-04-01 210.11 204.34 23658.4
1950-05-01 216.26 210.11 24560.8
1950-06-01 218.85 216.26 25061.8
1950-07-01 200.45 218.85 23142.4
1950-08-01 210.81 200.45 24554.6
1950-09-01 217.35 210.81 25528.7
1950-10-01 224.51 217.35 26583.0
1950-11-01 223.15 224.51 26627.7
1950-12-01 219.58 223.15 26405.9
1951-01-01 232.1 219.58 28131.4
1951-02-01 237.93 232.1 29051.8
1951-03-01 233.02 237.93 28657.1
1951-04-01 236.15 233.02 29254.4
1951-05-01 235.34 236.15 29363.5
1951-06-01 231.27 235.34 29062.7
1951-07-01 235.34 231.27 29789.0
1951-08-01 245.65 235.34 31315.0
1951-09-01 250.05 245.65 32092.0
1951-10-01 247.82 250.05 32016.6
1951-11-01 239.1 247.82 31095.9
1951-12-01 245.54 239.1 32153.0
1952-01-01 253.72 245.54 33445.7
1952-02-01 251.0 253.72 33299.7
1952-03-01 251.63 251.0 33599.3
1952-04-01 249.94 251.63 33588.1
1952-05-01 249.84 249.94 33791.1
1952-06-01 255.71 249.84 34807.2
1952-07-01 261.08 255.71 35760.4
1952-08-01 262.12 261.08 36121.8
1952-09-01 257.96 262.12 35763.8
1952-10-01 252.55 257.96 35228.4
1952-11-01 260.56 252.55 36572.4
1952-12-01 271.08 260.56 38278.3
1953-01-01 273.56 271.08 38851.4
1953-02-01 271.24 273.56 38741.4
1953-03-01 271.57 271.24 39010.8
1953-04-01 258.2 271.57 37301.8
1953-05-01 258.59 258.2 37581.6
1953-06-01 248.39 258.59 36314.1
1953-07-01 251.92 248.39 37057.6
1953-08-01 252.01 251.92 37295.7
1953-09-01 240.44 252.01 35798.4
1953-10-01 246.76 240.44 36971.2
1953-11-01 253.15 246.76 38160.9
1953-12-01 256.56 253.15 38905.0
1954-01-01 263.07 256.56 40125.6
1954-02-01 268.86 263.07 41241.9
1954-03-01 274.54 268.86 42346.8
1954-04-01 286.56 274.54 44440.2
1954-05-01 296.86 286.56 46275.7
1954-06-01 299.23 296.86 46877.5
1954-07-01 311.32 299.23 49011.9
1954-08-01 317.52 311.32 50224.2
1954-09-01 326.17 317.52 51830.9
1954-10-01 333.75 326.17 53273.6
1954-11-01 346.81 333.75 55600.8
1954-12-01 364.04 346.81 58608.7
1955-01-01 370.6 364.04 59903.5
1955-02-01 382.99 370.6 62149.2
1955-03-01 379.97 382.99 61893.0
1955-04-01 393.08 379.97 64272.9
1955-05-01 391.42 393.08 64237.4
1955-06-01 414.11 391.42 68212.4
1955-07-01 442.75 414.11 73184.5
1955-08-01 440.05 442.75 72975.4
1955-09-01 458.15 440.05 76226.1
1955-10-01 435.11 458.15 72620.5
1955-11-01 464.45 435.11 77774.1
1955-12-01 470.54 464.45 79038.1
1956-01-01 457.89 470.54 77148.4
1956-02-01 460.79 457.89 77880.8
1956-03-01 492.53 460.79 83505.0
1956-04-01 496.48 492.53 84420.1
1956-05-01 479.1 496.48 81700.4
1956-06-01 472.82 479.1 80871.0
1956-07-01 494.83 472.82 84892.3
1956-08-01 493.69 494.83 84942.1
1956-09-01 475.15 493.69 81989.5
1956-10-01 467.36 475.15 80888.4
1956-11-01 462.51 467.36 80294.1
1956-12-01 467.68 462.51 81442.9
1957-01-01 457.51 467.68 79915.4
1957-02-01 436.19 457.51 76429.4
1957-03-01 440.22 436.19 77388.1
1957-04-01 448.8 440.22 79152.2
1957-05-01 464.37 448.8 82158.4
1957-06-01 470.34 464.37 83470.0
1957-07-01 476.44 470.34 84808.6
1957-08-01 450.22 476.44 80380.8
1957-09-01 431.95 450.22 77362.6
1957-10-01 405.04 431.95 72781.8
1957-11-01 394.9 405.04 71208.7
1957-12-01 394.71 394.9 71430.3
1958-01-01 399.62 394.71 72578.6
1958-02-01 400.98 399.62 73083.7
1958-03-01 406.4 400.98 74332.9
1958-04-01 407.21 406.4 74740.1
1958-05-01 420.29 407.21 77408.3
1958-06-01 430.39 420.29 79534.6
1958-07-01 440.69 430.39 81704.7
1958-08-01 458.76 440.69 85326.7
1958-09-01 470.88 458.76 87849.6
1958-10-01 490.02 470.88 91693.6
1958-11-01 503.18 490.02 94426.2
1958-12-01 514.44 503.18 96808.9
1959-01-01 533.09 514.44 100592.5
1959-02-01 526.75 533.09 99658.0
1959-03-01 540.12 526.75 102460.0
1959-04-01 547.27 540.12 104086.3
1959-05-01 555.51 547.27 105924.5
1959-06-01 548.83 555.51 104915.3
1959-07-01 568.65 548.83 108982.2
1959-08-01 565.41 568.65 108628.7
1959-09-01 541.19 565.41 104233.7
1959-10-01 538.88 541.19 104058.0
1959-11-01 541.05 538.88 104749.2
1959-12-01 558.35 541.05 108379.0
1960-01-01 550.49 558.35 107121.9
1960-02-01 527.34 550.49 102878.7
1960-03-01 520.16 527.34 101748.0
1960-04-01 525.09 520.16 102989.5
1960-05-01 520.28 525.09 102318.7
1960-06-01 537.68 520.28 106025.7
1960-07-01 524.35 537.68 103666.8
1960-08-01 530.64 524.35 105190.9
1960-09-01 514.67 530.64 102294.7
1960-10-01 501.15 514.67 99878.8
1960-11-01 517.38 501.15 103401.8
1960-12-01 529.78 517.38 106166.7
1961-01-01 557.02 529.78 111920.7
1961-02-01 579.87 557.02 116804.9
1961-03-01 598.05 579.87 120757.9
1961-04-01 614.0 598.05 124268.9
1961-05-01 620.25 614.0 125820.3
1961-06-01 612.05 620.25 124437.3
1961-07-01 606.3 612.05 123550.6
1961-08-01 630.17 606.3 128711.7
1961-09-01 623.16 630.17 127563.1
1961-10-01 630.02 623.16 129257.6
1961-11-01 658.55 630.02 135411.8
1961-12-01 664.67 658.55 136961.4
1962-01-01 639.93 664.67 132142.0
1962-02-01 648.42 639.93 134189.0
1962-03-01 649.07 648.42 134614.5
1962-04-01 626.3 649.07 130173.3
1962-05-01 579.73 626.3 120764.4
1962-06-01 511.99 579.73 106912.0
1962-07-01 522.6 511.99 109427.3
1962-08-01 536.82 522.6 112707.2
1962-09-01 530.3 536.82 111629.8
1962-10-01 513.56 530.3 108392.4
1962-11-01 548.95 513.56 116178.9
1962-12-01 572.72 548.95 121519.7
1963-01-01 594.85 572.72 126524.8
1963-02-01 602.71 594.85 128499.4
1963-03-01 598.45 602.71 127888.6
1963-04-01 626.61 598.45 134220.8
1963-05-01 639.19 626.61 137222.6
1963-06-01 636.83 639.19 137016.6
1963-07-01 625.34 636.83 134841.6
1963-08-01 642.63 625.34 138881.5
1963-09-01 659.56 642.63 142852.4
1963-10-01 659.04 659.56 143044.4
1963-11-01 655.34 659.04 142545.1
1963-12-01 667.17 655.34 145430.2
1964-01-01 687.67 667.17 150215.4
1964-02-01 696.13 687.67 152375.1
1964-03-01 708.81 696.13 155464.9
1964-04-01 719.07 708.81 158029.1
1964-05-01 726.08 719.07 159882.9
1964-06-01 719.44 726.08 158728.9
1964-07-01 743.76 719.44 164416.9
1964-08-01 735.22 743.76 162838.0
1964-09-01 745.45 735.22 165421.4
1964-10-01 758.32 745.45 168596.9
1964-11-01 761.15 758.32 169542.1
1964-12-01 747.97 761.15 166916.6
1965-01-01 767.21 747.97 171534.8
1965-02-01 772.82 767.21 173108.6
1965-03-01 771.06 772.82 173031.7
1965-04-01 778.7 771.06 175068.2
1965-05-01 790.29 778.7 177998.3
1965-06-01 748.0 790.29 168776.5
1965-07-01 746.85 748.0 168837.8
1965-08-01 760.75 746.85 172308.1
1965-09-01 786.17 760.75 178399.4
1965-10-01 801.31 786.17 182164.8
1965-11-01 807.98 801.31 184008.3
1965-12-01 801.77 807.98 182916.8
1966-01-01 815.66 801.77 186417.5
1966-02-01 805.09 815.66 184324.4
1966-03-01 769.6 805.09 176512.3
1966-04-01 788.24 769.6 181123.9
1966-05-01 746.76 788.24 171904.6
1966-06-01 738.28 746.76 170278.9
1966-07-01 734.12 738.28 169648.6
1966-08-01 685.52 734.12 158727.4
1966-09-01 661.38 685.52 153458.9
1966-10-01 651.61 661.38 151520.6
1966-11-01 684.23 651.61 159456.9
1966-12-01 687.1 684.23 160462.3
1967-01-01 713.46 687.1 166967.2
1967-02-01 738.04 713.46 173067.9
1967-03-01 753.15 738.04 176955.8
1967-04-01 763.81 753.15 179803.7
1967-05-01 775.16 763.81 182820.0
1967-06-01 763.15 775.16 180322.4
1967-07-01 774.01 763.15 183234.4
1967-08-01 783.98 774.01 185941.0
1967-09-01 792.57 783.98 188324.9
1967-10-01 788.98 792.57 187813.9
1967-11-01 761.97 788.98 181717.0
1967-12-01 781.37 761.97 186697.7
1968-01-01 774.67 781.37 185440.1
1968-02-01 737.54 774.67 176882.4
1968-03-01 721.94 737.54 173481.7
1968-04-01 773.0 721.94 186124.9
1968-05-01 788.49 773.0 190211.3
1968-06-01 805.01 788.49 194554.4
1968-07-01 798.8 805.01 193402.3
1968-08-01 779.13 798.8 188983.6
1968-09-01 802.17 779.13 194935.7
1968-10-01 817.31 802.17 198975.7
1968-11-01 827.56 817.31 201830.5
1968-12-01 833.84 827.56 203720.7
1969-01-01 796.37 833.84 194906.9
1969-02-01 788.04 796.37 193222.1
1969-03-01 764.55 788.04 187810.3
1969-04-01 775.65 764.55 190901.7
1969-05-01 798.72 775.65 196950.7
1969-06-01 752.89 798.72 185990.3
1969-07-01 715.34 752.89 177058.2
1969-08-01 707.49 715.34 175474.3
1969-09-01 708.06 707.49 175979.9
1969-10-01 711.79 708.06 177273.7
1969-11-01 713.1 711.79 177966.4
1969-12-01 671.72 713.1 167984.7
1970-01-01 664.06 671.72 166432.5
1970-02-01 637.52 664.06 160134.6
1970-03-01 645.03 637.52 162394.8
1970-04-01 620.51 645.03 156577.9
1970-05-01 547.69 620.51 138530.4
1970-06-01 541.5 547.69 137332.8
1970-07-01 539.65 541.5 137235.4
1970-08-01 555.33 539.65 141607.9
1970-09-01 585.53 555.33 149704.2
1970-10-01 595.19 585.53 152556.2
1970-11-01 591.55 595.19 151997.8
1970-12-01 628.87 591.55 161988.8
1971-01-01 652.9 628.87 168571.9
1971-02-01 676.48 652.9 175053.5
1971-03-01 692.09 676.48 179482.3
1971-04-01 713.93 692.09 185539.9
1971-05-01 700.73 713.93 182484.9
1971-06-01 682.68 700.73 178158.0
1971-07-01 676.09 682.68 176819.0
1971-08-01 662.44 676.09 173626.8
1971-09-01 677.16 662.44 177879.9
1971-10-01 661.16 677.16 174055.2
1971-11-01 630.51 661.16 166356.7
1971-12-01 670.66 630.51 177364.2
1972-01-01 698.59 670.66 185157.2
1972-02-01 707.99 698.59 188045.2
1972-03-01 723.07 707.99 192451.1
1972-04-01 728.69 723.07 194343.2
1972-05-01 719.59 728.69 192305.5
1972-06-01 719.87 719.59 192775.7
1972-07-01 711.12 719.87 190823.9
1972-08-01 734.58 711.12 197529.5
1972-09-01 722.27 734.58 194610.9
1972-10-01 720.17 722.27 194443.1
1972-11-01 754.52 720.17 204136.7
1972-12-01 768.44 754.52 208311.4
1973-01-01 772.51 768.44 209819.0
1973-02-01 739.9 772.51 201348.0
1973-03-01 721.51 739.9 196737.8
1973-04-01 703.16 721.51 192129.1
1973-05-01 678.72 703.16 185843.3
1973-06-01 659.03 678.72 180847.3
1973-07-01 663.81 659.03 182570.2
1973-08-01 639.71 663.81 176336.3
1973-09-01 649.37 639.71 179415.6
1973-10-01 669.27 649.37 185337.7
1973-11-01 617.66 669.27 171426.1
1973-12-01 570.21 617.66 158638.4
1974-01-01 573.25 570.21 159900.8
1974-02-01 550.3 573.25 153898.0
1974-03-01 566.6 550.3 158885.3
1974-04-01 535.4 566.6 150530.8
1974-05-01 512.83 535.4 144586.0
1974-06-01 509.33 512.83 144016.0
1974-07-01 446.24 509.33 126545.5
1974-08-01 422.65 446.24 120255.3
1974-09-01 374.19 422.65 106841.4
1974-10-01 377.7 374.19 108271.4
1974-11-01 387.18 377.7 111424.5
1974-12-01 359.19 387.18 103764.5
1975-01-01 387.1 359.19 112287.5
1975-02-01 424.07 387.1 123480.5
1975-03-01 441.87 424.07 129110.7
1975-04-01 445.14 441.87 130499.6
1975-05-01 470.74 445.14 138460.7
1975-06-01 479.15 470.74 141374.5
1975-07-01 474.31 479.15 140375.5
1975-08-01 438.73 474.31 130247.3
1975-09-01 431.02 438.73 128386.4
1975-10-01 448.41 431.02 134020.6
1975-11-01 452.71 448.41 135747.8
1975-12-01 444.22 452.71 133632.7
1976-01-01 484.21 444.22 146142.4
1976-02-01 501.1 484.21 151696.5
1976-03-01 502.69 501.1 152621.5
1976-04-01 504.86 502.69 153725.5
1976-05-01 497.85 504.86 152029.3
1976-06-01 498.15 497.85 152566.7
1976-07-01 507.22 498.15 155799.3
1976-08-01 500.21 507.22 154087.7
1976-09-01 509.09 500.21 157280.0
1976-10-01 489.17 509.09 151558.2
1976-11-01 484.97 489.17 150704.2
1976-12-01 500.02 484.97 155847.3
1977-01-01 493.18 500.02 154162.6
1977-02-01 475.0 493.18 148917.5
1977-03-01 469.94 475.0 147781.9
1977-04-01 458.85 469.94 144740.5
1977-05-01 455.23 458.85 144052.9
1977-06-01 454.65 455.23 144327.9
1977-07-01 456.56 454.65 145396.4
1977-08-01 443.94 456.56 141826.0
1977-09-01 435.62 443.94 139621.9
1977-10-01 422.97 435.62 136017.6
1977-11-01 423.34 422.97 136601.9
1977-12-01 419.92 423.34 135960.6
1978-01-01 401.36 419.92 130397.8
1978-02-01 393.19 401.36 128202.3
1978-03-01 389.39 393.19 127428.2
1978-04-01 403.26 389.39 132454.7
1978-05-01 419.77 403.26 138368.7
1978-06-01 416.33 419.77 137704.0
1978-07-01 411.17 416.33 136465.6
1978-08-01 437.56 411.17 145730.3
1978-09-01 434.27 437.56 145107.6
1978-10-01 416.71 434.27 139698.5
1978-11-01 390.57 416.71 131384.2
1978-12-01 394.59 390.57 133221.7
1979-01-01 405.77 394.59 137491.3
1979-02-01 395.12 405.77 134352.6
1979-03-01 398.6 395.12 136023.9
1979-04-01 401.96 398.6 137659.7
1979-05-01 387.69 401.96 133241.6
1979-06-01 390.97 387.69 134860.4
1979-07-01 390.5 390.97 135186.3
1979-08-01 404.49 390.5 140536.9
1979-09-01 404.63 404.49 141076.8
1979-10-01 386.24 404.63 135135.0
1979-11-01 379.75 386.24 133349.6
1979-12-01 390.65 379.75 137686.1
11.5151811094053
Show code
outcomes = defaultdict(list)
Show code
for d,v in zip(sp500_df.Date, sp500.value):
    
Show code
dt.datetime.strptime(sp500_df.Date[0], "%Y-%m-%d")