# daydata-v43-parser **Repository Path**: harryxiaocn/daydata-v43-parser ## Basic Information - **Project Name**: daydata-v43-parser - **Description**: 本项目是一个用于解析特定格式的 A 股日线二进制数据文件(内部版本号 V43)的 Python 工具。适用于结构为 每条记录固定 40 字节 的金融行情数据文件。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-11-10 - **Last Updated**: 2026-01-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DayData_V43 二进制日线数据解析器 本项目是一个用于解析特定格式的 A 股日线二进制数据文件(内部版本号 `V43`)的 Python 工具。适用于结构为 **每条记录固定 40 字节** 的金融行情数据文件。 > 🔍 **使用提示**: > 如果你本地有名为 `DayData_SH_V43.dat`(沪市)或 `DayData_SZ_V43.dat`(深市)的数据文件,且其所在路径包含类似 `ClosedDownload\Data\SHANGHAI\` 或 `\SHENZHEN\` 的目录结构,那么本解析器很可能适用于你的数据。 --- ## 📦 功能特性 - 解析 **40 字节/天** 的固定长度二进制日线记录 - 提取以下字段: - 日期(整型,格式:`YYYYMMDD`) - 开盘价、最高价、最低价、收盘价(浮点数) - 成交量(整型) - 复权因子(浮点数,可用于计算前复权价格) - 支持分块存储结构(chunk-based layout)与股票索引映射 - 按股票代码输出独立 JSON 文件(如 `600000.json`) --- ## ⚠️ 法律与使用声明 - 本项目**仅用于个人学习、研究及数据互操作目的**。 - 作者**不提供、不分发、不持有**任何原始行情数据文件。 - 使用者须确保所处理的数据文件**来源合法**,并已获得相应授权。 - 本工具**与任何金融数据服务商、证券软件厂商无任何关联**。 - **严禁**利用本工具非法获取、传播或商业化使用受版权保护的市场数据。 --- ## 🚀 快速开始 1. [可选]准备一个白名单文件(每行一个股票代码): ```txt 600000 000001 300750 ``` 2. 运行解析命令: ```bash python parse_daydata_v43.py "你的路径/DayData_SH_V43.dat" ./output ``` 或者有白名单: ```bash python parse_daydata_v43.py "你的路径/DayData_SH_V43.dat" ./output --whitelist ./whitelist.txt ``` 3. 输出示例(`600000.json`): ```json [ { "date": "20251107", "open": 55.0, "close": 56.89, "high": 57.4, "low": 55.0, "volume": 2273000, "last_close": 55.0 }, ... ] ``` --- ## 🧰 其他相关工具 除了核心的日线数据解析器外,该项目还包含了其他相关的数据处理工具: ### 除权除息数据解析器 (`parse_full_cqcx_hs_v3.py`) 用于解析除权除息数据文件,提取分红、转股等信息。 #### 功能特性: - 解析除权除息数据文件 - 提取分红、转增股本等信息 - 按股票代码输出独立 JSON 文件 #### 使用方法: ```bash python parse_full_cqcx_hs_v3.py "数据文件路径" ./output ``` #### 输出示例: ```json [ { "date": 20211220, "dividend": 4.7, "convert": 0.0, "issue_shares": 0.0, "issue_price": 0.0 }, ... ] ``` ### 流通股数据解析器 (`parse_hisltg_v1.py`) 用于解析流通股变化历史数据,跟踪个股流通股数量的变化情况。 #### 功能特性: - 解析流通股历史变更数据 - 提取每次变更的流通股数量和变更日期 - 按股票代码输出独立 JSON 文件 #### 使用方法: ```bash python parse_hisltg_v1.py "数据文件路径" ./output ``` #### 输出示例: ```json [ { "change_date": 20150612, "free_float": 184800.0, "notice_date": 20150612 }, ... ] ``` ### 换手率计算器 (`calculate_turnover_rate.py`) 基于日线数据和流通股数据计算股票每日的换手率。 #### 功能特性: - 根据成交量和流通股数计算换手率 - 自动匹配对应日期的流通股数据 - 将换手率数据添加到日线数据中 #### 使用方法: ```bash python calculate_turnover_rate.py ./daydata_dir ./hisltg_dir -o ./output ``` #### 输出示例: ```json [ { "date": "20251107", "open": 55.0, "close": 56.89, "high": 57.4, "low": 55.0, "volume": 2273000, "last_close": 55.0, "turnover_rate": 1.2345 }, ... ] ``` --- ## 🛠 环境要求 - Python 3.7 或更高版本 - 无第三方依赖(仅使用标准库:`struct`, `json`, `os`) --- ## 📄 开源许可 本项目采用 [MIT 许可证](LICENSE)。 你可以自由使用、修改和分发本代码,只需保留原始版权声明即可。 --- > 💡 **说明**:本解析器完全基于对二进制数据结构的独立分析开发,**未使用任何商业软件的源代码、资源文件或逆向工程产物**。所有逻辑均为原创实现。 --- ### ✅ 小贴士 - 若你不确定数据是否兼容,可先用小样本测试。 - 本工具不会修改或写入原始数据文件,仅读取解析。