feat: operationalize local Tushare Qlib research
This commit is contained in:
+21
-8
@@ -66,12 +66,13 @@ XtTrader:
|
||||
|
||||
## Data plane and point-in-time semantics
|
||||
|
||||
本地 Tushare 镜像是独立只读输入边界。adapter 只信任 SQLite 中 completed
|
||||
job,并重新核对文件大小、SHA-256、Parquet 行数/footer;Qlib provider
|
||||
发布到新目录,manifest 绑定 source job、build parameter、converter source、
|
||||
完整 provider tree 和可重算 `data_version`。当前镜像未完成且缺复权、
|
||||
真实 benchmark、历史成分/ST/停牌/涨跌停,因此只能进入 Qlib 技术 smoke,
|
||||
不能直接进入 canonical production decision。完整合同与实跑证据见
|
||||
本地 Tushare live mirror 是独立只读输入边界。scoped snapshot 在一次 SQLite
|
||||
读事务中选择目标日期/API/指数的 canonical completed job,并重新核对文件
|
||||
大小、SHA-256、Parquet 行数/footer;Qlib provider 发布到新目录,manifest
|
||||
绑定 source job、build parameter、converter source、完整 provider tree 和
|
||||
可重算 `data_version`。当前已有复权因子、真实 `000905.SH` benchmark/历史
|
||||
权重、停牌和涨跌停数据,但 live mirror 仍可变化,且 `stock_st` 权限被拒;
|
||||
因此必须先冻结、再验证,不能直接进入完整 canonical production decision。完整合同见
|
||||
[`TUSHARE_LOCAL_DATA.md`](TUSHARE_LOCAL_DATA.md)。
|
||||
|
||||
JQData adapter 的输入合同是逐交易日历史指数成员和 `get_bars` 日线字段:
|
||||
@@ -190,8 +191,20 @@ Qlib 路径固定为 `0.9.7`。CPython 3.12 实际 fixture smoke 已得到:
|
||||
重算的有限值指标,明确 `investment_value_claim=false`;
|
||||
- local MLflow file store 使用时,runner 以
|
||||
`os.environ.setdefault("MLFLOW_ALLOW_FILE_STORE", "true")` 显式确认。
|
||||
- 本地 Tushare completed 分区已生成 managed provider;早期未复权动量
|
||||
smoke 在 `PYTHONHASHSEED=0` 下连续两次得到逐 byte 相同的 evidence JSON。
|
||||
- 旧 Tushare 早期未复权 managed provider/momentum smoke 在
|
||||
`PYTHONHASHSEED=0` 下连续两次得到逐 byte 相同的 evidence JSON;它只证明
|
||||
旧转换器和运行时可重放;
|
||||
- 2018—2025 v2 managed provider 已使用真实复权、`SH000905` benchmark 和
|
||||
PIT index-weight universe,通过 verifier;同一 momentum run 两次 JSON
|
||||
byte-identical。月末权重保守地从下一 provider 交易日生效,
|
||||
`same_session_membership_use=false`;97 个 observed snapshots 形成 96 个
|
||||
effective rosters,每个严格 500 成分、weight sum 100±0.5,最大间隔 36 天。
|
||||
live DB/WAL 可被无关下载任务修改,但 221 个 scoped jobs double verified、
|
||||
验证后仍为 latest;独立 lineage 工具对 221 jobs 的 6 个身份字段得到
|
||||
mismatch 0,并确认 converter source 为 current。它仍是
|
||||
event-time/保守次日生效 PIT 近似,不是严格 knowledge-time PIT;不同
|
||||
`start` 的首观测锚 provider 不可直接拼接。它仍是 research-only、
|
||||
`gate_credit=[]`,不表达历史 ST 和逐股逐日涨跌停。
|
||||
|
||||
该 fixture 只有两只股票和一个 benchmark,性能没有投资意义。Qlib 的单一
|
||||
`limit_threshold` 也不能表达逐日板块/ST 规则,所以它只参与 L1/L2 和诊断
|
||||
|
||||
Reference in New Issue
Block a user