谷歌历史价格变成了熊猫数据帧

时间:2018-05-19 03:34:35

标签: python pandas dataframe finance

我希望将每日历史股票价格纳入熊猫数据框架。我知道如何使用

的日内网址拨打谷歌api
    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)

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

1 个答案:

答案 0 :(得分:2)

您可以更改日内间隔和日期范围:

日内间隔以秒为单位,一天有86,400秒,因此您需要将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'))

查看价格DataFrame会返回以下内容:

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