AKShare-版本更新说明

数据科学实战

共 1832字,需浏览 4分钟

 · 2022-03-23

提要

岁月如梭,AKShare 从 2019 年发布第一个版本至今,已经迭代更新版本 1000 +次,被公众号【量化投资和机器学习】评为 GitHub Star 排名前 10 的量化开源项目,也是目前比较有影响力的开源财经数据接口库。

为了提高 AKShare 项目的使用体验,近期对AKShare 正在做部分功能的调整,主要体现在如下几个方面:

移除部分数据接口

其中较少使用的数据接口指偏离了财经数据方向,使用需求较少,但是维护成本较高;较难使用的接口是需要通过验证码访问或者接口返回的数据不稳定。这两类接口都会严重影响用户的体验且不利于维护,在后续开发中会进行相关的清理。

规范数据接口命名

该部分的改动会影响大部分用户的使用,而且该部分也是一直想解决而不能很好解决的问题。目前粗略的想法是以具体金融品种为分类依据,以具体目标网站为接口名称结尾标识符,比如:stock_hot_rank_wc 和 stock_hot_rank_em 接口,分别代表问财和东财的数据,其中 stock_hot_rank 表示股票的【热度排行】数据。后续会陆续对相关接口做命名规范,由于相关接口的变动会对老代码有较大的影响,请各位小伙伴查阅相关文档:https://www.akshare.xyz/changelog.html 。目前已经在该板块增加了说明,同时会新增一个新旧接口的对照表,方便大家查询。

规范字段类型

数据接口返回的数据类型直接影响到用户对数据的合理使用,比如字符串不能直接做数学运算,浮点数不能做字符串操作等。为了减少由于数据类型不一致导致的误操作,目前正在逐步对返回的数据做主动的类型限制。且该类型与pandas 的数据类型保持一致,返回的数据格式逐步统一到 pandas.DataFrame 格式。其中的字符串为 object,整型为 int32,浮点型为 float64 格式。目前返回的具体格式可以在文档的接口说明中查阅。

增加缓存支持

这部分主要解决的问题是在用户大量重复访问接口时,对目标网站服务器造成压力,同时也降低了数据获取的效率。缓存是把双刃剑,对于需要重复访问的接口可以提高访问的效率,减少对目标网站服务器的压力。但是过度使用缓存可能会导致用户不能获取最新的数据,需要用户手动清理缓存才能访问到数据。权衡利弊后,主要对需要用代理才能访问的数据接口或者一个接口中包含多次其他接口调用的数据接口增加缓存功能。为了减少由于缓存带来的不良后果,目前暂定缓存的时间小于 1 天。从 AKShare 1.4.75 版本开始增加缓存功能,新增依赖库:requests-cache 等,后期会进一步开发适合 AKShare 使用的缓存功能,并在文档增加缓存功能的使用说明。

精简依赖库

目前 AKShare 的依赖库较多,因为前期开发了较多功能,比如可以自动绘图,汉字转拼音等。这些依赖支持的数据接口目前使用的较少,而且随着 Python 的普及,目前市面上大量的教程都可以解决用户的需求。AKShare 对这些库的依赖不能给用户带来很好的体验,反而导致在 AKShare 安装的时候速度较慢,甚至出现安装错误的问题。本次移除的库主要是绘图库 matplotlib 和 pillow 等。

增加参考文章

根据广大小伙伴的需求分析,目前还有部分的小伙伴对于如何使用 AKShare 有较多的疑问,或者对一些利用 AKShare 进行财经数据获取和数据分析感觉比较难以入手。所以本次在 AKShare 文档中新增了文章专栏:https://www.akshare.xyz/articles.html 。里面整理了很多利用 AKShare 做各种应用的文章,同时也欢迎提交自己的文章放到文档链接中,让更多小伙伴可以学习交流。

安利

最后应广大小伙伴要求,AKShare 的 VIP 用户 QQ 交流群已经建立起来,目前已经有很多小伙伴在里面交流量化投资,数据科学,使用心得等相关问题,更重要的是可以和开发者交流 AKShare 的接口问题。为了提高群里交流的质量,本 VIP 群是收费群(一杯咖啡价格)就可以加入,入群请添加 AKShare-小助手 QQ:1254836886。当然您也可以通过加入知识星球-数据科学家(包含《AKShare-源码解析》 和 直播课 等众多福利),加入星球的用户可以免费加入 AKShare VIP 用户交流群。



浏览 181
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报