我想把每天的历史股价输入熊猫数据框。我知道如何使用

    api = 'http://finance.google.com/finance/getprices?q=SPY&i=300&p=3d&f=d,o,h,l,c,'
    price = pd.read_csv(api, skiprows=8, header=None)

但我不知道如何获取日常历史。

最佳答案

您可以更改日内间隔和日期范围:
日内间隔以秒为单位,一天中有86400秒,因此需要将i=300更改为i=86,400。以下内容将获取每日值并格式化日期和时间:

days_back = 10

api = 'http://finance.google.com/finance/getprices?q=SPY&i=86400&p={0}d&f=d,o,h,l,c,'.format(str(days_back))
price = pd.read_csv(api, skiprows=8, header=None, names=["date", "open", "high", "low", "close"])

base = datetime.datetime.today()
date_list = [base - datetime.timedelta(days=x) for x in price["date"]]
price["date"] = date_list
price["date"] = price["date"].apply(lambda x: x.strftime('%Y-%m-%d'))

查看price数据框会返回以下信息:
price

          date    open     high    low   close
0   2018-05-18  266.92  267.325 265.15  266.50
1   2018-05-17  269.50  269.865 267.09  267.68
2   2018-05-16  272.02  272.390 270.22  270.34
3   2018-05-15  272.85  273.150 271.58  272.16
4   2018-05-12  272.98  274.080 272.36  273.34
5   2018-05-11  271.10  271.610 270.03  271.59
6   2018-05-10  272.24  272.760 271.11  271.14
7   2018-05-09  272.01  273.230 271.13  271.94
8   2018-05-08  271.33  272.030 270.93  271.62

10-02 08:51