360 Secure SkillHub
360 安全技能中心

hectorlee-momentum-position-advisor

纯量价动量的持仓诊断与选股工具:识别持有/预警/卖出/加仓/反弹等形态,按五维基础分加成本、量价共振、资金流向等得出108分制评分与持有、减仓、卖出、观望决策;支持单股、批量持仓诊断和全市场动量扫描,并通过逻辑覆盖层对外生冲击下的卖出信号做分级裁决。

xiyanjun
xiyanjun
热度 61.86
最近更新 2026-09-11 23:06:09
分类:数据依赖:代码执行 / 第三方 API / 读写文件应用场景:市场分析 / 财务 / 数据处理 / 推荐

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add hectorlee-momentum-position-advisor
Metadata
name
hectorlee-momentum-position-advisor
slug
hectorlee-momentum-position-advisor
version
1.3.8
displayName
动量持仓顾问
description
动量持仓顾问 V1.3.8。纯量价动量评估,判断持仓该继续持有、减仓还是卖出。8持有+6预警+4卖出+4加仓+3反弹形态(含M12V形反转+M13双底+M0横盘兜底)。新增决策滞回防震荡+减仓比例建议+资金流向维度+市场自适应+今日放量反弹覆盖+M10反弹阳线豁免+B2回踩判定修复。108分制评分。
agent_created
true

动量持仓顾问 V1.4.0

概述

纯量价动量评估系统 + 逻辑覆盖层,回答两个核心问题:

  1. 「从量价动量角度看,这只股票现在该持有、减仓还是卖出?」(量价引擎)
  2. 「这个卖出信号该不该执行?」(V1.4.0 逻辑覆盖层:逻辑证伪/量价破坏分级/资金承接/事件日历四层裁决)

设计哲学:模型告诉你"哪里疼",覆盖层判断"要不要截肢"。外生冲击(宏观事件/板块情绪)造成的趋势型破位,在基本面逻辑完好时不应机械执行卖出;反之,结构性走弱(20日无修复)的票即使有单日反弹也不可豁免。

与 volume-price-screener 互补:

  • volume-price-screener:捕捉"放量→缩量→横盘→突破"的收敛蓄力形态
  • 本 skill:捕捉"动量持续→衰竭识别"的趋势跟踪信号

设计理念

默认不轻易卖。6种持有形态覆盖拉升途中的各种调整(缩量回踩/旗形整理/阶梯横盘),只有出现明确的衰竭/破位证据时才发出减仓/卖出信号。


8+6+4+4+3 种形态(持有/预警/卖出/加仓/反弹)

🟢 持有类(8种 + M0兜底)

# 形态 标签 强度 描述
M1 底部启动加速 🚀 ★★★★★ 长期低量→放量阳线+突破MA20,双路径(3连阳递增/5日4阳温和反转)
M2 均线多头发散 📈 ★★★★☆ MA5>MA10>MA20>MA60,量能温和放大,沿MA5上行
M3 趋势中继加速 🔥 ★★★★☆ 上升通道中,短暂回调不破MA10后再次放量阳线
M4 缩量回踩支撑 🎯 ★★★☆☆ 拉升后缩量回踩MA20/MA60,触及即反弹收阳
M5 上升旗形整理 🏴 ★★★☆☆ 拉升后斜向下收敛震荡,缩量,整理幅度<拉升1/2
M6 阶梯横盘蓄力 🪜 ★★☆☆☆ 拉升后窄幅横盘(普通股<12%,科创板688<15%),缩量,≥60%收盘在上半部
M12 V形反转 ⚡ ★★★☆☆ 近15日回撤>15%后3日内收复>50%,反弹放量,站上MA20(V1.3.5新增)
M13 双底反转 🔄 ★★★★☆ 两低点不破前低(<3%)+放量突破颈线(V1.3.5新增)
M0 横盘整理通用 🪜 ★★ V1.3.2新增:站上MA10+MA20+VP确认时兜底,给8/15分

🟡 预警/减仓类(5种 + 1种前置预警)

