2020-07-09

「金融分析、量化交易」常用的pandas_datareader库

介绍:

pandas_datareader是一个远程获取金融数据的Python工具,通过它可以方便获得下面公司和机构的数据:

Facebook Finance

Yahoo! Finance 雅虎金融

Google Finance 谷歌金融

Enigma//Enigma是一个公共数据搜索的提供商

St.Louis FED (FRED) 圣路易斯联邦储备银行

Kenneth French’s data library//肯尼斯弗兰奇资料库

World Bank//世界银行

OECD//经合组织

Eurostat//欧盟统计局

Thrift Savings Plan//美国联邦政府管理离退休的组织

Oanda currency historical rate //外汇经纪商

Nasdaq Trader symbol definitions //纳斯达克

使用

pandas_datareader包的引入

pip install pandas_datareader

1.获取阿里巴巴的股票信息。

import pandas_datareader as pdr

import matplotlib.pyplot as plt

from datetime import datetime

start=datetime(2019,12,1)

end =datetime.today()

alibaba=pdr.get_data_yahoo(‘BABA’,start,end)

#前10条

print(alibaba.head(10))

#最后10条

print(alibaba.tail(10))

#数据形状,即56个交易日,6项股票数据。

print(alibaba.shape)

「金融分析、量化交易」你需要知道的pandas_datareader库
「金融分析、量化交易」你需要知道的pandas_datareader库

导出excel,用于本地分析。

alibaba.to_excel(‘alibaba.xlsx’)

依赖于openpyxl的excel包

「金融分析、量化交易」你需要知道的pandas_datareader库

alibaba[‘Adj Close’].plot(label=’阿里巴巴’)

plt.rcParams[‘font.sans-serif’]=[‘SimHei’]

plt.legend()

plt.show()

「金融分析、量化交易」你需要知道的pandas_datareader库

2.获取其它大型公司的股票信息

再来看看其它几个大公司的情况,苹果,微软,谷歌。我们绘制到一幅图上进行对比。

alibaba=pdr.get_data_yahoo(‘BABA’,start,end)

apple=pdr.get_data_yahoo(‘AAPL’,start,end)

microsoft=pdr.get_data_yahoo(‘MSFT’,start,end)

google=pdr.get_data_yahoo(‘GOOG’,start,end)

stock=pd.DataFrame({

“BABA”:alibaba[‘Adj Close’],

“AAPL”:apple[‘Adj Close’],

“MSFT”:microsoft[‘Adj Close’],

“GOOG”:google[‘Adj Close’]

})

stock.plot(grid=True)

plt.rcParams[‘font.sans-serif’]=[‘SimHei’]

plt.legend()

plt.show()

效果如下:

「金融分析、量化交易」你需要知道的pandas_datareader库