用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完成了股价数据的取得和可视化这样非常简单的任务。现在,Python作为金融・经济数据的实际分析工具具备了强大的能力,非常引人注目。根据Python实施数据分析,使用人工智能在系统交易中赚大钱也是可能的。下次打算写一下如何比较多家企业的股价,分析其相关关系的过程。
  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值