# 信号 触发条件 含义
M7 高位搏杀 累计涨幅>30% + 爆量/涨停 + 换手>20% + 量能峰值后衰减 鱼尾行情
W1 涨幅过热 20日涨幅>20%,或10日涨幅>15% 风险累积
W2 乖离过大 收盘价偏离MA20>15% 均值回归压力
W3 上影频现 近5日中≥3日上影线>3% 抛压增大
W4 量能背离 价格新高但近5日均量<前5日80% 动能衰竭
Pre-M11 预破位预警 ⚠️ 距MA20<3%+量缩至85%+3日2阴+MA20斜率趋平 V1.2新增:提前1-3天预警

🟢 加仓类(4种)— V1.2 新增

# 信号 触发条件 强度
B1 反包阳线 🔄 前日阴线 + 当日阳线实体吞没前日实体 + 放量>1.2x ★★★
B2 回踩确认 🎯 回踩MA20/MA60不破缩量 + 当日放量阳线反弹 ★★★★
B3 整理突破 🚩 M5/M6整理末端 + 放量突破上轨 ★★★★★
B4 缩尽首阳 🌅 连续3日+缩量阴线后放量阳线(量>1.5x + 涨>2%) ★★

前置条件:动量健康度 ≥ 60(非卖出区间) + 至少命中一种加仓形态
评级:⭐⭐⭐ 强烈建议(8分) | ⭐⭐ 建议(5分) | ⭐ 轻仓试探(3分)
VP共振:VP≥80 升级 | VP≥60 +2分 | VP背离 否决加仓

🎲 反弹博弈类(3种)— V1.2 新增(仅卖出区间触发)

# 信号 触发条件 强度 策略
R1 恐慌抛售反弹 🩸 回撤>20% + 量>2x + 收阳 + 锤子线 ★★★ 恐慌盘出清,短线反弹确定性最高
R2 缩量衰竭反弹 🌑 回撤>25% + 量<60%均值 + 跌速放缓 + 连阴≥4力量耗尽 ★★ 卖盘枯竭,买方试探
R3 超跌均值回归 🎯 回撤>30% + 乖离>12% + 止跌信号 + 近3日有试探资金 ★ 极端超卖,统计规律驱动

前置条件:已触发 M10/M11 卖出信号
警告:反弹博弈 ≠ 趋势反转,严格止损(入场价-5%),目标 MA10

🔴 卖出类(4种)

# 信号 触发条件 数据支撑
M8 高开诱多 高开(开>昨收+2%)但收盘涨幅<1%,量>昨量70% AI股D+1模式
M9 缩量连阴 连续2日阴线 + 每日量<前5日均量70% 55%顶部触发
M10 峰值回撤 从近20日高点回撤>8%,近3日无反弹阳线 D+2升级版
M11 趋势破位 收盘跌破MA20且连续2日未收回 82%顶部确认

评分体系(108分制:基础五维100 + 加仓10 + 量价共振 + 成本±8 + 资金流向8)

维度 分值 核心因子
趋势强度 25 MA多头排列+15,站上MA20+5;破MA20-10,破MA60分级(M1康复-5/双支撑-10/普通-15)
量能健康度 20 温和放量+10,涨放量跌缩量+10;放量滞涨-8,量价背离-5
衰竭信号 25 无上影+10,回撤小+10,涨幅适中+5;W1~W4硬地板扣分,M1康复豁免
均线支撑 15 MA10/20/60逐级支撑+5/级;无近端支撑0分
形态匹配 15 M1M3/M12M13:1215分,M4M6:8~12分,M0:8分,卖出触发→0分
基础分小计 100 以上五维(base_total)
加仓信号 +10 B1~B4触发+有VP确认加分,VP背离否决
量价共振 -10~+12 VP形态融合加成:强+12/标准+8/弱+3/背离-8
持仓成本 ±8 盈≥30%→+8,盈≥15%→+5,亏≥10%→-8
资金流向 +8 近5日主力净流入加分(可选,无数据0分不扣)
满分 108 总分 clamp 到 [0,108]

决策引擎(V1.3.5 重构:分数+质量+MA结构+信号覆盖+底部反弹+滞回+市场自适应)

