Files
MoFin/docs/strategy-recommendation-spec.md
T

71 lines
3.4 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.
# 策略推荐规范(2026-08-17 老莫定稿)
> 目的:所有推送给老爸的操作建议,必须**带上所依据的策略**,并根据策略描述推荐理由。
> 不可追溯的推荐一律不采信(教训:广信股份/博力威 2026-08-17 两起)。
---
## 一、为什么必须有依据(教训)
### 案例1:博力威(688345) 2026-08-17 10:36
- 知微推"建仓1手,止损56.02/止盈65.65/RR=2.72"——**但这是 strategy_history 的旧重评快照**
- 实际当前策略(holding_strategies):**信号=信号不充分、止损55.78、止盈65.54、买入区56.99~59.31、操作=空仓关注**
- 三处硬伤:①过期数据 ②RR算错(按现价57.88实际是4.18不是2.72)③与"信号不充分"直接矛盾
- **结论:不采信**
### 案例2:广信股份(603599) 2026-08-17 10:25
- 知微说"跌破9.88清仓"——**9.88是买入区下沿,不是止损**(止损是9.8)
- 且是引用08:35重评结论,未注明依据来源
- **结论:不采信**
## 二、规则(推荐必须遵守)
### 1. 每条推荐必须引用当前策略快照
推送操作建议时,必须包含:
- **策略版本**(如 version=1
- **重评时间**reassessed_at / updated_at
- **当前信号**timing_signal:买入/卖出/持有/信号不充分)
- **止损/止盈/买入区**(精确数值,不凭记忆)
- **操作建议原文**action
数据源:`holding_strategies` 表当前 active 记录(SSOT)。
**禁止**从 strategy_history 旧快照或 LLM 记忆引用。
### 2. 信号不充分 = 不给操作建议
- "信号不充分/观望/等信号/暂不买入" → 不是操作,**不推送**
- 候选股(非持仓)利好/利空新闻 → **不推送**(除非有明确"建议买入"信号)
### 3. 触发新重评再推
持仓股触发操作区间(破止损/进止盈区/基本面重大变化)→
**先触发盘中重评(reassess_with_context)→ 重评结论维持 → 才按新重评推送**
不触发重评就直接推旧结论 = 假警报。
### 4. 逻辑自洽(普世真理)
- 重评结论"持有" → 止损放结构支撑下方,不紧贴现价(避免正常回调触发)
- 重评结论"卖出/止盈" → 止损可紧贴(执行风控)
- 推送的操作建议必须与引用策略的信号一致,不得矛盾
## 三、系统实现(2026-08-17 已落地)
| 组件 | 改动 |
|---|---|
| `pool_news_collector.py` | 采集输出附**当前策略快照**(每只池子股票:版本/重评/止损/止盈/信号/操作),知微执行时可见真实策略 |
| `price_monitor.py` | 破止损推送:**重评后带完整操作原因 + 逻辑自洽**(重评持有则不推卖出,止损更新到重评值) |
| cron `pool_news_collector_30min` prompt | 写入推送门槛:实质操作才推、候选股不推、信号不充分不推、持仓股精确引用止损/止盈 |
## 四、知微执行指引
执行池子新闻/个股新闻 cron 时:
1. 先读 Script Output 中的**【当前策略快照】**段
2. 只对"信号=买入/卖出/持有且触发操作区"的股票给操作建议
3. 推送格式:
```
⚠️/✅ 名称(代码) 现价X | 依据策略: version=N(重评时间) | 信号=X
止损S 止盈T 买入区L~H | RR=X.X | 操作: [引用action原文]
```
4. 信号不充分/观望 → [SILENT] 或只报健康度,不列个股
---
*文档位置:docs/strategy-recommendation-spec.md | 2026-08-17*