Install
openclaw skills install @xiyanjun/hectorlee-momentum-position-advisoropenclaw skills install @xiyanjun/hectorlee-momentum-position-advisor纯量价动量评估系统,回答一个核心问题:「从量价动量角度看,这只股票现在该持有、减仓还是卖出?」
与 volume-price-screener 互补:
默认不轻易卖。6种持有形态覆盖拉升途中的各种调整(缩量回踩/旗形整理/阶梯横盘),只有出现明确的衰竭/破位证据时才发出减仓/卖出信号。
| # | 形态 | 标签 | 强度 | 描述 |
|---|---|---|---|---|
| M1 | 底部启动加速 | 🚀 | ★★★★★ | 长期低量→放量阳线+突破MA20,双路径(3连阳递增/5日4阳温和反转) |
| M2 | 均线多头发散 | 📈 | ★★★★☆ | MA5>MA10>MA20>MA60,量能温和放大,沿MA5上行 |
| M3 | 趋势中继加速 | 🔥 | ★★★★☆ | 上升通道中,短暂回调不破MA10后再次放量阳线 |
| M4 | 缩量回踩支撑 | 🎯 | ★★★☆☆ | 拉升后缩量回踩MA20/MA60,触及即反弹收阳 |
| M5 | 上升旗形整理 | 🏴 | ★★★☆☆ | 拉升后斜向下收敛震荡,缩量,整理幅度<拉升1/2 |
| M6 | 阶梯横盘蓄力 | 🪜 | ★★☆☆☆ | 拉升后窄幅横盘(普通股<12%,科创板688<15%),缩量,≥60%收盘在上半部 |
| M0 | 横盘整理通用 🪜 | ★★ | V1.3.2新增:站上MA10+MA20+VP确认时兜底,给8/15分 |
| # | 信号 | 触发条件 | 含义 |
|---|---|---|---|
| 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天预警 |
| # | 信号 | 触发条件 | 强度 |
|---|---|---|---|
| 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背离 否决加仓
| # | 信号 | 触发条件 | 强度 | 策略 |
|---|---|---|---|---|
| R1 | 恐慌抛售反弹 🩸 | 回撤>20% + 量>2x + 收阳 + 锤子线 | ★★★ | 恐慌盘出清,短线反弹确定性最高 |
| R2 | 缩量衰竭反弹 🌑 | 回撤>25% + 量<60%均值 + 跌速放缓 + 连阴≥4力量耗尽 | ★★ | 卖盘枯竭,买方试探 |
| R3 | 超跌均值回归 🎯 | 回撤>30% + 乖离>12% + 止跌信号 + 近3日有试探资金 | ★ | 极端超卖,统计规律驱动 |
前置条件:已触发 M10/M11 卖出信号
警告:反弹博弈 ≠ 趋势反转,严格止损(入场价-5%),目标 MA10
| # | 信号 | 触发条件 | 数据支撑 |
|---|---|---|---|
| M8 | 高开诱多 | 高开(开>昨收+2%)但收盘涨幅<1%,量>昨量70% | AI股D+1模式 |
| M9 | 缩量连阴 | 连续2日阴线 + 每日量<前5日均量70% | 55%顶部触发 |
| M10 | 峰值回撤 | 从近20日高点回撤>8%,近3日无反弹阳线 | D+2升级版 |
| M11 | 趋势破位 | 收盘跌破MA20且连续2日未收回 | 82%顶部确认 |
| 维度 | 分值 | 核心因子 |
|---|---|---|
| 趋势强度 | 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 | M1 |
| 加仓信号 | 10 | B1~B4触发+有VP确认加分,VP背离否决 |
| 量价共振 | 10 | VP形态融合加成:强+12/标准+8/弱+3/背离-8 |
| 持仓成本 | ±8 | 盈≥30%→+8,盈≥15%→+5,亏≥10%→-8 |
分数 反弹 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 标准持有
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.2 ═══
🟢 贵州茅台(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维健康
═══ 动量持仓顾问 ── 欣旺达(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 # 21+3形态并行识别引擎(M1~M11 + W1~W4 + B1~B4 + R1~R3 + Pre-M11)
├── 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 # 形态规则与参数详解
V1.1 起,持仓诊断会自动融合 volume-price-screener 的量价收敛形态结果进入评分体系:
| 量价收敛结果 | 动量决策 | 加成 | 逻辑 |
|---|---|---|---|
| 强形态(≥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 线的实证分析:
详见 docs/plans/2026-08-02-momentum-position-advisor-design.md
Pre-M11 预破位预警:在 M11 趋势破位正式确认前 1-3 日发出预警。触发条件:价格距 MA20 < 3% + 缩量至 85% + 3 日 2 阴 + MA20 斜率趋平。严重度评分(0-100),≥50 分为高危。
板块共振降级:批量诊断后,若同板块 ≥2 只触发 SELL,自动将该板块内 HOLD/REDUCE 标的降 10 分。支持精确代码映射 + 名称关键词匹配 + 代码前缀推断三级分类。
VP 共振加权强化:加成幅度全面提高——强形态 +8→+12,标准 +5→+8,关注 +2→+3,减仓/卖出场景 +3→+5,背离惩罚 -5→-8。
持仓成本融合:根据盈亏幅度调整决策紧迫度。大盈(≥30%)+8 分(利润缓冲,可从缓),大亏(≤-10%)-8 分(止损优先)。
反弹博弈判断(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: 新文件,板块分类 + 共振检测 + 降级逻辑scripts/momentum_detect.py: M1/M6/W1 逻辑增强,detect_all() 接受 code 参数scripts/momentum_scoring.py: 趋势强度增加底部反转加分,衰竭信号增加超跌修复场景scripts/advisor.py: 传递 code 到 detect_all()R3 乖离阈值 -20% → -12%:MA20 下行时乖离难以追赶跌幅,寒武纪跌 31% 乖离仅 -13.5%。
MA60 跌破惩罚分级:M1 康复 -5 / 站上 MA10+MA20 双支撑 -10 / 普通 -15。
M0 横盘整理通用形态:无 M1~M6 命中但 VP 确认 + MA10/20 双支撑时,给 8/15 分兜底。
WATCH 观望决策:<50 分 + 有 R1~R3 反弹信号 → WATCH(不再一刀切 SELL)。
质量置信度体系:统计 N/7 维健康(≥60% 满分),边界区根据质量升降级。
决策引擎全面重构:分数定区间 + 质量定升降 + MA 结构覆盖 + 反弹信号覆盖 + M1 特殊通道。新增 WATCH 覆盖:3549 反弹→WATCH,5064 反弹/M1→WATCH。MA 多头回调(MA10>20>60 但价格破 MA20)降为 REDUCE 而非 SELL。
scripts/momentum_detect.py: R3 乖离阈值 -20→-12scripts/momentum_scoring.py: MA60 分级/M0 形态/决策引擎重构/质量置信度scripts/advisor.py: 汇总支持 WATCHscripts/cross_ref.py: reduce_watch 兼容双支撑弱势整理 WATCH:35-49分区间新增中间状态判断。当价格站上MA10+MA20(短期双支撑)但跌破MA60(中期未修复)且无明确卖出形态触发时,决策从 SELL 修正为 WATCH(弱势整理)。
触发动机:万向钱潮(000559) 40分跌破MA60判SELL,但MA10/20双支撑+窄幅整理+跌幅仅4%不构成趋势破位,实战中应为观望等方向而非卖出。
卖出信号区分:决策引擎新增 has_sell_signal 判断,区分"形态明确触发卖出"和"因分数边界值被动判SELL"两种情况。前者维持SELL,后者在有双支撑时降级WATCH。
ma1020_double_support:价格同时站上MA10和MA20ma60_broken:价格跌破MA60double_support_weak:双支撑+破MA60+非多头排列(弱势整理特征)has_sell_signal:是否有卖出形态明确触发scripts/momentum_scoring.py: 新增双支撑弱势整理检测 + 决策引擎 35-49 区间新增 WATCH 分支 + 卖出信号区分深度回撤+阳线 = 止跌信号:<35分区间不再一刀切SELL。当回撤>20%且今日收阳时,升级为 WATCH(底部反弹)。
触发动机:寒武纪(-27.6%)、兴森科技(-34.1%)、中芯国际(-28.3%) 都因M11破位判SELL,但今日均放量收阳。深度回撤后卖在底部不合理,应给观察期等MA20修复方向。
不放量要求:底部反弹初期天然缩量(买方试探),不能用调整期高量做基准。只要回撤>20%+阳线即触发,不要求量能确认。
回撤计算:基于近20日最高价 vs 当前收盘价。仅对 <35 分区间生效,不影响其他区间判断。
半导体板块从「4只卖出→共振降级」变为「1只卖出→关注」,不再触发板块级降级。
peak20:近20日最高价drawdown:基于 peak20 的回撤百分比(负值=回撤)is_bullish_day:最后一天是否为阳线(close > open)deep_rebound_watch:回撤>20% + 阳线 = 底部反弹WATCHscripts/momentum_scoring.py: 新增底部反弹检测 + 决策引擎 <35 区间新增底部反弹 WATCH 分支