分数      反弹     M1      MA结构     底部反弹    ≥4维     决策
───────────────────────────────────────────────────────────
<35      有       —        —          —         —        WATCH
<35      无       —        —          ✓          —        WATCH   底部反弹
<35      无       —        —          ✗          —        SELL
35~49    有       —        —          —         —        WATCH
35~49    无       —       多头        —         —        REDUCE  均线多头回调
35~49    无       —       双撑弱       —         —        WATCH   弱势整理
35~49    无       —       破位        —         —        SELL
50~64    有/是    ✓        —          —         —        WATCH   反弹/M1观察
50~64    无       否       —          —         ✓        REDUCE  偏持有观望
50~64    无       否       —          —         ✗        REDUCE  偏谨慎
65~74    —       是       —          —         衰竭✓    HOLD    M1康复
65~74    —       —       多头跌破      —         ✓        REDUCE  涨多回调
65~74    —       —       不破位        —         ✓        HOLD    质量升级
65~74    —       —        —          —         ✗        REDUCE  偏谨慎
≥75      —       —        —          —         —        HOLD    标准持有
  • MA结构:多头=MA10>MA20>MA60;双撑弱=MA10/20双支撑但跌破MA60+无卖出信号;破位=其他
  • 底部反弹:回撤>20% + 收阳线 → 止跌信号,升级WATCH
  • 质量置信度:每个决策附带 N/7维健康 说明

使用方式

持仓批量诊断

cd scripts
python advisor.py --portfolio              # 读取 data/positions.json
python advisor.py --portfolio --detail     # 带五维评分明细

单股诊断

python advisor.py 300663 --cost 6.88              # 带成本价
python advisor.py 300663 600519 --detail          # 多股+明细
python advisor.py --search 科蓝 --cost 6.88       # 搜索后诊断

全市场动量扫描(选股模式)

python advisor.py --scan --top 20                 # 扫描动量形态Top20
python advisor.py --scan --top 20 --detail        # 带明细

参数覆盖

python advisor.py 300663 --params '{"vol_ratio_min":1.3,"ma_period":10}'

持仓文件格式

data/positions.json:

{
  "positions": [
    {"code": "300663", "name": "科蓝软件", "cost": 6.88, "buy_date": "2026-07-15"},
    {"code": "600519", "name": "贵州茅台", "cost": 1800.00, "buy_date": "2026-06-01"}
  ]
}

输出示例

简洁模式(默认)

═══ 动量持仓顾问 V1.3.5 ═══
  🟢 贵州茅台(600519)  HOLD  82分  M2均线多头  VP:+A/78
  🟡 浪潮信息(000977)  REDUCE  58分  ⚠ 涨幅过热+乖离过大
  👁 万向钱潮(000559)  WATCH  52分  M1康复观察 3/7维健康
  👁 寒武纪(688256)  WATCH  40分  超跌反弹 R3:36分
  🟡 恒玄科技(688608)  REDUCE  35分  均线多头回调 1/7维健康

详细模式(--detail)

═══ 动量持仓顾问 ── 欣旺达(300207) ═══
Price: 18.65 | 成本: 17.50 | PnL: +6.6%
Trend: MA20+7d | peak4d ago -3.5%

Decision: HOLD  68/100pts (63(VP+5))
Primary: 无形态 ❓

趋势强度     ░░░░░░░░░░ 0/25   站上MA20
量能健康度    ██████████ 20/20  温和放量+涨放量跌缩量
衰竭信号     ██████████ 25/25  无上影+回撤小
均线支撑     ██████░░░░ 10/15  MA10/MA20双支撑
形态匹配     █████░░░░░  8/15  M0横盘整理+VP确认
加仓信号     ░░░░░░░░░░  0/10  无加仓信号
量价共振     ██████████ 10/10  标准横盘78.5分

Advice: HOLD 质量升级 4/7维健康

数据源

数据 来源 说明
日K线 腾讯 ifzq.gtimg.cn(前复权,90根) 复用 volume-price-screener
实时行情 腾讯 qt.gtimg.cn 含换手率/名称/ST标记
全市场列表 东方财富 → 腾讯排行(备用) 复用 volume-price-screener

依赖:pip install requests numpy


脚本结构

