mirror of
https://ghfast.top/https://github.com/aeroxw/tick-stock-panel.git
synced 2026-09-12 23:44:16 +08:00
etf 维表(index_sync)物理上只有 symbol/name/code/asset_type, enriched 窄表 也不落盘股本字段; 而 DEFAULT_BASIC_FILTER 与矩阵缓存档 common_filter 均带 非 None 市值界, 依赖解析会无条件要求 total_shares/float_shares, 导致 _resolve_matrix_storage_fields 抛 "matrix parquet fields unavailable: ['float_shares', 'total_shares']" (用户反馈: ETF 因子挖掘死于「准备共享撮合矩阵」阶段)。 - 新增 _basic_filter_for_asset: 非股票资产将市值/流通市值四项界置 None, 依赖解析前中和; 运行期过滤本就对缺失股本列降级 no-op, 无需改动 - StrategyDependencyResolver.resolve 新增 asset_type 参数(默认 stock, 旧调用行为不变), 四个调用点传入真实资产类型: build_matrix_cache_profile / prepare_matrix_optimization / 单次回测 / composite 子计划 - mining_runtime._prepare_base_market 两处 resolve 传入 request.asset_type - 新增回归测试: ETF 计划与缓存档不含股本字段、股票行为不变、 ETF 维表下字段解析成功、反向对照锁定失败模式 验证: 全量 pytest 976 passed; 真实组件端到端复现用户失败路径已转绿 (ETF enriched + 四列维表, 共享矩阵 (280,3) 构建成功)。