171 lines
5.7 KiB
Markdown
171 lines
5.7 KiB
Markdown
# 调研任务:全量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
|
||
**任务状态**: 🔄 进行中 |