scripts/
├── advisor.py            # 主入口:持仓诊断/单股诊断/全市场扫描(含板块共振)
├── momentum_detect.py    # 25种形态并行识别引擎(8持有M1~M6/M12/M13 + 4卖出M8~M11 + 6预警W1~W4/M7/Pre-M11 + 4加仓B1~B4 + 3反弹R1~R3)
├── momentum_scoring.py   # 五维评分引擎 + 成本因子 + 量价共振维度
├── cross_ref.py          # volume-price-screener 交叉引用与融合加成(V1.2强化)
├── sector_resonance.py   # **V1.2新增**:板块分类 + 共振检测 + 降级逻辑
├── risk_filter.py        # 风险前置过滤(ST/退市/一字板/连板)
└── portfolio.py          # 持仓文件读写 + 盈亏计算

data/
└── positions.json        # 默认持仓文件

references/
└── pattern_rules.md      # 形态规则与参数详解

与 volume-price-screener 融合

V1.1 起,持仓诊断会自动融合 volume-price-screener 的量价收敛形态结果进入评分体系:

融合规则(V1.2 加权强化)

量价收敛结果 动量决策 加成 逻辑
强形态(≥80分) 持有 +12 共振:蓄力+动量双确认,最优信号
标准形态(≥60分) 持有 +8 双重确认:蓄力确认+动量趋势
弱形态(<60分) 持有 +3 略有加分
背离预警(出货嫌疑) 任意 -8 强化卖出信号
强形态(≥60分) 减仓 +5 回调蓄力中,减仓不急
强形态(≥60分) 卖出 +5 关注假跌破可能
未命中 任意 0 纯动量驱动

输出体现

简洁模式:VP:~C/57.0(变体/分数) 详细模式:独立"量价共振"维度(0-10分)+ 底部摘要行

详见 scripts/cross_ref.py


设计依据

本 skill 的顶部识别逻辑基于 2026-08-02 对 14 只 AI 概念股 50 日 K 线的实证分析:

  • 11 个确认顶部中,82% 峰值日收阳线(无预警)
  • D+1/D+2 高开低走 + 缩量连阴是 55% 顶部的首现信号
  • 跌破 MA20 是 82% 顶部的最终确认
  • 顶部前 20 日平均涨幅 +24.2%
  • 顶部后 5 日平均跌幅 -14.4%

详见 references/pattern_rules.md(形态规则与参数详解)


V1.4.0 逻辑覆盖层(2026-09-11)

背景

V1.3.8 实盘复盘(2026-09-11,18只热门科技股20日回溯)暴露的系统性问题:外生冲击日(FOMC前/美股暴跌传导)M10/M11 趋势型卖出信号批量误触发——11/18 只被判 SELL,但其中多数基本面逻辑完好、且出现低位承接信号。纯量价模型无法区分"杀估值"与"杀逻辑"。

新增:logic_overlay.py 四层裁决(在决策引擎之上,最终权威)

  1. 逻辑证伪检验:data/fundamentals.json 配置每只票的 logic: intact|weak|broken + note + support(纪律位)+ valid_until(过期自动失效)
  2. 量价破坏分级:区分趋势型信号(M10/M11,可豁免)与形态型信号(M8/M9,不轻易豁免)
  3. 资金承接检验:detect_absorption_day() — 下影线≥2% + 收盘位于振幅上半部 + 量比≥1.2x = 低位承接日
  4. 事件日历检验:data/events.json 配置事件窗口(如 FOMC 前N日),窗口内外生冲击类卖出可逆性高

三条核心规则

规则 触发 动作
A 逻辑完好豁免 SELL(仅M10/M11) + logic=intact + (承接日|底部反弹|事件窗口) SELL → WATCH,标注纪律位
B 结构性走弱升级 20日无任何≥2%修复阳线 + logic≠intact REDUCE/WATCH → SELL("恒玄模式":无修复日的票没有恐慌日背景,是病灶)
C 逻辑破坏加速 logic=broken HOLD → REDUCE

配置缺失/过期时自动退回纯量价决策,不影响主流程;覆盖层异常打印 stderr 并降级。

