pandas_datareader.DataReader returns 一个日期的数据

pandas_datareader.DataReader returns data for just one date

在使用 pandas_datareader 库访问 S&P 500 历史数据时,我设法获得了当前日期的日期,而不是直到下面提到的开始日期。

import pandas as pd
import pandas_datareader as web
import datetime

def test_run():
    end_date = datetime.datetime.today()
    start_date = datetime.date(end_date.year,2,28)


    #DataReader method name is case sensitive
    df=web.DataReader('^SPX','yahoo',start=start_date,end=end_date)
    path_out = 'Data/'
    df.to_csv(path_out+'SPY.csv')    

if __name__ == "__main__":
    test_run()

日期、最高价、最低价、开盘价、收盘价、成交量、调整收盘价 2020-03-13,2711.330078125,2492.3701171875,2569.989990234375,2711.02001953125,708668739,2711.02001953125

输出在 csv 文件中为: enter image description here

我好像想不出错误在哪里。

symbol/ticker 是“^GSPC”,而不是“^SPX”。

import pandas as pd
import datetime
import pandas_datareader.data as web
start=datetime.datetime(2019,3,13)
end=datetime.datetime(2020,3,13)
df=web.DataReader('^GSPC','yahoo',start,end)
print(df)

结果:

                   High          Low  ...      Volume    Adj Close
Date                                  ...                         
2019-03-13  2821.239990  2799.780029  ...  3766150000  2810.919922
2019-03-14  2815.000000  2803.459961  ...  3469730000  2808.479980
2019-03-15  2830.729980  2810.790039  ...  5962730000  2822.479980
2019-03-18  2835.409912  2821.989990  ...  3552190000  2832.939941
2019-03-19  2852.419922  2823.270020  ...  3620220000  2832.570068
                ...          ...  ...         ...          ...
2020-03-09  2863.889893  2734.429932  ...  8423050000  2746.560059
2020-03-10  2882.590088  2734.000000  ...  7635960000  2882.229980
2020-03-11  2825.600098  2707.219971  ...  7374110000  2741.379883
2020-03-12  2660.949951  2478.860107  ...  8829380000  2480.639893
2020-03-13  2711.330078  2492.370117  ...  8258670000  2711.020020