🗒️Python获取A股流通市值大于等于50亿的股票代码

2024-3-21
| 2024-3-25
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password
😀
2022年左右,作者编写了一个量化选股系统,并开始陆续分享代码实现。首先介绍了akshare库,然后展示了安装和创建数据库的步骤,最后给出了完整的Python代码和结果。通过akshare库获取股票数据,并将流通市值大于50亿的股票写入到Mysql数据库中。最终结果显示有2111只股票符合条件。
 

背景

2022年左右,参考网上的资料,写了一个自己用的量化选股系统,从本文开始,陆陆续续分享具体的代码实现。这里先从最基础的开始分享,不讲Python基础,不讲DateFrame,因为我也没怎么学,都是用到啥学啥。主要围着如果构建这个RPS系统来写。

代码参考

akshare是什么

AKShare是一个基于Python的财经数据接口库,旨在实现对股票、期货、期权、基金、外汇、债券、指数、加密货币等金融产品的基本面数据、实时和历史行情数据、衍生数据从数据采集、数据清洗到数据落地的一套工具。它主要用于学术研究目的,获取相对权威的财经数据网站公布的原始数据,并通过利用原始数据进行各数据源之间的交叉验证,进而再加工,从而得出科学的结论。AKShare提供了详细的接口文档和示例,使用户能够轻松地下载数据。此外,对于非Python用户,还提供了HTTP API接口工具AKTools。

安装python库akshare

安装命令为 pip install akshare
截图如下:
notion image

创建数据库stock_circ_mv_50_2024

由于我用的是Mysql保存的股票股价信息,股票代码,名称呢,这里就用Mysql来演示吧。
建表语句:

完整的Python代码

代码不复杂的,具体代码如下:
简单讲讲,用akshare库的函数,获取到完整的股票数据信息DateFrame, 然后添加过滤条件,条件就是流通市值大于等于50亿的条件。接着呢,用rename重命名,跟我们上面创建的Mysql的表结构的字段要对应上,这样可以直接让DateFrame数据写入到Mysql表中。
还需要注意的点,这里用来Mysql数据库的话,那么你如果按照我这个代码运行,需要确保你电脑本地安装有MySQL,然后修改你的用户名密码,还有你也得制定你这个数据库名称,我的是tushare_rps。
再给大家截图下运行打印的日志吧,DateFrame里面的具体信息.
notion image
运行完毕后,我们去Mysql数据库里面查验一下,看看当前2024年3月15日这一天,有多少只股票流动市值在50亿以上。
执行sql脚本命令select count(*) from stock_circ_mv_50_2024;
说明当前有2111只股票流动市值在50亿以上,包含50亿。
咱们截图看看,倒序排一下。
notion image

总结

本文主要是用了AKShare库来获取A股流通市值大于等于50亿的股票信息,然后把数据写入到Mysql数据库中,为啥不用tushare,已经不记得原因了,可能是之前自己的账号权限不够,才用的AKShare,现在用的tushare是高级账号,但是忘记深究了。
 
量化选股
  • Python
  • 量化选股
  • 股票
  • RPS
  • 通过Python DateFrame的Merge操作生成一个新的数据库表记录Python获取A股5000多只股票代码以及相关信息
    目录