我想把每天的历史股价输入熊猫数据框。我知道如何使用
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