Files
sanguo_quant_live/zhaoyun-data/research/task-20240326-a-stock-data-preparation/README.md
T
2026-03-26 11:32:36 +08:00

171 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 调研任务:全量A股数据准备
## 📋 任务信息
- **任务ID**: task-20240326-a-stock-data-preparation
- **任务名称**: 全量A股数据准备
- **负责人**: 赵云(数据工程将军)
- **分配时间**: 2026-03-26 11:23
- **状态**: 🔄 进行中
## 🎯 任务目标
### 核心目标
准备全量A股数据,用于因子有效性验证和量化策略研究
### 具体数据需求
1. **A股全市场日线行情数据**
- 范围:全部A股(包括已退市)
- 时间:2010年1月1日至今
- 字段:开高低收、成交量、成交额、复权信息
- 存储:按股票分文件存储,或统一parquet
2. **财报财务数据**
- 范围:全部A股上市公司
- 时间:2010年至今,每季度更新
- 字段:资产负债表、利润表、现金流量表核心指标
- 需要:PE、PB、ROE、股息率等常用估值指标计算
3. **股票基础信息数据**
- 股票代码、名称
- 上市日期、退市日期
- 行业分类(申万/证监会)
- 是否ST、是否退市
4. **数据质量要求**
- 完整性:不缺失关键交易日数据
- 准确性:价格和财务数据准确无误
- 更新机制:支持每日/每周增量更新
## 📊 数据规模估算
### 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(包含详细指标)
## 🛠️ 技术实现方案
### 数据源选择
1. **AKShare** - 开源免费,支持批量下载
2. **Tushare Pro** - 高质量数据,需要API Token
3. **聚宽数据** - 已有部分数据基础
### 存储格式
- **Parquet** - 列式存储,压缩率高,适合大数据查询
- **分区策略**: 按年份和月份分区
- **压缩算法**: Snappy(快速压缩解压)
### 数据质量保证
1. **完整性检查**: 确保每个交易日都有数据
2. **准确性验证**: 价格逻辑检查,财务数据校验
3. **一致性维护**: 统一数据格式和标准
## 📁 存储结构
```
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. ✅ 创建基础配置和文档
### 第二阶段:基础信息采集(1-2天)
1. ⏳ 采集股票基础信息
2. ⏳ 建立股票代码映射
3. ⏳ 行业分类数据准备
### 第三阶段:历史数据采集(3-5天)
1. ⏳ 批量采集日线行情数据
2. ⏳ 采集历史财务数据
3. ⏳ 数据清洗和质量检查
### 第四阶段:数据处理和交付(2-3天)
1. ⏳ 计算财务指标
2. ⏳ 生成质量报告
3. ⏳ 创建数据文档
4. ⏳ 建立更新机制
## 🚀 立即执行
### 1. 测试AKShare数据源
```python
# 测试股票基础信息获取
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
**任务状态**: 🔄 进行中