AkShare项目新增股本批量数据接口的技术实现
功能概述
在金融数据分析领域,获取上市公司股本变动数据对于投资者和分析师具有重要意义。AkShare项目近期新增了一个重要功能接口——stock_hold_change_cninfo,该接口能够从巨潮资讯网批量获取上市公司股本变动数据,包括总股本、流通股本等关键指标。
技术实现细节
该接口通过访问巨潮资讯的公开API获取数据,主要实现了以下技术要点:
-
市场分类参数处理:接口支持多种市场分类查询,包括深市主板、沪市、创业板、科创板、北交所以及全部市场。通过建立symbol_map字典实现了市场代码的映射转换。
-
请求头构造:为了绕过网站的反爬机制,接口使用了JavaScript代码生成动态的mcode验证参数,这是通过py_mini_racer库执行预置的JavaScript代码实现的。
-
数据清洗与转换:获取的原始JSON数据经过以下处理步骤:
- 转换为Pandas DataFrame格式
- 重命名列使其更具可读性
- 对日期字段进行标准化处理
- 对数值字段进行类型转换
-
字段说明:接口返回的数据包含以下重要字段:
- 证券代码和简称
- 交易市场信息
- 公告日期和变动日期
- 变动原因说明
- 总股本、已流通股份、流通受限股份等量化指标
- 已流通比例百分比数据
使用场景
这一功能接口特别适用于以下分析场景:
-
股本变动趋势分析:通过批量获取多家公司的股本变动数据,可以分析市场整体的股本变化趋势。
-
个股研究:研究特定股票的流通股比例变化,评估其流动性和潜在的市场影响。
-
市场比较:比较不同市场板块(如主板与创业板)在股本结构上的差异。
-
事件研究:结合变动原因字段,分析特定事件(如增发、配股等)对公司股本结构的影响。
技术优势
相比自行爬取或处理原始数据,这一接口具有以下优势:
-
数据标准化:返回的数据已经过清洗和格式化,省去了用户自行处理的时间。
-
性能优化:通过API直接获取数据,比网页爬取更高效稳定。
-
完整性保障:接口设计考虑了各种异常情况,如日期格式异常、数值转换错误等。
-
易用性:简单的参数设计和清晰的返回结构降低了使用门槛。
实现启示
这一功能的实现展示了金融数据接口开发的几个重要原则:
-
参数灵活性:通过symbol参数支持多种查询条件,提高了接口的适用范围。
-
数据完整性:不仅返回数值数据,还保留了变动原因等文本信息,为后续分析提供了更多维度。
-
类型安全:对所有字段进行严格的类型转换,确保后续计算的准确性。
-
文档完整性:函数文档字符串详细说明了参数选项和返回内容,便于用户理解和使用。
这一功能的加入进一步丰富了AkShare项目在股本数据分析方面的能力,为金融数据分析师和研究者提供了又一实用工具。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0152- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112