Files
sanguo_vnpy/docs/data-platform/summary-p1.md
T
2026-05-02 13:32:05 +08:00

4.3 KiB
Raw Blame History

数据源体系建设 - 项目汇总报告

任务ID: data-platform-20260502 汇总人: 庞统(副军师) 日期: 2026-05-02 状态: P1完成,P2-P4待后续任务


一、项目目标

打通从数据获取到vnpy回测的完整数据通路:NAS Parquet → vnpy SQLite DB → 回测引擎

核心问题:vnpy回测服务的 quant_trading.db 是空的(8KB),所有回测任务必然失败。


二、各节点产出汇总

节点 负责人 核心产出 结论
pangtong_requirements 庞统 需求规格文档(7个维度、4个阶段、9项不确定项) 通过
zhaoyun_acquire 赵云 vnpy DB Schema确认 + 全量日线导入(1281万行)+ P0限频验证 通过
jiangwei_storage 姜维 Docker数据通路打通 + executor bug修复 + 端到端回测验证 通过
simayi_verify 司马懿 数据完整性/正确性/回测可用性逐项验证 通过

三、P1 完成成果

3.1 数据导入

指标 数值
总行数 12,811,513
股票数 5,191
日期范围 2010-01-04 ~ 2026-03-27
DB文件大小 1.4 GBNAS/ 1.51 GBDocker内)
导入耗时 ~45 分钟

3.2 回测验证

验证项 结果
vnpy load_data() 加载237根日K线(000001.SZSE 2025年)
回测服务API 提交→执行→返回统计
回测统计 total_days=237, return=1.30%, sharpe=0.857
数据质量 6条异常(占比0.00005%),源自原始Parquet

3.3 解决的关键问题

  1. vnpy DB Schema确认DbBarData表11个字段,唯一索引(symbol,exchange,interval,datetime)
  2. SMB写入SQLite锁库:先写本地/tmp,完成后复制到NAS
  3. Docker未挂载数据目录:通过Mac HTTP服务从Docker内wget DB文件到~/.vntrader/
  4. executor date→datetime bug:修补版executor.py,字符串转datetime后再传给vnpy

四、产出的文件清单

代码文件(sanguo_vnpy/data_platform/

文件 说明 行数
import_vnpy_daily_fast.py 全量日线导入脚本(pandas向量化) 126

数据文件

文件 大小 路径
quant_trading.db 1.4 GB /Volumes/stock/sanguo_vnpy/data/
quant_trading.db.bak 8 KB /Volumes/stock/sanguo_vnpy/data/(原始空库备份)
database.dbDocker内) 1.51 GB /home/vnpy/.vntrader/

修复文件

文件 说明
executor_patched.py executor.py date→datetime 修复版
restore_backtest_service.sh 容器重启后恢复脚本
start_backtest.sh Docker内回测服务启动脚本

文档文件

文件 路径
01-requirements.md ~/.openclaw/sanguo_projects/sanguo_vnpy/docs/data-platform/

五、P0 腾讯API限频验证结果

指标 数值
测试规模 100只股票15分钟线
成功率 100%
平均响应时间 0.19秒/请求
封禁
预估全市场下载 ~17分钟(5500只)

结论:腾讯API限频不构成阻塞,P3分钟线可执行。


六、遗留问题(不阻塞P1

# 问题 影响 建议处理
1 容器重启需手动恢复回测服务 回测不自动启动 修改Docker entrypoint或Synology配置
2 NAS数据停在2026-03-27 缺34天日线 P2增量更新
3 6条异常数据(原始Parquet 影响极小 P4全量校验
4 DB导入非全自动(/tmp手动复制) 运维不便 优化导入脚本

七、P2-P4 待后续任务推进

阶段 内容 状态
P2: 数据基础设施 降级管理器+校验层+实时行情+增量更新+cron 待创建任务
P3: 分钟线数据 限频已验证通过,下载+导入 待创建任务
P4: 配套skill skill更新+全量校验+周维护 待创建任务

八、数据流架构(当前状态)

NAS Parquet (5191只×17年)
    ↓ import_vnpy_daily_fast.py
SQLite DB (1281万行, 1.4GB)
    ↓ Mac HTTP → Docker wget
Docker ~/.vntrader/database.db (1.51GB)
    ↓ engine.load_data()
vnpy BacktestingEngine → 回测结果 ✅

汇总完成:2026-05-02 庞统(副军师)🐦