# MoFin 系统状态与数据链路说明(知微须知) > 更新:2026-08-17(小小莫整理,供知微了解最新系统机制) > 范围:自选候选管道 / 重评报告 / 淘汰机制 / RR 指标 的当前逻辑与今天的重要修复 --- ## 一、核心结论速览 1. **RR(盈亏比)不是质量指标,只是风控保底**——基于 12.3 万笔回测数据:RR 与最终收益 Pearson r≈0.05(几乎无关),分策略/分年规律相反。**RR 阈值已从 2.0 降到 1.0**(只拦"止损距离≥止盈距离"的负期望交易)。 2. **淘汰自选只认"卖出"信号**——数据证明死水3连/RR<2.0 淘汰 60% 误杀(淘汰后 20 日反而涨)。 3. **12 维重评报告的资金流/行业数据源已修复**——此前读到过期缓存/错表导致"暂无数据/待补充"。 4. **全环节记录"依据策略"**——候选→提拔→重评快照都有 strategy_name,可追溯。 --- ## 二、RR 指标的正确理解(重要) ### 数据依据(docs/RR分析结论.md) - 样本:123,049 笔回测交易(15 个策略版本) - **计划 RR**(选股时)= (止盈-买入)/(买入-止损),反映的是**止盈/止损参数比例**,不是选股质量 - 各策略设计 RR 天然不同:b_td1_v3=1.875,s2_panic_v2=2.5,v_mr 回测中位 2.25,v8.1 中位 1.53 - 全局 Pearson r≈0.05;分策略规律相反(v1.0 高RR好、v_mr2 高RR差);分年不稳定(2022 高RR反而亏) ### 当前阈值(已改) | 位置 | 门槛 | 逻辑 | |------|------|------| | promote 进自选 | RR ≥ 1.0 | 保底,防负期望交易 | | watchlist_auto_exit 每日淘汰 | RR < 1.0 淘汰 | 保底 | | 超跌类策略(p_oversold/b_td1_v3)| 豁免 RR 门槛 | 超跌反弹 RR 天然低 | --- ## 三、淘汰机制(2026-08-17 重构,老莫确认方案A) ### 数据依据(docs/淘汰逻辑验证.md) 1126 只死水3连淘汰标的后 20 日实际走势: - 信号不充分3连:+9.78%,71% 涨 → **严重误杀** - 弱势持有3连:+9.67%,75% 涨 → **严重误杀** - 观望3连:+1.80%(中性) - RR<2.0 淘汰:+4.74%,44% 涨 → 误杀 - **信号=卖出:-2.2% → 唯一正确** ### 当前逻辑(watchlist_auto_exit.py,每日 8:50 盘前) ``` 自动退出条件(二选一): 1. timing_signal 包含 "卖出" 2. rr_ratio > 0 且 < 1.0(保底) 其他情况一律保留(即使长期观望/信号不充分/弱势持有) ``` **关键认知**:"信号不充分/弱势持有"是**启动前的最低位区**(策略在等确认),不是该删的信号。删掉 = 删在启动前夜。 --- ## 四、12 维重评报告数据源(2026-08-17 修复) ### 根因与修复 | 问题 | 根因 | 修复 | |------|------|------| | 报告"资金流暂无数据" | 读 capital_flow_cache 用 ORDER BY id DESC → 拿到旧行 id=194(08-10,仅11只)| 改 WHERE id=1(现在08-17,33只)| | 报告"行业待补充" | 重评读 stock_sectors(仅898只),300668 等6只无记录 | 回退 stock_sectors_em(5061只)| | 资金流采集断档(08-04) | candidates 表缺 source 列,fund_flow_alert 写入静默失败 | 加 candidates.source 列 | ### 当前数据状态 - 资金流缓存:id=1,08-17 19:24 刷新,覆盖 33 只(holdings + 自选) - 行业覆盖:stock_sectors_em 5061 只全市场 - **注意**:港股(5位码)无资金流数据(sina API 不支持)——HK 股报告资金面仍可能显示中性 --- ## 五、全环节策略来源记录(strategy_name) | 环节 | 落点 | 说明 | |------|------|------| | 选股扫描 | candidates.source_strategy | b_td1_v3/accumulation/s2_panic_v2/v_mr 写策略名 | | 提拔 | holding_strategies.strategy_name | promote 继承候选来源 | | 重评快照 | strategy_history.strategy_name | snapshot 继承 holding | | 资金流突变 | candidates.source | = 'fund_flow_positive' | **查询方法**: ```sql -- 某候选是哪策略选的 SELECT code, source_strategy, rr FROM candidates WHERE code='XXX'; -- 某自选属于哪个策略 SELECT code, strategy_name, rr_ratio FROM holding_strategies WHERE code='XXX'; ``` --- ## 六、进自选推送(2026-08-17 增强) promote 提拔进自选后,XMPP 给老莫推送**完整 12 维重评全文**(含策略名、RR、买入区/止损/止盈、交叉分析)。若重评报告未就绪会标注"稍后补推"。 --- ## 七、当前运行状态(08-17 收盘) - active 策略:b_td1(trend_down,权重 0.3) - 自选:26 只(RR<1.0 待淘汰:0 只) - watchlist_auto_exit:cron `50 8 * * 1-5`(盘前跑) - 当日提交:22 个(RR规范/淘汰重构/数据源修复/4环节策略记录) --- ## 八、已知遗留(待处理/注意事项) ### 已修复(今日,共 26 个提交) - 资金流读取 bug(batch_reassess/candidate_filter/mofin_db 三处读到旧缓存 id=194 → WHERE id=1) - 行业读取缺覆盖(per_stock/batch_reassess/strategy_lifecycle 加 stock_sectors_em 回退) - sector_snapshots 全表读取(strategy_lifecycle 改最新快照,原 133907 行乱序) - watchlist 淘汰回注硬编码 v_mr → 用 strategy_name ### 遗留已知问题(minor/info,不阻塞运行) 1. **CREATE TABLE 不含新列**:candidates.source/source_strategy、holding_strategies.strategy_name、strategy_history.strategy_name 仅靠 `schema_migrate_20260817.py` ALTER 添加。**新建库/恢复部署时必须先跑迁移脚本**,否则 promote_candidates 会报"无此列"。 2. **三份 mofin_db.py 并存**(/home/hmo/MoFin/mofin_db.py、scripts/、deploy/profile-scripts/)——已全部同步修复,但维护时需注意是同一逻辑的多副本(硬链接)。 3. **港股(5位码)无资金流**:sina API 不支持,报告资金面可能显示中性——非 bug,数据源限制。 4. **fund_flow_alert.py:191** 读 capital_flow_cache 用 `ORDER BY updated_at DESC`(非 WHERE id=1)——当前正常(id=1 最新),未来若多行写入有隐患(minor)。 5. **batch_reassess.py:226** 行业读取无 em 回退——仅用于 signal_news 新闻关联匹配,影响小(minor)。 6. **capital_flow_cache 表残留旧行 id=194**(2026-08-10,11只)——WHERE id=1 已规避,旧行可清理(`DELETE FROM capital_flow_cache WHERE id<>1`)。 7. **存量 candidates 中 14 行 sector/source_strategy='v_mr'**(旧 watchlist 回注遗留)——新逻辑不再产生,存量可保留(promote 会按 actual 策略判断)。 ### 重要运维提醒 - **deploy_guard 15 分钟回滚未提交改动**:改生产代码必须立即 `GIT_ALLOW_COMMIT=1 git commit && push`(今天踩过坑,回滚重做了 2 次)。 - 整点写锁问题已修(conn 统一 timeout=30 + busy_timeout),但大表操作仍避开整点调度窗口。 --- *文档位置:/home/hmo/MoFin/docs/ 下(RR分析结论.md / 淘汰逻辑验证.md / 本说明)* *配套:/home/hmo/MoFin/deploy/profile-scripts/schema_migrate_20260817.py(schema 迁移,新建库必跑)*