实战验证(2026-09-11,18只热门科技股)

  • V1.3.8:1 HOLD / 5 REDUCE / 1 WATCH / 11 SELL(FOMC+美股存储暴跌双重外生冲击日)
  • V1.4.0:1 HOLD / 5 REDUCE / 8 WATCH / 4 SELL
  • 7只M11/M10型SELL被豁免(寒武纪/中芯/澜起/兆易/北方华创/拓荆/长川),其中兆易/北方华创/拓荆由承接日信号独立确认
  • 恒玄(20日无修复+逻辑weak)、立讯(逻辑weak)、德明利(逻辑weak)、天孚(M8形态型+weak)维持SELL——与人工四层框架判断一致

配置文件格式

data/fundamentals.json:

{
  "688981": {"logic": "intact", "note": "Q3指引+产能满载", "support": [115.8, 113], "valid_until": "2026-09-30"},
  "688608": {"logic": "weak", "note": "20日无修复,结构性走弱", "support": []}
}

data/events.json:

[
  {"date": "2026-09-16", "name": "美联储FOMC决议", "window": 3}
]

window = 事件日前 N 天内视为事件窗口。建议在每次重大宏观事件后更新此文件与 fundamentals.json。


注意事项

  • 不构成投资建议。本 skill 仅从纯量价动量角度提供参考信号,不替代基本面判断
  • 形态识别为纯量价信号,需结合板块轮动、消息面、资金面综合决策
  • 卖出信号触发后,实际执行时机和比例由用户自行判断
  • 历史顶部模式不能保证未来完全重复,但统计共性具有较强的参考价值

V1.2 更新日志 (2026-08-03)

新增功能

  1. Pre-M11 预破位预警:在 M11 趋势破位正式确认前 1-3 日发出预警。触发条件:价格距 MA20 < 3% + 缩量至 85% + 3 日 2 阴 + MA20 斜率趋平。严重度评分(0-100),≥50 分为高危。

  2. 板块共振降级:批量诊断后,若同板块 ≥2 只触发 SELL,自动将该板块内 HOLD/REDUCE 标的降 10 分。支持精确代码映射 + 名称关键词匹配 + 代码前缀推断三级分类。

  3. VP 共振加权强化:加成幅度全面提高——强形态 +8→+12,标准 +5→+8,关注 +2→+3,减仓/卖出场景 +3→+5,背离惩罚 -5→-8。

  4. 持仓成本融合:根据盈亏幅度调整决策紧迫度。大盈(≥30%)+8 分(利润缓冲,可从缓),大亏(≤-10%)-8 分(止损优先)。

  5. 反弹博弈判断(R1-R3):仅在 M10/M11 卖出信号触发后检测,识别潜在的短线技术反弹机会。R1 恐慌抛售反弹(最强)、R2 缩量衰竭反弹(中)、R3 超跌均值回归(弱)。所有反弹信号必须出现止跌K线(阳线/十字星)才能触发,避免接飞刀。

文件变更

  • scripts/momentum_detect.py: 新增 detect_pre_m11_warning() + detect_rebound_signals() (R1-R3) + detect_all() 主信号逻辑调整
  • scripts/cross_ref.py: compute_fusion_bonus() 加成值全面上调
  • scripts/momentum_scoring.py: 新增 compute_cost_factor() 函数 + 反弹博弈信号展示
  • scripts/advisor.py: diagnose_single() 传递成本数据,批量模式增加板块共振检测
  • scripts/sector_resonance.py: 新文件,板块分类 + 共振检测 + 降级逻辑

V1.1 更新日志 (2026-08-02)

形态识别优化

  1. M6 阶梯横盘振幅阈值放宽:振幅从 <8% → <12%(普通股),科创板688代码 → <15%
  2. W1 涨幅过热场景区分:距60日高点回撤 >40% 的超跌修复场景,涨幅阈值从20%→35%
  3. M1 底部启动突破条件放宽:从"突破MA60"放宽为"站上MA20即可",突破MA60额外+3分。新增路径B:5日4阳温和反转(不要求严格3连阳递增)
  4. 底部反转加分:距60日低点 <15% 出现放量阳线时,趋势强度额外 +10分

