jingxuanc/quant-agent-skills/volatility-alert

Claude Code and agent skill by jingxuanc/quant-agent-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

当用户担心持仓或关注的标的波动会变大、风险在上升时使用。典型话术:"波动会不会变大""风险在上升吗""最近波动好大""要不要避险"。输出未来 N 日波动率预测,并检测波动率是否发生结构性突变(regime 切换)。

Install

npx vskill@latest install jingxuanc/quant-agent-skills/volatility-alert

SKILL.md

波动率预警

何时使用

  • "我手里的票波动会不会变大?"
  • "最近波动好大,是不是要出事?"
  • "风险在上升吗?要不要避险?"
  • "这只票是不是进入高波动阶段了?"
  • "帮我看下未来一周的波动率会不会抬头"
  • "最近行情静得反常,是不是要变盘"

轻问 vs 深问(成本控制)

轻问(默认,成本最低):只跑 1 个工具 factor-miner-vol_forecast(EWMA/GARCH),拿到未来波动率曲线,1 句话给结论——"未来 5 日日均波动 X%,比最近 20 日高/低多少"。适合盘中随口一问。

深问:vol_forecast + change_point 两个工具都跑,再补一段 regime 判断和风险提示段落。适合"这票能不能继续拿""要不要减仓"这类会影响决策的问题。

哪一步最贵:

  • factor-miner-vol_forecast:method="garch" 最贵(要拟合 GARCH(1,1)),method="ewma" 几乎瞬时,method="auto" 会先试 GARCH、装了 arch 才走 GARCH,否则自动降级 EWMA。轻问请直接用 method="auto",不要手动指定 garch。
  • factor-miner-change_point:method="pelt" 最贵(要装 ruptures),method="auto" 和 cusum_binseg 是内置 numpy 实现,很快。
  • 两个工具都不是异步任务:不需要 job_id,直接同步返回。本技能不涉及回测、训练或批量任务,因此无需轮询。

工具链

需要用户提供:标的代码 + 该标的的日 K 线序列(klines)。K 线格式:[{date: "2026-01-02", close: 12.34, high: 12.5, low: 12.1}, ...],按日期升序。 数据来源:本地行情库的 K 线 / 用户交割单导入的标的 / 行情接口拉取。若用户只给了代码没给 K 线,先取数据再调用,不要用假数据凑。

第 1 步:未来波动率预测(必做)
factor-miner-vol_forecast(
klines = [{date, close, high, low}, ...], // 按日期升序,建议 >= 120 根
horizon = 5, // 预测未来几天,默认 5
method = "auto" // auto | ewma | garch
)
  • 返回 forecast(逐日 vol,十进制小数,如 0.023 = 2.3%)、current_vol(当前波动率)、method(实际用了哪个:ewma 或 garch)。
  • 必须在报告里标出实际 `method`:若返回 ewma 说明 GARCH 不可用已降级,结论要相应弱化。
  • 给了 high / low 时工具会额外给 Parkinson 高低价波动率参考值,可用于交叉验证。
第 2 步:波动率结构性突变检测(深问必做,轻问可选)

change_point 吃的是"波动率序列"而不是价格序列,所以要先自己算滚动波动率:

  1. 用日收盘价算日收益率 r_t = ln(close_t / close_{t-1});
  2. 算滚动波动率,窗口 20 日:vol_t = std(r_{t-19..t});
  3. 把 [{date, value: vol_t}, ...] 喂给工具:
factor-miner-change_point(
series = [{date: "2026-01-02", value: 0.018}, ...], // 滚动波动率序列
method = "auto", // auto | cusum_binseg | pelt
max_bkps = 5 // 最多找几个变点
)
  • 返回 change_points:[{date, index, significance}, ...] 与 method。
  • 核心判断:变点日期距今很近(比如最近 5~10 个交易日内)→ 说"波动率 regime 可能已切换";变点都在很久以前或无变点 → 说"波动率结构稳定,暂无突变信号"。
  • 变点只说明"结构变了",方向不明确:波动率跳升通常是风险放大,但波动率从高位回落也可能只是情绪降温,要靠 vol_forecast 的高低对比来判断。
第 3 步:合并结论

把两个结果拼成一句话:未来 N 日预测波动率 vs 当前波动率的高低 + 有无近期变点。四象限:

变点预测波动率 vs 当前结论口径
有(近期)更高波动率抬升中,风险上升
有(近期)更低高位波动刚见顶,结构在切换
无更高波动率温和抬头,尚未突变
无更低或持平波动结构稳定,暂无预警

