前言¶
做 A 股技术形态筛选时,常见做法是手写脚本扫全市场,或在回测里用「看见未来」的极值点。杯柄(Cup and Handle)规则多、参数杂,还要区分「形态刚走完」和「已经放量突破」两个阶段,单靠通用对话很难稳定复现同一套约束。
下面介绍 SkillHub 社区 Skill「杯柄形态预警v1」(@user_91e44d7e/cup-handle-alert-v1)。它把 CANSLIM 杯柄的识别与预警流程写进 SKILL.md 和 Python 脚本,强调无未来函数、按收盘数据运行,适合交给 Agent 在固定话术下触发扫描或单股分析。
这是什么¶
「杯柄形态预警v1」是面向专业投研场景的 Agent Skill(分类 professional,版本 1.0.0,来源 community),由发布者 user_91e44d7e 维护。SkillHub 页面标注 requires_api_key=false,安装后不需要额外 API Key。
定位:基于 William O’Neil CANSLIM 框架的每日杯柄形态预警系统。系统输出两类信号——D 点确认预警(形态完成,进入观察池)与放量突破预警(观察池内标的放量突破杯沿)。官方说明中明确采用「数据只到当日、关键点延迟确认」的设计,避免平滑与极值识别中的前视偏差。
- 官方 API 入口:https://api.skillhub.cn/user_91e44d7e/cup-handle-alert-v1
- SkillHub 展示页:https://www.skillhub.cn/skills/user_91e44d7e/cup-handle-alert-v1
核心功能¶
以下内容均来自 Skill 包内 SKILL.md 与脚本说明,可与安装后的目录对照。
两类预警¶
- D 点确认预警:杯柄形态在规则约束下走完,标的进入观察池,等待突破。
- 放量突破预警:观察池中的形态满足放量且收盘突破杯沿条件时,触发买入信号类预警。
每日处理流程(无未来函数)¶
收盘后按下列顺序执行(摘自 SKILL.md):
- 对截至当日的前复权日线做 Savitzky–Golay 平滑(数据截止当天)。
- ABCD 关键点只取「5 天前已确认」的极值,避开平滑尾部不稳定区间。
- 形态约束包括:前置上涨 ≥10%、杯深 10%–40%、右杯沿恢复度 ≥70%、柄部 5–25 天且回调 1%–12%、杯底不跌破 K(起涨点)等。
- D 点确认后进入观察池。
- 在 D 点之后检索是否放量突破(收盘 > 杯沿 × 1.01 且量比 ≥ 1.3)。
Agent 触发场景¶
当用户提出以下需求时,Agent 应加载该 Skill(SKILL.md 原文):
- 运行杯柄形态每日预警扫描
- 查看最新的杯柄突破信号
- 分析某只股票是否形成杯柄形态
- 生成杯柄预警可视化图表
预警结果字段¶
扫描结果 CSV 中包含 alert_type、alert_date、ts_code、name、breakout_price、breakout_vol_ratio、cup_depth_pct、handle_depth_pct、recovery_pct、breakout_level 以及 K–D 各点价格等字段,便于下游筛选或对接自有看板。
安装与启用¶
通过 SkillHub CLI 安装¶
先确认本机已安装 skillhub(安装方式见 https://skillhub.cn/install/skillhub.md)。安装 Skill 时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 且可能不被识别。
Cursor 常用路径为 ~/.cursor/skills/;Claude Code 为 ~/.claude/skills/;Codex 为 ~/.codex/skills/ 或项目下的 .agents/skills/。以下以 Cursor 为例:
skillhub install cup-handle-alert-v1 --namespace user_91e44d7e --dir ~/.cursor/skills/
SkillHub 页面也支持把下面提示交给 AI,让其按安装文档拉取同一坐标:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_91e44d7e/cup-handle-alert-v1。
安装完成后,在对话中使用上文「触发场景」中的表述即可让 Agent 读取 Skill 内指引并调用脚本。
数据与运行环境¶
脚本依赖本地 Parquet 数据(SKILL.md 约定路径):
- L1 前复权日线:
data/L1_price/daily_qfq.parquet - 股票信息:
data/L0_raw/stock_info.parquet
scripts/daily_alert.py 支持 --data 指定数据根目录,或通过环境变量 CUP_HANDLE_DATA 覆盖默认路径。运行需要 Python 3 及 pandas、numpy、scipy;单股 HTML 可视化脚本还依赖 plotly。
典型用法¶
进入已安装 Skill 所在项目根目录(或你存放数据与脚本的工程目录),按 SKILL.md 示例执行。
全市场每日预警¶
对全市场(或数据文件中全部标的)做扫描,结果打印到控制台并写入 CSV。
cd /path/to/project
python3 scripts/daily_alert.py
默认会生成 cup_handle_daily_alerts.csv。
单只股票分析¶
只扫描指定代码,例如深交所标的:
python3 scripts/daily_alert.py --stock 000426.SZ
可通过 --days 限制「D 点之后」的最大天数(脚本默认 30)。
预警 HTML 图¶
SKILL.md 给出的命令为:
python3 scripts/daily_alert.py --html
说明输出交互式 HTML 到 alerts_html/ 目录。包内另有 scripts/analyze_stock.py,文档写明用于「单只股票杯柄形态分析 + HTML 可视化」,可按需在装好数据后单独调用并核对是否与你的工程布局一致。
适用场景与注意¶
适合谁
- 已自建或能生成
daily_qfq.parquet、stock_info.parquet的量化/投研环境,希望在收盘后做规则固定的杯柄扫描。 - 希望 Agent 在「杯柄」「突破」「每日预警」等话术下,走同一套 CANSLIM 参数(如
SMOOTH_BW=11、CONFIRM_BUFFER=5、BREAKOUT_VOL_THRESH=1.3等,见SKILL.md参数表),而不是每次重新口述规则。
限制与注意
- 本 Skill 不提供行情数据源,须自行维护 L0/L1 Parquet;数据缺失或字段不符会导致脚本无法运行。
- 形态识别与突破条件均为程序化规则,不构成投资建议;实盘前应结合流动性、停牌、复权口径与自身风控验证。
- SkillHub 统计(截至页面抓取):评分 100000,下载约 798 次;具体数字以 SkillHub 实时展示为准。
- 方法说明中引用了 O’Neil《笑傲股市》、Lo et al. (2000) 平滑与极值思路等文献与开源参考,详见
SKILL.md「方法来源」一节。
结尾¶
「杯柄形态预警v1」把 CANSLIM 杯柄的两段式预警(D 点确认 + 放量突破)和延迟确认、无未来函数流程固化成 Agent Skill 与可执行脚本,适合在已有日线数据管线上做收盘后扫描。需要安装或查看元数据时,请访问 SkillHub 展示页:https://www.skillhub.cn/skills/user_91e44d7e/cup-handle-alert-v1 。