0 准备工作
首先,使用pip方法安装pandas和pandas-datareader两个功能包. 安装的方法十分简单,以管理员身份运行cmd. 输入以下命令。
$ pip install pandas
$ pip install pandas-datareader
需要注意的是,安装pandas时将自动安装numpy等功能包,因此可以使用pandas即代表安装了numpy功能包。今后,在安装所有Python所需功能包时,皆可使用以上方法。
在Yahoo Finance对API进行升级后,你可能需要安装最新开发版本(latest development version)的pandas-datareader(目前是0.5.0版本),才能对雅虎财经的部分数据进行访问,安装方法可以参考原git。
pandas-datareader包中的pandas_datareader.data.DataReader函数可以根据输入的证券Ticker,起始日期和终止日期来返回包含所有历史日价格的数据,其数据类型是DataFrame,这是pandas包引入的一个数据类型。在这里假设需要苹果公司(Ticker: AAPL)从2016年初到今天(2017年4月6日)的历史日价格。
到这里,打开你的Python代码编辑器,你便完成了所有的准备工作。
1 获取股价数据
此处需使用的包是datetime,pandas,和pandas-datareader. 导入datetime的原因是,我们要使用datetime包中的datetime.datetime.today()函数来调用今天的日期。
import datetime
import pandas as pd
import pandas_datareader.data as web
## !!! here it is 'pandas_datareader' rather than 'pandas-datareader'
在以上代码中,import A as B 的作用是导入A,并给A起一个别名叫做B. 此例中,pandas_datareader.data这个名称显然过长,因此给它起一个别名叫做web,这样在后文中使用pandas_datareader.data.DataReader函数时,直接使用web.DataReader即可。一定要注意的是,这里的pandas_datareader中使用的是下划线'_',而非在pip安装时使用的连接符‘-’