refactor(provider): TET Phase3老接口内部委托Fetcher——①四老方法(get_price/get_closes_panel/get_index_stocks/get_fundamentals_df)旧体删除,改调同款Fetcher(与_ex两张皮,strict契约自此对老接口生效:非法frequency/fq/count/日期/空列表→ValueError,查询失败raise;Phase2副本对照4/4语义等值已验issue#19)②qfq因子二次读库归一:_build_qfq_factor/_apply_qfq_batch拆为_read_qfq_rows+_qfq_factor_from_rows与_read_qfq_events+_apply_qfq_events(IO/纯计算),因子读全挪进extract_data,transform零IO③all_weather四处get_fundamentals_df(choice)补空守卫(空候选集=调用方业务态)④3个宽松断言回归测试改strict(1m频率/空stocks/空symbols);938绿 [vps]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 33s
CI/CD / nas-verify (push) Successful in 17s

This commit is contained in:
2026-08-17 09:12:47 +08:00
parent 5211d5a6ed
commit d2364a36c5
6 changed files with 163 additions and 301 deletions
@@ -3,6 +3,8 @@
> 设计日期 2026-07-30。来源:OpenBB Fetcher TET 三段式 + 本项目数据层历史踩坑。配套调研见 `docs/research/openbb-platform-research.md`。
>
> 一句话定位:**把数据层的容错「兜底」范式,改成 TET 三段式「严格校验、不行就报错」范式,让数据质量问题在取数时暴露,而不是被掩盖后在策略下单时记成大祸。**
>
> **落地状态(窄试点 B,全三期完成)**:Phase 1 ✅ 2026-08-15(f9322a7,4 个 `_ex` 新接口 Fetcher 化,老接口零改动);Phase 2 ✅ 2026-08-15(策略 session a45ab30,4 副本对照 4/4 语义等值,issue #19);Phase 3 ✅ 2026-08-17(老接口内部委托 Fetcher,qfq 因子二次读库归一到 extract,strict 契约自此对老接口生效)。
---