Files
sanguo_quant_live/zhaoyun-data/research/task-20240326-minute-kline-assessment/README.md
T
2026-03-26 11:52:15 +08:00

304 lines
9.4 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股分钟K线数据准备评估
## 📋 任务信息
- **任务ID**: task-20240326-minute-kline-assessment
- **任务名称**: A股分钟K线数据准备评估
- **负责人**: 赵云(数据工程将军)
- **分配时间**: 2026-03-26 11:38
- **状态**: 🔄 评估中
## 🎯 任务需求
### 核心需求
准备A股分钟K线数据,支持短线策略、打板策略、日内交易研究
### 具体要求
1. **数据级别**
- 1分钟K线
- 5分钟K线
- 15分钟K线
2. **时间范围**
- 最近5年全市场(2021年至今)
- 考虑扩展到更长历史(如10年)
3. **数据用途**
- 短线策略研发
- 打板策略分析
- 日内交易研究
- 高频策略验证
4. **优先级**
- 第一优先级:完成日线行情+财务数据
- 第二优先级:准备分钟K线数据
## 📊 数据规模评估
### 基础参数
- **股票数量**: 约5,500只A股
- **时间范围**: 5年(2021-2026
- **交易日**: 约244天/年 × 5年 = 1,220天
- **交易时间**: 4小时/天(9:30-11:30, 13:00-15:00
### 数据量计算
#### 1. 1分钟K线数据
- 每交易日分钟数: 4小时 × 60分钟 = 240分钟
- 每股票每交易日记录: 240条
- 总记录数: 5,500 × 240 × 1,220 = **1.61亿条**
- 数据量估算: 12-15GB
#### 2. 5分钟K线数据
- 每交易日5分钟K线数: 48条
- 每股票每交易日记录: 48条
- 总记录数: 5,500 × 48 × 1,220 = **3,220万条**
- 数据量估算: 2.5-3GB
#### 3. 15分钟K线数据
- 每交易日15分钟K线数: 16条
- 每股票每交易日记录: 16条
- 总记录数: 5,500 × 16 × 1,220 = **1,073万条**
- 数据量估算: 0.8-1GB
#### 4. 合计数据量
- **总记录数**: 约2.04亿条
- **总数据量**: 约15.5-19GB
- **存储空间**: 建议预留30GB(包含压缩和索引)
### 与日线数据对比
| 数据类型 | 时间范围 | 总记录数 | 数据量 | 日线数据倍数 |
|----------|----------|----------|--------|--------------|
| 日线数据 | 16年 | 2,145万条 | 1.5-2GB | 1倍 |
| 1分钟K线 | 5年 | 1.61亿条 | 12-15GB | 约7.5倍 |
| 5分钟K线 | 5年 | 3,220万条 | 2.5-3GB | 约1.5倍 |
| 15分钟K线 | 5年 | 1,073万条 | 0.8-1GB | 约0.5倍 |
## 🛠️ 技术可行性评估
### 数据源选择
#### 1. AKShare(开源免费)
**优点**
- 免费,无需API Token
- 支持分钟级数据
- 社区活跃,更新及时
**缺点**
- 可能有频率限制
- 数据质量参差不齐
- 历史数据可能不完整
#### 2. Tushare Pro(商业API
**优点**
- 数据质量高
- 分钟数据完整
- 支持批量下载
**缺点**
- 需要API Token和积分
- 有调用频率限制
- 成本因素
#### 3. 聚宽数据(已有基础)
**优点**
- 已有数据基础
- 数据质量较好
- 支持多种时间粒度
**缺点**
- 需要整合到现有系统
- 可能有数据限制
### 技术挑战
#### 1. 数据量巨大
- **挑战**: 2亿条记录,需要高效存储和查询
- **解决方案**: 使用列式存储(Parquet),按时间分区
#### 2. 下载时间长
- **挑战**: 需要数天甚至数周时间下载
- **解决方案**: 分批下载,使用并行处理,设置合理延迟
#### 3. 数据完整性
- **挑战**: 分钟数据更容易出现缺失或错误
- **解决方案**: 建立严格的质量检查机制,支持数据补全
#### 4. 存储空间
- **挑战**: 需要大量存储空间(30GB+)
- **解决方案**: 使用高效压缩算法,定期清理不必要数据
### 存储架构设计
```
minute_kline/
├── raw/ # 原始数据
│ ├── 1minute/ # 1分钟K线
│ │ ├── 2021/ # 按年分区
│ │ ├── 2022/
│ │ ├── 2023/
│ │ ├── 2024/
│ │ └── 2025/
│ ├── 5minute/ # 5分钟K线
│ └── 15minute/ # 15分钟K线
├── processed/ # 处理后数据
│ ├── consolidated/ # 合并后的分钟数据
│ │ ├── by_stock/ # 按股票组织
│ │ └── by_date/ # 按日期组织
│ ├── indicators/ # 分钟级技术指标
│ │ ├── volatility/ # 波动率指标
│ │ ├── momentum/ # 动量指标
│ │ └── volume/ # 成交量指标
│ └── quality/ # 数据质量数据
└── running_data/ # 运行数据
├── download_logs/ # 下载日志
├── update_tracker/ # 更新跟踪
└── config/ # 配置信息
```
## 📅 实施计划建议
### 第一阶段:架构设计(1-2天)
**目标**: 设计完整的分钟数据存储和处理架构
1. 存储结构设计
2. 下载工具设计
3. 质量检查机制设计
4. 性能优化方案设计
### 第二阶段:工具开发(2-3天)
**目标**: 开发分钟数据采集和管理的完整工具链
1. 分钟数据下载工具
2. 数据合并和清洗工具
3. 质量检查工具
4. 更新和维护工具
### 第三阶段:测试验证(1-2天)
**目标**: 验证工具功能和数据质量
1. 小批量数据测试(如100只股票)
2. 工具功能验证
3. 数据质量检查
4. 性能测试
### 第四阶段:分批采集(5-10天)
**目标**: 完成全量分钟数据采集
1. 按年份分批(2021, 2022, 2023, 2024, 2025
2. 按股票分批(每批100-200只)
3. 设置合理延迟,避免被封
4. 监控下载进度和质量
### 第五阶段:质量检查和交付(2-3天)
**目标**: 确保数据质量,完成交付
1. 全量数据质量检查
2. 数据完整性验证
3. 生成质量报告
4. 创建使用文档
## ⏱️ 时间预估
### 乐观估计
- 总时间: 10-15天
- 人力投入: 约20-30人天
- 主要时间消耗: 数据下载(5-10天)
### 保守估计
- 总时间: 15-20天
- 人力投入: 约30-40人天
- 考虑因素: 网络问题、数据源限制、质量检查时间
### 分阶段时间
| 阶段 | 时间预估 | 关键产出 |
|------|----------|----------|
| 架构设计 | 2天 | 存储架构、工具设计 |
| 工具开发 | 3天 | 下载工具、质量工具 |
| 测试验证 | 2天 | 测试报告、质量验证 |
| 分批采集 | 8天 | 全量分钟数据 |
| 质量检查 | 3天 | 质量报告、最终交付 |
| **合计** | **18天** | **完整分钟数据系统** |
## 💰 资源需求
### 计算资源
- **存储空间**: 30-40GB(包含压缩和备份)
- **内存**: 8GB+(用于数据处理)
- **网络**: 稳定高速网络(用于数据下载)
- **CPU**: 4核+(用于并行处理)
### 软件资源
- **Python环境**: 3.8+
- **数据存储**: Parquet格式
- **数据处理**: Pandas, Dask(可选)
- **数据库**: SQLite(用于元数据管理)
### 数据源成本
- **AKShare**: 免费
- **Tushare Pro**: 可能需要API积分(费用视用量而定)
- **聚宽数据**: 已有基础,可能有限制
## 📈 风险评估
### 高风险
1. **数据源不稳定** - 应对:使用多个数据源,建立数据备份
2. **下载被封禁** - 应对:设置合理延迟,使用代理轮换
3. **数据质量差** - 应对:建立严格的质量检查机制
### 中风险
1. **存储空间不足** - 应对:使用压缩技术,定期清理
2. **下载时间过长** - 应对:分批并行下载,优化下载策略
3. **数据处理性能问题** - 应对:使用高效数据格式,优化处理逻辑
### 低风险
1. **工具兼容性问题** - 应对:充分测试,提供文档
2. **数据格式变更** - 应对:设计灵活的解析器,支持格式适配
3. **用户使用问题** - 应对:提供详细文档和示例
## 🎯 建议方案
### 推荐方案:分步实施,优先验证
1. **第一步**: 完成日线数据采集(当前优先级)
2. **第二步**: 设计分钟数据架构
3. **第三步**: 开发分钟数据工具链
4. **第四步**: 采集1年测试数据验证
5. **第五步**: 根据验证结果调整方案
6. **第六步**: 全量分钟数据采集
### 数据采集策略
1. **按时间维度分批**: 先采集最近1年,再扩展到5年
2. **按股票维度分批**: 每批100-200只股票
3. **按时间粒度分批**: 先采集15分钟,再5分钟,最后1分钟
4. **质量控制**: 每批完成后立即进行质量检查
### 技术选型建议
1. **存储格式**: Parquet(列式存储,压缩率高)
2. **压缩算法**: Snappy(压缩解压速度快)
3. **分区策略**: 按年份和股票分组
4. **查询优化**: 建立数据索引,支持快速查询
## 📝 赵云评估结论
### ✅ 技术可行性:高
- 现有技术方案成熟
- 数据源可用
- 工具链可扩展
### ⚠️ 实施复杂度:中高
- 数据量大,需要分批处理
- 下载时间长,需要稳定环境
- 质量要求高,需要严格检查
### 💰 资源需求:中等
- 存储空间:30-40GB
- 计算资源:中等配置即可
- 时间投入:15-20天
### 🎯 建议决策
1. **立即执行**: 完成日线数据采集(当前任务)
2. **并行准备**: 开始分钟数据架构设计
3. **分步实施**: 日线完成后开始分钟数据采集
4. **质量优先**: 确保数据质量,支持量化研究
---
**赵云评估完成**: 分钟K线数据准备任务技术可行,但需充分准备,建议在日线数据完成后开始实施。
**评估人**: 赵云(数据工程将军)
**评估时间**: 2026-03-26 12:00:00
**建议状态**: 建议实施,需充分准备