# 涨停回调战法 · Mac实操agent必备记忆(MEMO)
> 本文件是给Mac实操侧Hermes的首会话上下文/常驻记忆。研究侧(主agent)与本侧分工:研究侧负责策略迭代,本侧负责把定稿策略跑成每日实操信号+模拟盘跟踪。

## 1. 策略定稿参数(2026-09-09 定稿,勿改)
- 标的池:沪深300 / 中证500 / 中证1000 / 中证2000 四池(2024-02起)
- **买入:只买强度≥85 的信号**(次日开盘价×1.001买入)
- **最多持仓15只**(MAX_POS=15);现金不足则不买
- **卖出规则(四池不同,在grid_or.py SELL_COMBO)**:见下节,严禁自行改动
- 模拟盘:初始100,000(2026-09-01起),基准日0901=1.0
- 强度模型v6=14特征(涨停链+拥挤度/池涨停/池均涨),值0-100

## 2. 四池卖出规则(定稿于scan_daily_tb.py SELL_COMBO,勿改)
- hs300: mode=merge(盘中回撤tracking dd=99%≈关闭) | 收盘止盈25% | 超时hold=15日
- zz500: mode=B(盘中≤最高价×(1-45%)跟踪止盈) | 止损20% | hold=15
- zz1000: mode=C(盘中回撤30% | 止损25% | 收盘止盈20%) | hold=15
- zz2000: mode=C(盘中回撤25% | 止损30% | 收盘止盈15%) | hold=15
- 强度只决定买入(≥85),卖出只看规则;买入的形态过滤参数(缩量/突破)在scan_daily_tb.py COMBO定义
- 成本:买=开盘×1.001+佣万2.5;卖=×0.999-佣万2.5-印花千1;模拟盘与回测同口径

## 3. 每日操作流程(实操闭环)
1. `python3 update_daily.py` — 增量拉四池行情到最新交易日(收盘16:00后tushare才发布当日)
2. `python3 scan_daily_tb.py` — 扫描当日涨停回调信号→算强度v6→追加strength_baseline.csv
3. `python3 sim_live_daily.py` — 模拟盘推进(θ85/N15):按规则买入/卖出,更新state+nav
4. `python3 plot_sim_live.py && python3 plot_sim_state.py` — 出净值图+持仓状态图
5. 推送候选给用户:信号强度≥85的股票清单(明日开盘候选)+模拟盘状态,等用户确认后才涉及真实下单

## 4. 数据与口径铁律
- strength_baseline.csv 是历史信号库(累计5804+笔),scan是**增量追加**,勿清空重建
- 收盘价必须从CSV精确读取(tail -2),推送必须含涨跌额和涨跌幅%
- 涨跌幅、强度等原始数值**不做round**,按原值推送
- 图表规范:数值轴从0开始不截断;中文用Noto Sans CJK(勿用JP字体);标注不能遮挡K线
- tushare token:在update_daily.py里配置(首次在mac上填自己的token)
- 数据源:行情=tushare;若需查资金/估值等另配akshare

## 5. 飞书推送格式(用户严格要求)
- **禁止Markdown表格、引用(>)、代码块** —— 飞书渲染乱
- 用纯文本bullet列表+emoji标题(📊📈📋)
- 评分/数值用紧凑格式,趋势简洁,每段一两句
- 推送须验证投递成功

## 6. 方法论红线(研究侧积累,实操必须遵守)
- 防未来函数:信号只能用到当日收盘为止的信息;买入次日开盘成交
- 存量vs流量:先界定指标是水位还是增速再解读(水位高+增速转负=危险)
- 用户会逐笔审计:任何推送数字要能从CSV追溯
- 实盘取向:信号推送+用户确认后半自动;拒绝全自动无人下单(密码铁律)

## 7. 与本侧相关的cron参考(在mac上按需重建)
- 每日17:00(收盘后):update_daily→scan→sim_live_daily→出图推送(模拟盘θ85/N15)
- 说明:mac上推送目标频道/时间自定;研究侧主agent仍保留自己的17:00任务,两边数据独立
