Files
MoFin/docs/cron-review-poversold-20260811.md
T

184 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MoFin Cron 梳理报告 —— 对照预测超跌反弹策略(p_oversold)部署
> 状态:📋 初稿(待老莫逐部分确认)
> 创建:2026-08-11 | 对照策略:预测超跌反弹 v5docs/predictive_oversold_strategy.md
> 依据:docs/deployment-plan-predictive-oversold.md(部署计划)+ 58 个启用 cron 实际功能核查
> 范围:/home/hmo/.hermes/profiles/position-analyst/cron/jobs.json 启用任务 58 个 + mohe 2 个(mohe 不涉及)
## 〇〇、方法论对齐(2026-08-11 补充:3+6+12 视角)
> 依据:docs/research/2026-08-06-low-drawdown-study.md §7(老莫纠正原话)+
> docs/research/methodology.md(总纲)+ docs/strategy_research_methodology.md(由果及因)
### 3+6+12 定义(权威)
**3/6/12 = 3次重评 + 6步推导 + 12维全评**
| 组成 | 内容 | 落地文档 |
|------|------|---------|
| **3次重评** | 选股初评 → 入场重评 → 出场重评 | low-drawdown-study §7 / v_mr_strategy §19 |
| **6步推导** | 研究流程:果→因→全市场筛→负面剔除→正负合并→稳健验证 | methodology §3.2 / learned.md L14 |
| **12维全评** | 大盘/行业/个股 × 消息/基本/技术/资金 | methodology §3 / strategy_research_methodology §2 |
### cron 评估的 3+6+12 视角(核心)
从策略组合角度,每个 cron 应支撑以下环节之一:
**3次重评(运行态决策)**
- 选股初评 → 主力建仓扫描 / p_oversold 扫描器 / 候选过滤 / 候选提拔
- 入场重评 → 盘前全量重评(regenerate_all/ 12维补全 / 自选自动清理
- 出场重评 → ⚠️ **缺口**low-drawdown-study L134:出场由 watchlist 12维 LLM 接管,非确定性规则,不可回测)→ 需补机械兜底+12维倾斜双层规则
**6步推导(研究态)**
- 数据采集(stock_daily/stock_weekly/fundamentals/capital_flow)→ 研究数据基础
- 策略评估 / 策略复盘 / 建议对账 → 验证闭环
**12维全评(数据基础)**
- 大盘维:市场数据采集(mkt_rsi/mkt_dd60)、宏观上下文、宏观新闻
- 行业维:行业富集-cninfo、市场数据采集(板块)
- 个股维:基本面刷新、资金流采集、多周期缓存、价格监控
- 消息维:宏观新闻采集、知微洞察
### 由此得出的 cron 评估原则
1. **支撑 3+6+12 任一环节的 cron = 保留**(数据管道是策略的生命线)
2. **与 3+6+12 无关的 cron = 候选停**(如纯运维/重复/停摆)
3. **3次重评有缺口的环节 = 需新增/调整**(尤其出场重评)
4. **6步推导第6步"稳健验证"依赖数据完整性** → 数据采集类 cron 绝不能停
## 〇、分析框架
新策略 p_oversold 的核心需求:
1. 扫描器写入 candidatessector=p_oversold)→ 需调度
2. 候选评估:p_oversold 有自己的选股条件,**不适配 accumulation 的 6阶段评分 + RR>=2 门槛**
3. 盘前重评(regenerate_all)需覆盖新策略候选
4. 健康监控/简报需体现新策略
基于此,58 个 cron 分四类:停 / 保持 / 调整 / 新增。
---
## 一、可以直接停止的(8 个)
依据:与新策略无关 + 功能冗余/过时 + 持续失败无价值
| # | cron | 调度 | 脚本 | 为什么停 |
|---|------|------|------|---------|
| 1 | 策略评估-每日 | 0 21 * * 1-5 | stale_detector.py | ❌ error 8/6 起(Connection error)。与策略评估-每周重复,每日版是早期半成品 |
| 2 | 市场精选推荐-每日 | 0 16 * * 1-5 | prompt型(无script) | ❌ 7/31 起停摆(部署计划 §11.2 明确)。与新策略无关——新策略有专属扫描器,不需要通用精选 |
| 3 | 跨市场背离检测-周末 | 30 8-16/2 * * 0,6 | divergence_detector.py | 与跨市场背离检测(*/30 8-15 工作日)完全同脚本,周末单独重复 |
| 4 | 宏观风险扫描-午间 | 30 11 * * 1-5 | prompt型 | 与宏观风险扫描(8:30)重复度 80%,午间版冗余 |
| 5 | 宏观风险扫描-周末 | 0 10 * * 0,6 | prompt型 | 与宏观风险扫描(8:30)同脚本,周末重复 |
| 6 | 行业富集-cninfo-午间 | 45 12 * * 1-5 | sector_enrich_cninfo.py | 与行业富集-早间(7:50)同脚本。早间已覆盖全部 active 策略,cninfo 一天一次就够 |
| 7 | 基本面刷新-午间 | 47 12 * * 1-5 | fundamentals_refresh.py | 同脚本早晚各一次。基本面(PE/PB)一天变一次,午间版冗余 |
| 8 | 自选12维分析补全-每日午间 | 30 12 * * 1-5 | watchlist_12d_backfill.py | ⚠️ 待定:调度注释说"约80分钟",与午间其他任务重叠;若 p_oversold 有自己的评估,此任务价值下降 |
> ⚠️ 注:#8 自选12维补全是否停,需确认它与 p_oversold 专属评估是否冲突——若 p_oversold 走独立评估,此通用 12 维补全可降频或停。
---
## 二、必须保持不动(30 个)
依据:系统核心运转依赖,与新策略无冲突。
### 2.1 候选管道核心(5 个)——p_oversold 依赖它们
| cron | 调度 | 保持理由 |
|------|------|---------|
| 主力建仓扫描-每15分 | */10 9-15 | accumulation 扫描器——保留,新策略加独立扫描器不冲突 |
| 候选股过滤管道-每30分 | */30 9-15 | 保留(但见第三类"调整":RR/评分适配问题)|
| 候选股自动提拔-每30分 | */30 9-15 | 保留(但见第三类"调整"|
| 盘前全量重评-自选退出 | 10 8 * * 1-5 | 保留(2026-08-11 已修缓存预热 7:50)——p_oversold 候选进 holding_strategies 后自动被重评 |
| 自选自动清理-开盘前 | 5 9 * * 1-5 | 保留——管道收尾 |
### 2.2 数据基础(5 个)
| cron | 调度 | 保持理由 |
|------|------|---------|
| 价格监控-高频 | */2 9-16 | 实时价格唯一入口,p_oversold 也需要 |
| 市场数据采集 | */10 9-11,13-15 | 大盘/板块数据,p_oversold 门控依赖(mkt_rsi/mkt_dd60|
| 资金流采集-盘中 | 1,31 9-15 | 2026-08-11 已修(DELETE全表→单行upsert),p_oversold 可用资金流验证 |
| 多周期缓存刷新-盘中 | 50 7,11,14 | 2026-08-11 已修(补flush + 提前7:50)——**p_oversold 重评依赖它的缓存** |
| 数据采集-策略评估前 | 30 20 * * 1-5 | 策略评估数据源 |
### 2.3 LLM 分析/报告(5 个)
| cron | 调度 | 保持理由 |
|------|------|---------|
| 策略复盘-每日 | 0 20 * * 1-5 | 每日策略复盘,含新策略后自动覆盖 |
| 分析师-持仓复查 | 0 20 * * 4 | 周四持仓复查 |
| 开盘简报 | 35 9 * * 1-5 | 每日简报(部署计划 §五要求简报提及新策略)|
| 收盘简报 | 10 16 * * 1-5 | 每日简报 |
| 知微洞察生成 | 35 15 * * 1-5 | 知微日报(部署计划 §五要求交接)|
### 2.4 宏观/风险(4 个)
| cron | 调度 | 保持理由 |
|------|------|---------|
| 宏观新闻采集 | */30 8-16 | 数据源 |
| 宏观风险信号消费 | 5,20,35,50 9-15 | 消费信号 |
| 宏观上下文刷新-每30分 | */30 9-15 | p_oversold 门控用 macro_bias |
| 跨市场背离检测(工作日)| */30 8-15 | 保留(停周末版)|
### 2.5 系统维护/自愈(11 个)——绝不能停
| cron | 调度 | 保持理由 |
|------|------|---------|
| Gateway看门狗-知微 | every 10m | 系统自愈 |
| 部署一致性守卫 | */15 | 防代码漂移 |
| 元监控-自检系统的自检-L4 | 5 * * * * | 防螺旋 |
| agent螺旋监控 | */10 | 防螺旋(2026-07-21 事件后补)|
| 自愈执行器-TODO自动处理-v2 | */10 8-22 | 自动修复 |
| LLM修复循环-L3 | */30 9-16,20-22 | 自动修复 |
| 功能健康检查-L1 | */15 9-16,20-22 | 监控 |
| 健康监控数据采集-每15分 | */15 9-16,20-22 | 监控(但见第三类调整:注册 p_oversold 项)|
| 系统卫生审计-每日 | 20 8 * * * | 维护 |
| 系统全局审计 | 30 17 * * 1-5 | 维护 |
| DB每日备份-0750 | 50 7 * * * | 数据安全 |
| state.db真空整理-每周 | 0 3 * * 6 | 维护 |
| cron报告推XMPP-每5分 | */5 9-16 | 报告分发 |
| 记忆守卫-每日 | 0 7 * * * | 记忆管理 |
> 注:2.5 实际 14 个(标题写 11,含全),保持不动。
---
## 三、需要调整的(8 个)
| # | cron | 当前问题 | 调整方案 |
|---|------|---------|---------|
| 1 | 候选股过滤管道 | 6阶段评分为 accumulation 设计(量价放大/中低位),p_oversold 候选(深跌+低估值)评分不适配 | **方案A(推荐)**p_oversold 候选写 candidates 时直接标记高分+pass_final=1,绕过 candidate_filter;或让 candidate_filter 按 sector 分流 |
| 2 | 候选股自动提拔 | **RR>=2.0 硬门槛**promote_candidates.py:130)——超跌候选 RR 天然 <2(部署计划 §8.2 实测 40+/57 被拒)| 加 sector 判断:p_oversold 候选跳过 RR>=2 门槛(用专属评估替代)|
| 3 | 主力建仓扫描 | 只扫 accumulation | 保持——新增 p_oversold 独立扫描器 |
| 4 | 健康监控数据采集 | 无 p_oversold 项 | 注册 p_oversold 健康检查项(部署计划 §五)|
| 5 | 开盘简报 | 模板无新策略 | 模板提及新策略 |
| 6 | 知微洞察生成 | 未交接新策略 | 简报模板 + 策略文档 |
| 7 | 开盘前钉对钉 | ✅ 2026-08-11 已修(registry 路径,18/18 通过)| 保持,未来加 p_oversold 检查项 |
| 8 | MoFin 系统常规体检-开盘前 | 清单自动扩展 | 加 p_oversold 健康项 |
---
## 四、需要新增的(2 个)
| 新 cron | 说明 |
|---------|------|
| predictive_oversold_scanner | p_oversold 扫描器(腾讯行情源 + 大盘门控 + 写 candidates sector=p_oversold + 当日幂等 + 单例守卫 + 600s 护栏)。**调度方式待老莫定**:独立 cron vs market_watch 链式 |
| p_oversold 专属评估 | 按选股逻辑评估(不复用 accumulation 的 RR>=2)——可并入 scanner 或独立 |
---
## 五、汇总
| 类别 | 数量 | 说明 |
|------|------|------|
| 🛑 停 | 8 | 策略评估-每日、市场精选、跨市场背离-周末、宏观风险×2(午间/周末)、行业富集-午间、基本面-午间、自选12维补全(待定) |
| ✅ 保持 | 30 | 系统核心 + 数据基础 + 监控自愈 |
| 🔧 调整 | 8 | 候选管道×3(RR/评分适配)、健康监控/简报/体检×5(注册新策略)|
| 新增 | 2 | p_oversold 扫描器 + 专属评估 |
| ⚠️ 观察 | 3 | 策略评估-每日(停)、LLM修复循环、候选股过滤(已修,观察恢复)|
---
## 六、待老莫拍板
1. **停 8 个确认吗?**(尤其"市场精选推荐"——7/31 停摆,是否彻底废弃?)
2. **候选管道适配**:方案Ap_oversold 绕过 filter 直接标记高分)还是方案B(改管道门槛)?
3. **p_oversold 扫描器调度**:独立 cron 还是 market_watch 链式?