![cac613ce9d1b03d7e6b819f340e8f488.png](https://i-blog.csdnimg.cn/blog_migrate/b0450d34acd7cab1181aaf7ccc8b242f.jpeg)
前言
今天给大家分享如何用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()
![411ca07aa851e0222e35fc7b333cc2c1.png](https://i-blog.csdnimg.cn/blog_migrate/d0cb76c02cceebc693c71eae0cade0cd.png)
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 yfyf.pdr_override()data= pdr.get_data_yahoo("BABA", start="2019-01-02", end= "2019-11-20")print(data)
2
获取股指数据
![4efe7e5ac756a828cfe953405d6c8077.png](https://i-blog.csdnimg.cn/blog_migrate/0c1e02e50b026217c84946ec6d20fbf7.jpeg)
![6c5dca4d71df8bd5d16368ce5bf1f214.png](https://i-blog.csdnimg.cn/blog_migrate/a88ca7c27aaaf526ad33d7a381b45c12.png)
![8d6fde6ff329dd04d47e5f1966582ea9.png](https://i-blog.csdnimg.cn/blog_migrate/55560724b6e5c385f9fd2e5b767b4890.jpeg)
解析雅虎财经官网股指代码规则
上雅虎财经官网查看不同指数的代码,下一步要用
![990cd8fd09e863662881c5ebe39566b1.png](https://i-blog.csdnimg.cn/blog_migrate/46070156952d7060ffca8e34a2d02254.jpeg)
接下来我们获取“中国上证指数、香港恒生指数、日经指数、南韩综合指数、新加坡海峡时报指数、英国富时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 FontPropertiesyf.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()
通过结果显示,某些指数之间的形态还是很相似的。
本期作者:钱佳靖
本期编辑校对:秦范
长按,关注数据皮皮侠
![d51b1cf29a48a7d01db281ff833eff9b.png](https://i-blog.csdnimg.cn/blog_migrate/2ce65bfa468657225d641e19eea30cf6.jpeg)