Simon
75c5472c31
feat(selection): M6.2 条件选股(method=condition + 财务可见性防护)
- quant/selection.run_condition_selection:结构化条件 AND 求值 —— 字段域
static.*(行业/市场…)、技术列与派生量(close/volume/ma20/ma60)、已注册因子
(momentum_60 等)、fundamental.*(announce_date<=as_of 的最新已公告财务值);
条件支持 value 字面量与 ref 字段比较(如 close > ma60);结果带 filter_status/reason
- SelectionQuery 校验调整:condition 模式为纯过滤(不再强制 top_n/top_pct)
- FinancialRepository 新增 list_announced_many(批量防未来函数读取)+ SQLAlchemy 实现;
SelectionService 注入 financial_repo 并按 announce_date 取每股最新一版
- tests/test_selection_condition.py:8 例(行业 in/ne、动量>0、close>ma60 ref、阈值、
ROE 过滤且未来公告不可见、缺财务 repo 报错、更早 as_of 排除);全量 pytest 通过
2026-09-09 00:16:45 +08:00
..
2026-09-06 17:08:00 +08:00
2026-09-08 23:58:48 +08:00
2026-09-06 17:22:05 +08:00
2026-09-06 17:14:33 +08:00
2026-09-08 23:58:48 +08:00
2026-09-08 21:48:09 +08:00
2026-09-06 16:59:28 +08:00
2026-09-06 16:59:28 +08:00
2026-09-06 16:09:10 +08:00
2026-09-06 22:12:44 +08:00
2026-09-08 21:48:09 +08:00
2026-09-06 18:20:28 +08:00
2026-09-07 21:36:16 +08:00
2026-09-06 17:08:00 +08:00
2026-09-08 21:48:09 +08:00
2026-09-06 17:08:00 +08:00
2026-09-09 00:16:45 +08:00
2026-09-09 00:12:28 +08:00
2026-09-08 21:48:09 +08:00
2026-09-08 21:48:09 +08:00
2026-09-09 00:13:28 +08:00