本文介绍如何使用 Python 从互联网下载金融相关的数据,包括股票数据、经济数据等。这里进行数据获取的Python包有以下两种:
如果未安装过这两个Python包,可以在命令行中输入以下代码进行安装:
pip install quandl
pip install pandas-datareader
获取股票数据
使用 quandl 包
import quandl
quandl.get(dataset, start_date, end_date)
- dataset:数据集的 quandl 代码
- start_date: 起始日期
- end_date: 结束日期
首先需要设置获取数据的日期范围,这里采用日期时间格式,导入 datetime
包。
# 时间范围:2017年1月1日至今
from datetime import date
start = date(2017,1,1)
end = date.today()
然后导入 quandl
包,使用 quandl.get()
函数获取苹果公司从2017年至今的股票数据(quandl代码:WIKI/AAPL)。
import quandl
apple = quandl.get("WIKI/AAPL", start_date=start, end_date=end)
查看数据的前五行和后五行。
apple.head()
apple.tail()
注意到这里只获取到了2018年3月27日的数据,如果要取得实时数据,需要注册 quandl 的账号获取 API key 授权。
比如获取最近5天的苹果股票数据(这里quandl代码为 EOD/AAPL)。
quandl.ApiConfig.api_key = "你的key"
quandl.get("EOD/AAPL", rows=5)
绘制股票收盘价的时间序列图。
import matplotlib.pyplot as plt
apple['Close'].plot()
plt.show()
获取经济数据
pandas_datareader 包提供丰富多样的数据集下载,其使用方法如下:
使用 pandas_datareader 包
from pandas_datareader.data import DataReader
DataReader(name, data_source, start, end)
- name: 数据集的名称
- data_source: 数据源
- start: 起始日期
- end: 结束日期
它有许多数据源可以选择,这里以美联储经济数据(FRED)为例,查看历年来黄金价格的情况。因为采用FRED数据,所以data_source 设为 'fred'。另外还需要知道黄金价格的数据集名称,我们首先登录 FRED 官网,在站内搜索 gold price,找到相应的数据集,下图中红框圈出的就是黄金价格的数据集名称 'GOLDAMGBD228NLBM'。
万事具备,现在就让我们来获取1968年以来的黄金价格数据。
from pandas_datareader.data import DataReader
# 设置起始时间
start = date(1968,1,1)
# 设置黄金价格数据集名称
name = 'GOLDAMGBD228NLBM'
# 设置数据源
source = 'fred'
# 从fred获取黄金价格数据
gold_price = DataReader(name, source, start)
输出该数据的摘要信息如下,它一共有13196条记录,从1968年4月1日到2018年10月29日。
gold_price.info()
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 13196 entries, 1968-04-01 to 2018-10-29
Data columns (total 1 columns):
GOLDAMGBD228NLBM 12790 non-null float64
dtypes: float64(1)
memory usage: 206.2 KB
绘制黄金价格随时间变化的图。
gold_price.plot(title='Gold Price')
plt.show()
注:本文是 DataCamp 课程 Importing & Managing Financial Data in Python
的学习笔记。更多该课程的更多笔记: