0
点赞
收藏
分享

微信扫一扫

用Python获取股价数据,通过Matplotlib可视化

http://hirotsuru.hatenablog.com/entry/2016/05/17/190404


股价数据是典型的一种时间序列数据,而Python非常擅长获取处理时间序列数据。特别是,Python库的pandas原本就是为了处理金融数据而开发的,为时间序列数据的分析准备了许多强大的功能。



 这次做的东西非常简单,就是下面的2点。




 1. 从Yahoo! Finance获取阿里巴巴的股价数据




 2. 取得的股价数据作为时间序列数据plot显示




股价数据的取得




首先在开头,如下导入必要的库。



import pandas as pd
from pandas import Series, DataFrame
import numpy as np

import matplotlib.pyplot as plt



使用pandas标准功能的DataReader的话可以从Yahoo或Google等简单地取得股价。



from pandas_datareader import data, wb
from datetime import datetime

end = datetime.now()
start = datetime(end.year - 1, end.month, end.day)
alibaba = data.DataReader('BABA', 'yahoo', start, end)




这里需要注意的是,这里从Yahoo! Finance获取的数据,不是东京证交所的信息,而是纽约证交所的美国股市的信息。


 上述的代码里end和start决定获取从何时开始到何时结束的数据。End设成now(现在),start设成从现在开始1年前。总之取得1年的股价数据。取得的数据保存到"alibaba"。




股价数据的可视化




 Matplotlib是使用Python进行绘图里非常方便的库。这次 plot使用的数据是 Adj Close栏的数据。这是所说的已调整收盘价。




 如下仅仅需要两行写就可以简单的将股价作为时间序列数据画出来。



alibaba['Adj Close'].plot(legend=True, figsize=(10,4))
plt.show()



用Python获取股价数据,通过Matplotlib可视化_时间序列




结束语




 这次通过使用Python完成了股价数据的取得和可视化这样非常简单的任务。现在,Python作为金融・经济数据的实际分析工具具备了强大的能力,非常引人注目。根据Python实施数据分析,使用人工智能在系统交易中赚大钱也是可能的。下次打算写一下如何比较多家企业的股价,分析其相关关系的过程。


举报

相关推荐

0 条评论