👇我的小册 40章教程:(小白零基础用Python量化股票分析小册) ,原价199,早鸟价39,满100人涨10元。

大家好,我是菜哥!

前面我们讲了很多关于获取股票数据的方法(只要4秒钟!用Python 获取上证指数34年的历史日线数据!),比如有免费的爬虫的方法,我们爬取东方财经网站的股票数据,爬新浪的股票的数据,但是这个都太复杂了,对于很多没有编程基础的小白来说,学习成本太高。(编程老鸟忽略哈),有没有学习成本低的,开箱即用,简单上手的方法直接获取股票的历史几十年的数据,关键还免费呢,答案是有的,今天就安排。

今天给大家分享一个非常强大的金融股票数据库akshare,可以一行代码获取股票的历史数据,非常简单好用。(插一句,玩量化有几个非常名的库talib ,ccxt ,pandas) ,今天ak也算一个。

0835e5fc5bbb854f89d5c795e7a877e7.png

1.什么是akshare

akshare 是一个专注于金融数据的 Python 库,提供了丰富的金融市场数据获取功能。无论是A股、基金、期货、指数、宏观经济数据,akshare 都能够帮助用户快速、方便地获取到所需的数据。易于使用:AKShare的接口设计简洁明了,用户只需要简单的函数调用就可以获取所需的数据。听起来是不是非常诱人,我们马上使用起来。

2.如何安装

如果有一丢丢python经验的同学,都能快速上手,直接用pip3 install akshare ,官方是建议python3.9版本以上,pandas2.1.0 获得更佳体验。小编的python版本是3.8.3也能正常使用的,不用担心。如果是安装比较慢的话,可以换清华,阿里的源,这样会快一些。

pip install akshare -i http://mirrors.aliyun.com/pypi/simple/

3.开始使用

以前我们获取A股票的历史数据,要么你去券商买,或者自己爬,自己爬前面我们也详细讲过代码,至少也是几十行的,现在用akshare只有2行代码就搞定了。看一下效果:

1).获取股票历史行情数据

b7affe03753b10e15e07654436870d73.png

比如我们上面是获取五粮液的股票数据,2行代码就可以获取五粮液从1998年到2024年2月8号(26年的数据),6121个交易日的数据,太爽了,看一下效果:

72698e7b661544aeff6215143ca59085.png

可以看到一共有6121条数据,大概5秒不到就可以搞定,我们任意选天出来,跟交易所的数据进行对比一下看看:

比如我们选择最近一天的2024年2月8号的k线看一下:

16e8441f5ace8684e6f8eb9b890c2f85.png

跟交易所的数据是完全一模一样的,非常爽。股票的历史行情价格,一般有3种,有的同学可能不太注意,这里关于股票复权,我解释一下:

股票数据复权

a).为何要复权:由于股票存在配股、分拆、合并和发放股息等事件,会导致股价出现较大的缺口。若使用不复权的价格处理数据、计算各种指标,将会导致它们失去连续性,且使用不复权价格计算收益也会出现错误。为了保证数据连贯性,常通过前复权和后复权对价格序列进行调整。

b).前复权:保持当前价格不变,将历史价格进行增减,从而使股价连续。前复权用来看盘非常方便,能一眼看出股价的历史走势,叠加各种技术指标也比较顺畅,是各种行情软件默认的复权方式。这种方法虽然很常见,但也有两个缺陷需要注意。

c).为了保证当前价格不变,每次股票除权除息,均需要重新调整历史价格,因此其历史价格是时变的。这会导致在不同时点看到的历史前复权价可能出现差异。对于有持续分红的公司来说,前复权价可能出现负值。

d).后复权:保证历史价格不变,在每次股票权益事件发生后,调整当前的股票价格。后复权价格和真实股票价格可能差别较大,不适合用来看盘。其优点在于,可以被看作投资者的长期财富增长曲线,反映投资者的真实收益率情况。

