Files
sanguo_vnpy_v2/tests/portfolio
claude_dev d2cd8fa945 feat(portfolio): get_security_info_batch + get_value_metrics_batch 批量接口
策略层提速第三轮(filters 通病 + 策略01):
- get_security_info_batch: 2 条 SQL(symbol IN chunk + GROUP BY sym,exc 拿
  min/max; constituent_unified 拿 name)替 N×2 逐只。filters.py filter_st_stock/
  filter_new_stock 自动探测批量(hasattr + isinstance dict 回退逐只, 向后兼容)。
  三策略 ST/次新过滤通病: 万次查询压成 2 条。
- get_value_metrics_batch: ThreadPool 并发逐只委托 lpp.get_value_metrics
  (多期 ROE/FCF/流动比率逻辑不变, 只并发)。策略01 价值精选提速。
- 接口3 get_ticks_batch 不做: 实证 get_current_tick 无 last_price/paused 字段
  → 回测涨跌停/停牌 filter 恒不过滤(死代码), 批量化无意义; 真问题是回测
  涨跌停检测失效(策略层另修)。

Mac TDD parity 测试全绿(batch==逐只); 93 回归通过。
2026-07-29 08:23:21 +08:00
..