文件变更

  • scripts/momentum_detect.py: M1/M6/W1 逻辑增强,detect_all() 接受 code 参数
  • scripts/momentum_scoring.py: 趋势强度增加底部反转加分,衰竭信号增加超跌修复场景
  • scripts/advisor.py: 传递 code 到 detect_all()

V1.3.2 更新日志 (2026-08-04)

决策引擎重构(六轮迭代)

  1. R3 乖离阈值 -20% → -12%:MA20 下行时乖离难以追赶跌幅,寒武纪跌 31% 乖离仅 -13.5%。

  2. MA60 跌破惩罚分级:M1 康复 -5 / 站上 MA10+MA20 双支撑 -10 / 普通 -15。

  3. M0 横盘整理通用形态:无 M1~M6 命中但 VP 确认 + MA10/20 双支撑时,给 8/15 分兜底。

  4. WATCH 观望决策:<50 分 + 有 R1~R3 反弹信号 → WATCH(不再一刀切 SELL)。

  5. 质量置信度体系:统计 N/7 维健康(≥60% 满分),边界区根据质量升降级。

  6. 决策引擎全面重构:分数定区间 + 质量定升降 + MA 结构覆盖 + 反弹信号覆盖 + M1 特殊通道。新增 WATCH 覆盖:3549 反弹→WATCH,5064 反弹/M1→WATCH。MA 多头回调(MA10>20>60 但价格破 MA20)降为 REDUCE 而非 SELL。

文件变更

  • scripts/momentum_detect.py: R3 乖离阈值 -20→-12
  • scripts/momentum_scoring.py: MA60 分级/M0 形态/决策引擎重构/质量置信度
  • scripts/advisor.py: 汇总支持 WATCH
  • scripts/cross_ref.py: reduce_watch 兼容

V1.3.3 更新日志 (2026-08-05)

决策引擎边界信号修正

  1. 双支撑弱势整理 WATCH:35-49分区间新增中间状态判断。当价格站上MA10+MA20(短期双支撑)但跌破MA60(中期未修复)且无明确卖出形态触发时,决策从 SELL 修正为 WATCH(弱势整理)。

    触发动机:万向钱潮(000559) 40分跌破MA60判SELL,但MA10/20双支撑+窄幅整理+跌幅仅4%不构成趋势破位,实战中应为观望等方向而非卖出。

  2. 卖出信号区分:决策引擎新增 has_sell_signal 判断,区分"形态明确触发卖出"和"因分数边界值被动判SELL"两种情况。前者维持SELL,后者在有双支撑时降级WATCH。

新增变量

  • ma1020_double_support:价格同时站上MA10和MA20
  • ma60_broken:价格跌破MA60
  • double_support_weak:双支撑+破MA60+非多头排列(弱势整理特征)
  • has_sell_signal:是否有卖出形态明确触发

文件变更

  • scripts/momentum_scoring.py: 新增双支撑弱势整理检测 + 决策引擎 35-49 区间新增 WATCH 分支 + 卖出信号区分

V1.3.4 更新日志 (2026-08-05)

底部反弹 WATCH(反机械SELL)

  1. 深度回撤+阳线 = 止跌信号:<35分区间不再一刀切SELL。当回撤>20%且今日收阳时,升级为 WATCH(底部反弹)。

    触发动机:寒武纪(-27.6%)、兴森科技(-34.1%)、中芯国际(-28.3%) 都因M11破位判SELL,但今日均放量收阳。深度回撤后卖在底部不合理,应给观察期等MA20修复方向。

  2. 不放量要求:底部反弹初期天然缩量(买方试探),不能用调整期高量做基准。只要回撤>20%+阳线即触发,不要求量能确认。

  3. 回撤计算:基于近20日最高价 vs 当前收盘价。仅对 <35 分区间生效,不影响其他区间判断。

实战案例验证

  • 寒武纪 688256:SELL→WATCH(回撤27.6%+阳线 ✓)
  • 兴森科技 002436:SELL→WATCH(回撤34.1%+阳线 ✓)
  • 中芯国际 688981:SELL→WATCH(回撤28.3%+阳线 ✓)
  • 恒玄科技 688608:SELL→SELL(回撤15.0% 不足20%,维持)