记忆回路(前查后记)

时机动作工具
执行前查该标的/同类标的历次"波动率突变预警"之后 N 日内的实际走势:预警发出后是继续放大波动、很快回落,还是根本没出现真实突变(假警报)causal-memory-search_causal(query="<标的> 波动率突变预警后实际走势 / 波动率抬升是否兑现 / 变点预警 假警报",task_tag="volatility-alert")
执行后把本次波动率判断作为一条待验证决策写入:预测值、变点结论、实际生效方法causal-memory-record_decision(decision="<标的> 未来 N 日波动率预测 X% vs 当前 Y%,<有/无>近期变点,结论:<抬升/见顶切换/温和抬头/稳定>",outcome="待验证",context="标的/样本区间/method/变点距今交易日数/波动率分位")
复检时距离本次预警满 N 个交易日(= horizon)后回填真实结果:实际 N 日已实现波动率 vs 预测值的高低、是否真的出现新变点(兑现/高估/假警报)causal-memory-record_decision(同一条 decision,outcome="实际 N 日日均波动率 A%,预测 X%,<高估/低估/命中>;<出现/未出现>真实突变")

本技能的历史参照维度是"波动率突变预警的兑现率":历次预警之后,预测的抬升是否真的发生、变点是否被后续行情确认。之所以对用户有价值,是因为波动率模型(尤其降级到 EWMA 时)天然倾向"延续近期状态",很容易把一次噪声抖动读成 regime 切换;把每次预警的后续实际走势成对存下来,下次再报"波动率抬升中"时就能告诉用户"这类情境过去 N 次里有 X 次确实兑现、Y 次是假警报",让结论从单次模型输出变成带胜率的判断,也避免用"高波动"被误读成方向看空。

输出格式

给用户的报告固定包含以下几节:

  1. 结论一句话:未来 N 日日均波动率 X%(当前 Y%),相比[上升/下降] Z 个百分点;[检测到/未检测到]近期波动率变点。
  2. 波动率预测表:逐日 第几天 / 日期 / 预测波动率(%),并标注 horizons 的日均值。
  3. 当前状态:current_vol、最近 20 日实际波动率(自算)、两者比值(>1.2 视为明显抬升)。
  4. 变点检测:变点日期列表 + 距今交易日数 + significance;无变点时明确写"未检测到结构性突变"。
  5. 计算方法与可信度:实际 method(ewma/garch、cusum_binseg/pelt)、K 线根数、数据时间范围。降级情况必须写明。
  6. 风险提示:模型输出,非承诺。
  7. 历史参照(必填小节):若检索到同类历史,写明「类似情境 N 次,其中 X 次 <本技能的判断维度> 正确」;

无历史则写「首次记录此类情境,本次判断已存入记忆供将来对照」。

合规边界

  • 只输出统计计算结果:波动率数值、变点日期、方法名、样本区间。
  • 不输出买入/卖出建议,不出现"建议减仓""可以加仓""该避险"这类指令性表述;用户问"要不要避险"时,只回答"波动率是否在上升 + 变点情况",把决策交还用户。
  • 不给目标价、不给点位预测、不做收益承诺。
  • 波动率预测本身不是方向预测:高波动不等于下跌,必须显式声明这一点,避免用户误读成看空信号。
  • vol_forecast 与 change_point 均为模型/统计输出,非承诺,历史波动不代表未来。

常见问题

  1. K 线不够长会失真:GARCH 与 20 日滚动波动率都需要足够样本,建议 klines >= 120 根。给 20 根就跑,结果基本没有参考价值——先跟用户要更多数据。
  2. 别自己心算滚动波动率就跳过工具:第 2 步的 series 必须用 [{date, value}] 结构喂给 change_point,value 是波动率(不是收益率、不是价格)。喂错序列会得出完全错误的变点。
  3. `method` 返回值和请求值可能不一致:请求 "auto" 或 "garch" 时,若环境没装 arch 会降级成 ewma;pelt 没装 ruptures 会降级成内置算法。报告里要写实际生效的方法,不要照抄自己的请求参数——这是最容易误导用户的地方。

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
5

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/jingxuanc/quant-agent-skills/volatility-alert/badge)](https://verified-skill.com/skills/jingxuanc/quant-agent-skills/volatility-alert)

Something wrong with this skill or its page? Tell us.