大数跨境
0
0

如何用python获取美股数据?

如何用python获取美股数据? 数据皮皮侠
2020-04-13
1
导读:今天给大家分享如何用python获取美股数据



前言



今天给大家分享如何用python获取美股数据

获取数据是数据分析的第一步是找到可靠的真实的数据。金融市场如此庞大,数据获取的渠道有很多,各大财经网站都可以爬取。但是毕竟爬取数据是很费精力的,从头爬取十分麻烦。因此今天给大家介绍一个python的第三方库,可以免去爬取的麻烦,比如yfinance,几乎可以当做api来调用。下面就给大家介绍下yfinance的功能的初步探索。


1



获取个股数据

在anaconda prompt里输入pip install yfinance

获取个股数据,以阿里巴巴(美股代码:BABA)为例

import yfinance as yfalbb = yf.Ticker('BABA')albb_info= albb.infoprint(albb_info)

获取历史数据,并将其可视化

import yfinance as yfalbb = yf.Ticker('BABA')albb_info= albb.infoprint(albb_info)import yfinance as yfimport matplotlib.pyplot as pltalbb = yf.Ticker('BABA')hist = albb.history(period='max')hist_close = hist['Close']plt.figure(figsize=(26,14))plt.title('albb')hist_close.plot()plt.show()



1



获取多股数据

同时下载阿里巴巴和苹果(美股代码“AAPL”)的历史数据,并且设置时间段为2019年1月2日至2019年11月20日


也可以使用pandas_datareader去更快地下载数据,并确保返回的数据与pandas_datareader的格式相同,则可以使用pandas_datareader.data.get_data_yahoo()方法

from pandas_datareader import data as pdrimport yfinance as yf
yf.pdr_override()data= pdr.get_data_yahoo("BABA", start="2019-01-02", end= "2019-11-20")print(data)



2



获取股指数据

解析雅虎财经官网股指代码规则

上雅虎财经官网查看不同指数的代码,下一步要用

接下来我们获取“中国上证指数、香港恒生指数、日经指数、南韩综合指数、新加坡海峡时报指数、英国富时100指数、道琼斯工业平均指数、巴西Bovespa指数”并将各个指数的收盘做出时序图


接下来我们获取“中国上证指数、香港恒生指数、日经指数、南韩综合指数、新加坡海峡时报指数、英国富时100指数、道琼斯工业平均指数、巴西Bovespa指数”并将各个指数的收盘做出时序图 

import yfinance as yffrom pandas_datareader import data as pdrimport matplotlib.pyplot as pltimport numpy as npfrom matplotlib.font_manager import FontProperties

yf.pdr_override()font = FontProperties(fname = "C:/Users/lemon/Documents/Tencent Files/1321771918/FileRecv/Hiragino Sans GB W3.otf",size = 18)

WorldStockIndexList = {'000001.SS':'中国上证指数', '^HSI':'香港恒生指数', '^N225':'日本日经225指数', '^KS11':'南韩综合指数', 'STI':'新加坡海峡时报指数', '^FTSE':'英国富时100指数', '^DJI':'道琼斯工业平均指数', '^BVSP':'巴西Bovespa指数'}

world_data={}for ticker in WorldStockIndexList.key(): world_data[ticker]=pdr.get_data_yahoo(ticker)

subjects= list(WorldStockIndexList.values())tickers= list(WorldStockIndexList.values)plot_pos=[421,422,423,424,425,426,427,428]new_colors = ['red','green','blue','cyan','brown','gold','fuchsia','black']

fig = plt.figure(figsize=(32,36))fig.suptitle('环球指股',fontsize=36,fontproperties = font)for pos in np.arange(len(plot_pos)): ax = fig.add_subplot(plot_pos[pos]) y_data =world_data[tickers[pos]]['Close'] b = ax.plot(y_data,color=new_colors[pos]) ax.set_title(subjects[pos],fontproperties = font)plt.show()

     

通过结果显示,某些指数之间的形态还是很相似的。


本期作者:钱佳靖

本期编辑校对:秦范

长按,关注数据皮皮侠





【声明】内容源于网络
0
0
数据皮皮侠
社科数据综合服务中心,立志服务百千万社科学者
内容 2137
粉丝 0
数据皮皮侠 社科数据综合服务中心,立志服务百千万社科学者
总阅读615
粉丝0
内容2.1k