Files
sanguo_vnpy_v2/sanguo_portfolio/providers
claude_dev 0ef0cadaff fix(portfolio): provider 基本面前视偏差修复 + ETF paused + roic 接入
- local_parquet_provider: 新增 _latest_published_annual(NOTICE_DATE<=date +
  年报口径),替旧 _latest_row_before(REPORT_DATE)。修复两个 bug:
  1) 前视偏差:旧按报告期过滤会用未披露年报(如 3/31 取上年报,4 月才披露);
  2) 周期错配:income/balance 各自取最新致 NP(年)÷权益(季)垃圾值。
  income/balance 统一走该 helper → 同报告期 + 无前视。
  另:roic 接 calc_roic,_num(v==v)排 NaN 修 g() 对 NaN truthy 问题。
- local_unified_provider: get_price 缺失字段 paused 补 False / high·low_limit
  按 close±10% 估,修 bool(NaN)=True 被 bullet_trade get_current_data 误判
  停牌致 _process_orders cancel 所有 ETF 订单(0 交易)。

实证:roe/roa 跨时点一致(p50 从 0.016/0.064 不一致 → 0.074/0.070/0.065)。
2026-07-24 11:26:56 +08:00
..