在量化投资研究中普遍采用后复权数据。

那么如何获取后复权的数据,我们只要改一改参数就可,把adjust="hfq"即可。

stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol="000858",
                                        period="daily",
                                        start_date="19980101",
                                        end_date='20240217', adjust="hfq")

(滑动查看代码)

2).获取上交易所和深交所的数据总览

除了获取个股的信息,我们还可以获取交易所的总揽,这个数据非常有意思。

我们看一下上交的数据:

2cd303d6c3f529a38f12252b85dfe721.png

再看一下深交的数据:

1b52b1b0d9e01287cf2b0e2c113eb958.png

3).如何获取基金的数据

前面讲了获取股票的数据,如果我想获取ETF基金的数据,LOF基金的数据,封闭式基金都可以轻松搞定。小编比较喜欢etf, 这里先拿ETF举例。

获取etf基金数据:

b52d7fd86895269c5f8a29747fc46047.png

这个是获取酒etf 60分钟的K线数据,我们取2月的数据看一下:

60d6d81834a8e540712c529bab245c33.png

数据跟交易所的酒etf的数据是一样的,不仅仅可以获取小时级别的,还可以1分钟,5分钟,15分钟的非常牛。

2).封闭式基金也是可以获取的

6265a203af2675c018f0f90c2d3572da.png

4).更牛的是获取A股分钟级K线数据

基金可以获取分钟级别的数据,股票也是可以的,akshare也是提供了接口的

比如我需要获取茅台的分钟级别的数据

37c48f96207451153ec2bc41ebc92cb0.png

调用stock_zh_a_minute()就可以获取,为啥要获取分钟级别的数据,因为我们可以通过分钟级别的数据,合成任意周期的数据,比如10分钟,20分钟,100分钟等等周期的数据,用pandas就可以轻松搞定,这招在期货或某大饼圈里面我们经常做(通过5分钟的k线来合成其他周期的k线)

5).A股的实时行情数据

akshare还可以提供实时的股票的数据,而且还包含了涨跌幅的计算,非常贴心,这个数据对我们量化非常有用

3d356c0f8029378a185c6e03291288fb.png

6).盈利预测数据

AKShare竟然还有盈利预测接口,太逆天了!这个盈利预测接口是stock_profit_forecast_ths,数据采集源自同花顺,专门用于盈利预测。这个接口能够返回特定股票代码(symbol)和指标(indicator)的数据。

e823caf23b495799293dbcc21dc3bb20.png

我们看了一下五粮液的预测业绩,2024年平均在每股39.31,比2023要高20个百分点,现在五粮液的价格是严重低估,所以你懂的,这个数据还是很有意思的,完全可以做为一个量化指标的因子来回测。

限于篇幅,我就不一一展开了,akshare的功能非常强大,除了上面的功能还有很多有价值的数据,可以挖掘都提供了接口。后面有时间我再写几篇详细介绍一下,我们会在会员群里面详细讨论研究这个库,挖掘更多功能

0e8fed97e7ca92d736ff96df6553a6c9.jpeg

最后推荐一下我们团队写的量化小册的内容,40篇内容!从Python安装,入门,数据分析,爬取股票基金的历史+实时数据,以及如何写一个简单量化策略,策略回测,如何看资金曲线统统都有介绍!非常超值!

欢迎订阅:原价199 早鸟价39(满100人涨10元)。现在的价格非常非常低,只要2杯奶茶,就可以终身订阅+全套课程源码,还有永久陪伴群。48小时无理由退款,放心食用!

a86cf7c633b17d3f15dbc4bbf76d3a8f.png

推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径

干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影

趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!

AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影

小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!

Logo

欢迎加入西安开发者社区!我们致力于为西安地区的开发者提供学习、合作和成长的机会。参与我们的活动,与专家分享最新技术趋势,解决挑战,探索创新。加入我们,共同打造技术社区!

更多推荐