【量化工具箱之AKShare】Python开源财经数据接口库
文章目录
量化的第一步:数据
想要玩量化,第一步要有数据,这个数据可能是历史交易数据、财务数据、宏观数据等等。我们最终要做的,无非就是从数据中分析出有价值的信息,以便用来指导投资策略。
在获取数据的这条道路上,我走了很多弯路,尝试了各种方法:使用Tushare到放弃、自己写网易股票页面的爬虫,自己写申万行业数据的爬虫、自己写同花顺问财的爬虫、使用聚宽的免费数据API等等,直到最终,我发现了AKShare。
AKShare介绍
官网地址:https://www.akshare.xyz/index.html
Github地址:https://github.com/akfamily/akshare
具体能获取那些数据我就不说了,放一张目录图,应该是目前市面上能找到免费里最全的。
其实,最让我佩服的一点,是akshare在Github上的issues能做到24小时内清零,下面是我现在写文章时的截图。可以看到,目前没有一个Open的问题,最新Closed的问题是五小时前,维护的老哥真的很肝。
我刚在Github上关注了Albert King这位老哥,看简介是为成都的“大法师”,在下十分佩服,做开源库能坚持把issues清零的不多见。。。
这一点对这种库的质量的确很重要,因为很多问题并不是Bug,而很可能是数据源本身的接口发生了一些变化引起的,只能常维护常更新,希望这位老哥能坚持下去,等我真的学量化赚到钱,我给老哥上贡!
AKShare安装
废话不多说,安装!命令如下:
pip install akshare --upgrade
--upgrade
代表更新到最新版,初次安装不加也可以,估计是这个包更新频率比较高,直接加上比较方便。
AKShare使用
使用也很简单,看官方文档就可以了,所以功能都是:找到方法名,传参,获取结果,这种简单的套路。简单试用一下
import akshare as ak
stock_sse_summary = ak.stock_sse_summary()
print(stock_sse_summary)
print(type(stock_sse_summary))
返回结果如下
可以看到,返回结果的类型是<class 'pandas.core.frame.DataFrame'>
,就是pandas的DataFrame,利用pandas就可以做后续处理了。
需要认清的一点,AKShare的数据其实都是来源于网络,你调取接口所做的,只是去爬取了某个公开页面的数据,AKShare本身并不维护和提供数据服务,至少现在还没有。
AKTools安装/使用
最后介绍一下AKTools,这是AKShare最新推出的一个工具,本质上是一个本地的HTTP服务程序,将AKShare的方法转变为了HTTP接口,这样,利用其它语言编写的程序,也可以使用AKShare提供的数据了。
安装
pip install aktools
启动
python -m akstools
结果如下图,就是启动成功了
接口的访问地址就是:http://127.0.0.1:8080/api/public/接口名
,方法的参数,就是url参数,返回的数据格式是JSON。我之前用Node.js写程序,就是用这种方式调用AKShare的数据,很方便。
结语
数据是第一步,有了数据,才能有一切。接下来继续吧!
来源:北马玩数据