板块共振改善

半导体板块从「4只卖出→共振降级」变为「1只卖出→关注」,不再触发板块级降级。

新增变量

  • peak20:近20日最高价
  • drawdown:基于 peak20 的回撤百分比(负值=回撤)
  • is_bullish_day:最后一天是否为阳线(close > open)
  • deep_rebound_watch:回撤>20% + 阳线 = 底部反弹WATCH

文件变更

  • scripts/momentum_scoring.py: 新增底部反弹检测 + 决策引擎 <35 区间新增底部反弹 WATCH 分支

V1.3.6 更新日志 (2026-08-17)

修复:今日放量反弹覆盖(反机械卖出)

问题:M8/M9/M10 卖出信号 + Pre-M11 预破位预警均以"近3日阴线"为触发条件,未识别"最新日已放量反弹收复MA20"的反转事实,导致放量阳线反弹日仍误判 SELL。

触发动机:寒武纪(688256) 今日(8-17)收盘 1156.00(+5.76% 放量阳线)站上 MA20(1154.20),却因 M10 峰值回撤(近3日2日阴线)+ M8 高开诱多 + Pre-M11 预破位(severity 100)被判 SELL。实际是明确的止跌反弹,应 WATCH。

修复内容

  1. 卖出信号反弹覆盖:detect_all() 中新增——最新日为放量反弹阳线(收阳 + 涨≥2% + 量≥1.1x + 站上MA20)时,清除 M8/M9/M10 回撤/诱多型卖出信号。M11 趋势破位要求连续2日跌破MA20,今日阳线站上天然不触发,无需处理。

  2. Pre-M11 反弹豁免:detect_pre_m11_warning() 中新增——最新日放量阳线(涨≥2% + 量≥1.1x + 站上MA20)属于向上收复而非向下逼近MA20,方向相反,不构成预破位预警,直接返回 None。

设计依据

V1.3.4 已确立"深度回撤+阳线=止跌信号,不应机械卖出"的哲学,但仅覆盖"回撤>20%"的场景。本次将这一哲学上移到统一层面:只要最新日是放量反弹阳线收复MA20,无论回撤幅度,回撤/诱多/预破位类信号一律失效,交由决策引擎按弱势整理(WATCH)处理。

实战验证

  • 寒武纪 688256:SELL→WATCH(+5.76%放量阳线站上MA20 ✓,回撤16.4%不足20%但反弹覆盖生效)
  • 中芯国际 688981:WATCH(维持,双支撑弱势整理)
  • 兴森科技 002436:WATCH(维持,M1底部启动)

文件变更

  • scripts/momentum_detect.py: 新增 detect_all() 卖出信号反弹覆盖 + detect_pre_m11_warning() 反弹豁免

V1.3.7 更新日志 (2026-08-18)

修复:M10 峰值回撤的"无反弹阳线"语义修正

问题:V1.3.6 的"今日放量反弹覆盖"只覆盖了"最新日为大阳线"的场景,未覆盖"昨日大阳反弹 + 今日缩量回踩"。中芯国际(688981) 8-17 放量阳线 +2.93% 创新高后,8-18 缩量回踩 -2%,却因 M10 的"近3日≥2日阴线"(8-14 阴 + 8-18 阴)误判 SELL。

根因:M10 文档语义是"回撤>8% 且近3日无反弹阳线",但代码实现成"近3日≥2日阴线",两种表述在"见底反弹后正常回踩"时不等价——后者会把反弹阳线也数进去,误杀反弹股。

修复内容

  1. M10 反弹阳线豁免:detect_m10_peak_drawdown() 中,在"≥2日阴线"判断前,先检查近3日是否出现涨幅≥2%的阳线。若有,说明已有反弹,直接不触发 M10。

实战验证

  • 中芯国际 688981:SELL→WATCH(8-17 阳线 +2.93% 反弹确认,8-18 缩量回踩不构成峰值回撤卖出)
  • 寒武纪 688256:WATCH(维持)
  • 兴森科技 002436:REDUCE(维持,W1涨幅过热)

文件变更

  • scripts/momentum_detect.py: detect_m10_peak_drawdown() 新增反弹阳线豁免