offline-daily-data-persisted.md

August 14, 2026 · View on GitHub

2026-08-05:因 Tushare Indevs 网关 adj_factor 源头数据污染(正常↔异常值域日级振荡导致价格尖刺,见 docs/plan/ 相关数据治理记录),改用用户提供的离线数据作为权威价格源。~/Downloads/{2015..2026}.zip(591M,12 个年度 zip)已解压为 12 年每日截面原始数据,并持久化到 data/stock_autocn_runtime/kp_all_daily/(727M,2788 个 {YYYYMMDD}.parquet,13 列 code/date/OHLC/pre_close/change/pct_chg/vol(股)/amount(元)/adj_factor/vwap,~5369 股/日)。

迁移已验证:12 年目录齐全(2015=244 / 2020=243 / 2025=243 / 2026=114 个文件)、parquet 数 2788/2788 与源完全一致、窗口末日 20260527.parquet md5 逐字节一致;临时层 /tmp/kp_all 已删除。

数据链路(三层):~/Downloads/{2015..2026}.zip(最后原始备份,仍保留)→ data/stock_autocn_runtime/kp_all_daily/(持久解压层)→ 按窗口 2022-07-01→2026-05-27 构建 1681 只 qfq 8 列 parquet → data/stock_autocn_runtime/tushare_qfq_1681/(94M,容器 /app/data 挂载,control / track A/B 回测数据源)。

Why: 该离线数据是当前 4 策略回测(control / track A/B,1681 宇宙)的权威价格源,且比 Tushare 网关数据更正确(保留 000039 真实分红步进);/tmp 会在重启/清理中丢失,必须持久化到项目内固定目录才能被脚本与后续重建引用。

How to apply: 需要重建或换窗口(如回测 2015-2022)时,构建脚本输入路径必须指向 data/stock_autocn_runtime/kp_all_daily/(不要再引用旧 /tmp/kp_all;参考原 /tmp/kp_build_from_daily.py 逻辑)。在确认不需要 2015-2022 更长窗口前,保留 ~/Downloads/{2015..2026}.zip 作为最后原始备份,不要删除。