diff --git a/zhaoyun-data/research/task-20240326-minute-kline-assessment/README.md b/zhaoyun-data/research/task-20240326-minute-kline-assessment/README.md new file mode 100644 index 000000000..2616572d9 --- /dev/null +++ b/zhaoyun-data/research/task-20240326-minute-kline-assessment/README.md @@ -0,0 +1,304 @@ +# 调研任务: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 +**建议状态**: 建议实施,需充分准备 \ No newline at end of file