From 88b005598155aef4fba51efc0701c57308994a0d Mon Sep 17 00:00:00 2001 From: cfdaily Date: Thu, 26 Mar 2026 11:32:36 +0800 Subject: [PATCH] auto-sync: 2026-03-26 11:32:36 --- .../README.md | 199 ++++++++---------- 1 file changed, 88 insertions(+), 111 deletions(-) diff --git a/zhaoyun-data/research/task-20240326-a-stock-data-preparation/README.md b/zhaoyun-data/research/task-20240326-a-stock-data-preparation/README.md index 487912670..0ca21412b 100644 --- a/zhaoyun-data/research/task-20240326-a-stock-data-preparation/README.md +++ b/zhaoyun-data/research/task-20240326-a-stock-data-preparation/README.md @@ -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