使用pip安装pandas_datareader
pandas-datareader包中的pandas_datareader.data.DataReader函数可以根据输入的证券Ticker,起始日期和终止日期来返回包含所有历史日价格的数据,其数据类型是DataFrame,这是pandas包引入的一个数据类型。在这里假设需要苹果公司(Ticker: AAPL)从2019年初到今天(20190607)的历史日价格。
1、获取股价数据
此处需使用的包是datetime,pandas,和pandas-datareader. 导入datetime的原因是,我们要使用datetime包中的datetime.datetime.today()函数来调用今天的日期。
接下来,设置起始日期和终止日期。使用datetime.datetime函数指向给定日期,使用datetime.date.today函数指向今天的日期。运行DataReader函数并将其保存到一个名为prices的变量中。
此处需使用的包是datetime,pandas,和pandas-datareader. 导入datetime的原因是,我们要使用datetime包中的datetime.datetime.today()函数来调用今天的日期。
接下来,设置起始日期和终止日期。使用datetime.datetime函数指向给定日期,使用datetime.date.today函数指向今天的日期。运行DataReader函数并将其保存到一个名为prices的变量中。
import datetime
import pandas as pd
import pandas_datareader.data as web
start = datetime.datetime(2019, 1, 1)
end = datetime.date.today()
prices = web.DataReader('AAPL', 'yahoo', start, end)
print(prices.head())
注意DataReader函数中第二个参数代表数据来源,DataReader支持包括雅虎、谷歌在内的十数种数据来源,本篇笔记只关注来源为雅虎财经的数据。
观察一下获得的prices数据的前六行(含列名)。
2、获取股利数据
pandas-datareader包也可以用来获取股利或股票分割等数据,只要将DataReader函数中的数据源参数修改为'yahoo-actions'即可。
import datetime
import pandas as pd
import pandas_datareader.data as web
start = datetime.datetime(2019, 1, 1)
end = datetime.date.today()
prices = web.DataReader('AAPL', 'yahoo-actions', start, end)
print(prices.head())
观察一下获得的prices数据
![](https://img2018.cnblogs.com/blog/1414889/201906/1414889-20190607174807675-1919612420.png)
此处的action表示证券所进行的操作,如派发股利,或股票分割等等,而value则表示操作值。我们可以看到,苹果公司最近一笔股利发放是在2019年05月10日,每股发放了0.77美元的股利。