调研任务:全量A股数据准备
📋 任务信息
- 任务ID: task-20240326-a-stock-data-preparation
- 任务名称: 全量A股数据准备
- 负责人: 赵云(数据工程将军)
- 分配时间: 2026-03-26 11:23
- 状态: 🔄 进行中
🎯 任务目标
核心目标
准备全量A股数据,用于因子有效性验证和量化策略研究
具体数据需求
-
A股全市场日线行情数据
- 范围:全部A股(包括已退市)
- 时间:2010年1月1日至今
- 字段:开高低收、成交量、成交额、复权信息
- 存储:按股票分文件存储,或统一parquet
-
财报财务数据
- 范围:全部A股上市公司
- 时间:2010年至今,每季度更新
- 字段:资产负债表、利润表、现金流量表核心指标
- 需要:PE、PB、ROE、股息率等常用估值指标计算
-
股票基础信息数据
- 股票代码、名称
- 上市日期、退市日期
- 行业分类(申万/证监会)
- 是否ST、是否退市
-
数据质量要求
- 完整性:不缺失关键交易日数据
- 准确性:价格和财务数据准确无误
- 更新机制:支持每日/每周增量更新
📊 数据规模估算
1. 股票基础信息
- 总数: 约5000只A股(包括已退市)
- 字段: 代码、名称、行业、上市日期、状态等
- 数据量: 约5MB
2. 日线行情数据
- 时间跨度: 16年(2010-2026)
- 交易日: 约3900天(每年244个交易日)
- 股票数量: 约5000只
- 日线记录: 5000 × 3900 ≈ 19,500,000条
- 数据量: 约1.5GB(未压缩)
3. 财报财务数据
- 季度数: 64个季度(16年×4)
- 公司数: 约5000家
- 财务记录: 5000 × 64 ≈ 320,000条
- 数据量: 约300MB(包含详细指标)
🛠️ 技术实现方案
数据源选择
- AKShare - 开源免费,支持批量下载
- Tushare Pro - 高质量数据,需要API Token
- 聚宽数据 - 已有部分数据基础
存储格式
- Parquet - 列式存储,压缩率高,适合大数据查询
- 分区策略: 按年份和月份分区
- 压缩算法: Snappy(快速压缩解压)
数据质量保证
- 完整性检查: 确保每个交易日都有数据
- 准确性验证: 价格逻辑检查,财务数据校验
- 一致性维护: 统一数据格式和标准
📁 存储结构
sanguo_quant_live/zhaoyun-data/data/
├── raw/ # 原始数据
│ ├── a_stock_daily/ # A股日线行情原始数据
│ │ ├── 2010/ # 按年份分区
│ │ ├── 2011/
│ │ └── ...
│ ├── financial_reports/ # 财报原始数据
│ │ ├── quarterly/ # 季度财报
│ │ └── annual/ # 年度财报
│ ├── stock_info/ # 股票基础信息
│ │ ├── basic_info.json
│ │ └── industry_mapping.json
│ └── data_sources/ # 数据源配置
│ ├── akshare_config.json
│ └── tushare_config.json
├── processed/ # 处理后数据
│ ├── a_stock_daily/ # 清洗后的日线数据
│ │ ├── parquet_files/ # 标准化Parquet文件
│ │ └── index/ # 数据索引
│ ├── financial_indicators/ # 财务指标计算数据
│ │ ├── valuation/ # 估值指标(PE, PB等)
│ │ ├── profitability/ # 盈利能力指标
│ │ └── liquidity/ # 流动性指标
│ ├── stock_info/ # 标准化股票信息
│ └── quality_reports/ # 数据质量报告
└── running_data/ # 运行数据
├── update_logs/ # 更新日志
├── data_index/ # 数据索引
├── quality_monitor/ # 质量监控数据
└── config/ # 运行配置
🔧 实施计划
第一阶段:架构搭建(今天)
- ✅ 创建完整目录结构
- ✅ 设计数据存储方案
- ✅ 创建基础配置和文档
第二阶段:基础信息采集(1-2天)
- ⏳ 采集股票基础信息
- ⏳ 建立股票代码映射
- ⏳ 行业分类数据准备
第三阶段:历史数据采集(3-5天)
- ⏳ 批量采集日线行情数据
- ⏳ 采集历史财务数据
- ⏳ 数据清洗和质量检查
第四阶段:数据处理和交付(2-3天)
- ⏳ 计算财务指标
- ⏳ 生成质量报告
- ⏳ 创建数据文档
- ⏳ 建立更新机制
🚀 立即执行
1. 测试AKShare数据源
# 测试股票基础信息获取
import akshare as ak
stock_info = ak.stock_info_a_code_name()
print(f"获取到 {len(stock_info)} 只A股信息")
2. 创建数据采集脚本
- 基础信息采集脚本
- 日线数据批量下载脚本
- 财务数据采集脚本
3. 建立质量监控
- 数据完整性检查
- 准确性验证逻辑
- 更新日志记录
📈 进度跟踪
| 任务阶段 | 状态 | 开始时间 | 完成时间 | 说明 |
|---|---|---|---|---|
| 架构搭建 | ✅ | 11:30 | 11:45 | 目录结构完成 |
| 基础信息 | 🔄 | 11:45 | - | 进行中 |
| 日线数据 | ⏳ | - | - | 待开始 |
| 财务数据 | ⏳ | - | - | 待开始 |
| 质量检查 | ⏳ | - | - | 待开始 |
| 交付文档 | ⏳ | - | - | 待开始 |
赵云确认:立即开始全量A股数据准备,按照标准结构和质量要求完成。
任务负责人: 赵云(数据工程将军) 开始时间: 2026-03-26 11:30:00 任务状态: 🔄 进行中