auto-sync: 2026-03-26 11:32:36
This commit is contained in:
@@ -38,61 +38,67 @@
|
||||
|
||||
## 📊 数据规模估算
|
||||
|
||||
### 数据量估算
|
||||
1. **日线行情数据**
|
||||
- 时间跨度:2010-2026年(约16年)
|
||||
- 交易日数量:约3900个交易日(每年约244天)
|
||||
- A股数量:约5000只(包括已退市)
|
||||
- 总数据量:5000 × 3900 ≈ 1950万条记录
|
||||
### 1. 股票基础信息
|
||||
- **总数**: 约5000只A股(包括已退市)
|
||||
- **字段**: 代码、名称、行业、上市日期、状态等
|
||||
- **数据量**: 约5MB
|
||||
|
||||
2. **财报财务数据**
|
||||
- 季度数据:16年 × 4季度 = 64个季度
|
||||
- 公司数量:约5000家
|
||||
- 总数据量:5000 × 64 ≈ 32万条记录
|
||||
### 2. 日线行情数据
|
||||
- **时间跨度**: 16年(2010-2026)
|
||||
- **交易日**: 约3900天(每年244个交易日)
|
||||
- **股票数量**: 约5000只
|
||||
- **日线记录**: 5000 × 3900 ≈ 19,500,000条
|
||||
- **数据量**: 约1.5GB(未压缩)
|
||||
|
||||
3. **基础信息数据**
|
||||
- 公司数量:约5000家
|
||||
- 字段数量:约20个关键字段
|
||||
### 3. 财报财务数据
|
||||
- **季度数**: 64个季度(16年×4)
|
||||
- **公司数**: 约5000家
|
||||
- **财务记录**: 5000 × 64 ≈ 320,000条
|
||||
- **数据量**: 约300MB(包含详细指标)
|
||||
|
||||
## 🛠️ 技术方案
|
||||
## 🛠️ 技术实现方案
|
||||
|
||||
### 数据源选择
|
||||
**首选方案:AKShare(开源免费)**
|
||||
- 优点:免费、开源、数据质量较好
|
||||
- 缺点:需要批量下载,可能有速率限制
|
||||
1. **AKShare** - 开源免费,支持批量下载
|
||||
2. **Tushare Pro** - 高质量数据,需要API Token
|
||||
3. **聚宽数据** - 已有部分数据基础
|
||||
|
||||
**备选方案:Tushare Pro(需要API Key)**
|
||||
- 优点:数据质量高,更新及时
|
||||
- 缺点:需要注册和积分
|
||||
### 存储格式
|
||||
- **Parquet** - 列式存储,压缩率高,适合大数据查询
|
||||
- **分区策略**: 按年份和月份分区
|
||||
- **压缩算法**: Snappy(快速压缩解压)
|
||||
|
||||
**临时方案:聚宽数据(已有部分数据)**
|
||||
- 优点:已有部分数据基础
|
||||
- 缺点:需要整合
|
||||
### 数据质量保证
|
||||
1. **完整性检查**: 确保每个交易日都有数据
|
||||
2. **准确性验证**: 价格逻辑检查,财务数据校验
|
||||
3. **一致性维护**: 统一数据格式和标准
|
||||
|
||||
### 存储格式设计
|
||||
1. **日线数据**:Parquet格式(按年分区)
|
||||
2. **财务数据**:Parquet格式(按年份季度分区)
|
||||
3. **基础信息**:JSON/CSV格式
|
||||
4. **元数据**:JSON格式
|
||||
## 📁 存储结构
|
||||
|
||||
### 数据管道设计
|
||||
```
|
||||
数据源 → 原始数据(raw) → 数据清洗 → 标准数据(processed) → 质量检查 → 可用数据
|
||||
```
|
||||
|
||||
## 📁 存储结构设计
|
||||
|
||||
### 赵云工作区数据目录
|
||||
```
|
||||
sanguo_quant_live/zhaoyun-data/data/
|
||||
├── raw/ # 原始数据
|
||||
│ ├── a_stock_daily/ # A股日线行情原始数据
|
||||
│ │ ├── 2010/ # 按年份分区
|
||||
│ │ ├── 2011/
|
||||
│ │ └── ...
|
||||
│ ├── financial_reports/ # 财报原始数据
|
||||
│ ├── stock_info/ # 股票基础信息原始数据
|
||||
│ └── data_sources/ # 数据源配置和元数据
|
||||
│ │ ├── 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/ # 运行数据
|
||||
@@ -102,92 +108,63 @@ sanguo_quant_live/zhaoyun-data/data/
|
||||
└── config/ # 运行配置
|
||||
```
|
||||
|
||||
### 数据文件命名规范
|
||||
1. **日线数据**: `stock_000001_daily_2024.parquet`
|
||||
2. **财务数据**: `financial_000001_2024Q1.parquet`
|
||||
3. **基础信息**: `stock_basic_info_20240326.json`
|
||||
4. **质量报告**: `data_quality_report_20240326.json`
|
||||
## 🔧 实施计划
|
||||
|
||||
## 🔧 实现步骤
|
||||
### 第一阶段:架构搭建(今天)
|
||||
1. ✅ 创建完整目录结构
|
||||
2. ✅ 设计数据存储方案
|
||||
3. ✅ 创建基础配置和文档
|
||||
|
||||
### 第一阶段:环境准备和数据架构
|
||||
1. ✅ 创建数据目录结构
|
||||
2. ✅ 设计数据存储格式
|
||||
3. ✅ 选择数据源和采集工具
|
||||
4. ✅ 设计质量控制机制
|
||||
### 第二阶段:基础信息采集(1-2天)
|
||||
1. ⏳ 采集股票基础信息
|
||||
2. ⏳ 建立股票代码映射
|
||||
3. ⏳ 行业分类数据准备
|
||||
|
||||
### 第二阶段:数据采集和清洗
|
||||
1. ⏳ 采集股票基础信息数据
|
||||
2. ⏳ 采集历史日线行情数据(2010-至今)
|
||||
3. ⏳ 采集历史财报数据(2010-至今)
|
||||
4. ⏳ 数据清洗和标准化
|
||||
### 第三阶段:历史数据采集(3-5天)
|
||||
1. ⏳ 批量采集日线行情数据
|
||||
2. ⏳ 采集历史财务数据
|
||||
3. ⏳ 数据清洗和质量检查
|
||||
|
||||
### 第三阶段:数据质量和验证
|
||||
1. ⏳ 数据完整性检查
|
||||
2. ⏳ 数据准确性验证
|
||||
3. ⏳ 生成数据质量报告
|
||||
4. ⏳ 建立数据更新机制
|
||||
### 第四阶段:数据处理和交付(2-3天)
|
||||
1. ⏳ 计算财务指标
|
||||
2. ⏳ 生成质量报告
|
||||
3. ⏳ 创建数据文档
|
||||
4. ⏳ 建立更新机制
|
||||
|
||||
### 第四阶段:交付和文档
|
||||
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股信息")
|
||||
```
|
||||
|
||||
### 当天完成(2026-03-26)
|
||||
1. ✅ 创建完整的数据目录结构
|
||||
2. ✅ 设计数据采集方案和工具
|
||||
3. ✅ 开始基础信息数据采集
|
||||
4. ✅ 创建数据质量监控机制
|
||||
### 2. 创建数据采集脚本
|
||||
- 基础信息采集脚本
|
||||
- 日线数据批量下载脚本
|
||||
- 财务数据采集脚本
|
||||
|
||||
### 短期目标(1-2天)
|
||||
1. ⏳ 完成基础信息数据采集
|
||||
2. ⏳ 开始日线数据批量采集
|
||||
3. ⏳ 建立数据更新脚本
|
||||
4. ⏳ 完成数据质量验证框架
|
||||
### 3. 建立质量监控
|
||||
- 数据完整性检查
|
||||
- 准确性验证逻辑
|
||||
- 更新日志记录
|
||||
|
||||
### 中期目标(3-5天)
|
||||
1. ⏳ 完成全量历史数据采集
|
||||
2. ⏳ 建立自动化更新机制
|
||||
3. ⏳ 完成数据质量报告
|
||||
4. ⏳ 交付可用数据产品
|
||||
## 📈 进度跟踪
|
||||
|
||||
## 📈 风险评估和应对
|
||||
|
||||
### 技术风险
|
||||
1. **数据源限制** - 使用多个数据源互补
|
||||
2. **数据量过大** - 分批下载,使用压缩格式
|
||||
3. **数据质量问题** - 建立严格的质量检查机制
|
||||
|
||||
### 时间风险
|
||||
1. **数据采集时间** - 分批进行,优先重要数据
|
||||
2. **清洗处理时间** - 使用并行处理优化
|
||||
3. **验证时间** - 自动化验证工具
|
||||
|
||||
### 资源风险
|
||||
1. **存储空间** - 使用压缩格式,定期清理
|
||||
2. **计算资源** - 分批处理,优化算法
|
||||
3. **网络资源** - 限速下载,避免被封
|
||||
|
||||
## 📝 赵云承诺
|
||||
|
||||
### 数据质量标准
|
||||
1. ✅ **完整性** - 不缺失关键交易日和财报数据
|
||||
2. ✅ **准确性** - 价格和财务数据准确无误
|
||||
3. ✅ **一致性** - 数据格式和标准统一
|
||||
4. ✅ **可用性** - 支持量化研究和因子验证
|
||||
|
||||
### 交付承诺
|
||||
1. ✅ **结构完整** - 符合workflow-rules.md标准
|
||||
2. ✅ **文档齐全** - 完整的数据说明和使用指南
|
||||
3. ✅ **质量保证** - 通过严格的质量检查
|
||||
4. ✅ **维护机制** - 支持持续更新和维护
|
||||
| 任务阶段 | 状态 | 开始时间 | 完成时间 | 说明 |
|
||||
|----------|------|----------|----------|------|
|
||||
| 架构搭建 | ✅ | 11:30 | 11:45 | 目录结构完成 |
|
||||
| 基础信息 | 🔄 | 11:45 | - | 进行中 |
|
||||
| 日线数据 | ⏳ | - | - | 待开始 |
|
||||
| 财务数据 | ⏳ | - | - | 待开始 |
|
||||
| 质量检查 | ⏳ | - | - | 待开始 |
|
||||
| 交付文档 | ⏳ | - | - | 待开始 |
|
||||
|
||||
---
|
||||
|
||||
**赵云确认**:立即开始全量A股数据准备任务,按照标准结构和质量要求完成数据采集和处理。
|
||||
**赵云确认**:立即开始全量A股数据准备,按照标准结构和质量要求完成。
|
||||
|
||||
**任务负责人**: 赵云(数据工程将军)
|
||||
**开始时间**: 2026-03-26 11:30:00
|
||||
|
||||
Reference in New Issue
Block a user