2026-09-28 · 原文发布日
印度VIX恐慌指数换挡自动告警
免费n8n模板:每天15:30经HTTP拉取India VIX数值并校验,按阈值划入LOW、NORMAL、ELEVATED、CRISIS四档,与Google Sheets里存的上次档位比较;不变则记录后结束,换挡时把变迁细节交OpenAI生成科普性质的风险与仓位建议JSON,更新状态表、追加历史记录,并向Slack发含VIX变化和AI解读的格式化告警。
原文要点
原模板由WeblineIndia发布在n8n模板库(免费),每天15:30经Schedule触发,用HTTP节点拉取India VIX并校验为数值且非负,归一化成统一字段后与Google Sheets里CurrentState表的上次档位比较。档位分LOW、NORMAL、ELEVATED、CRISIS四档;未变只记日志结束,换挡则把变迁细节交OpenAI(gpt-4.1-nano)生成JSON格式的科普性风险与仓位建议,随后更新状态表、向RegimeHistory追加历史记录,并向Slack发含VIX变化和AI解读的格式化告警。原文未给出具体阈值与HTTP数据源地址,需自行替换。
这次做成什么
在n8n搭一条“每日拉数→校验→分档→比对→换挡才告警”的VIX监控流,并用本站设计的小型练习数据手动跑通一次完整换挡分支,理解每个节点的输入输出,再决定是否接真实数据源。本站练习的四档阈值(LOW<13、NORMAL 13-17、ELEVATED 17-25、CRISIS>25)为本站设定,原模板阈值需在其配置节点核对。
准备什么
- n8n可运行实例(云端或自托管)及创建工作流权限
- Google Sheets OAuth凭据,含一个自建电子表格:CurrentState与RegimeHistory两个工作表
- OpenAI API凭据,且账号可用gpt-4.1-nano模型
- Slack工作区凭据,机器人已被邀请进目标告警频道
- 一个返回value与timestamp字段的VIX数据HTTP端点,练习期可用本站静态模拟数据代替
具体怎么做
建表并写入初始状态
在Google Sheets新建电子表格,建CurrentState表,首行写state_id、current_vix、current_regime、updated_at,首行数据写VIX-001、15.2、NORMAL、2026-09-27T15:30:00+05:30;再建RegimeHistory表,首行写changed_at、from_regime、to_regime、from_vix、to_vix、ai_summary。在n8n凭据页添加Google Sheets OAuth并授权该表格。
搭触发与拉数段
新建工作流,加Schedule Trigger设为每天15:30(练习期改Manual Trigger)。接HTTP Request节点指向你的VIX数据源;练习期改用Code节点输出{"value":26.8,"timestamp":"2026-09-28T15:30:00+05:30"}。再接一个Code节点校验:value必须是数字且不小于0,否则抛出错误;通过后输出统一字段vix与fetched_at。
分档与比对分支
加Google Sheets节点读取CurrentState中state_id=VIX-001的行。用Code节点按阈值把vix分档,再把new_regime与表中current_regime比较,输出shift=true/false。接IF节点:false分支只写一条no change日志(可用Set节点或直接结束);true分支继续向下。
换挡后的AI解读与三路输出
true分支接OpenAI节点,模型选gpt-4.1-nano,把from_regime、to_regime、from_vix、to_vix填入下方提示词,要求只返回JSON。然后并联三路:Google Sheets更新CurrentState对应行的vix与regime;Google Sheets向RegimeHistory追加一行,把AI返回的summary写入ai_summary列;Slack节点按模板发消息到目标频道。
可直接复制的材料
OpenAI换挡解读提示词
本站独立编写,双花括号字段需在n8n中替换为上游节点表达式;模型按要求选gpt-4.1-nano。
你是面向普通投资者的市场波动科普作者,不提供个性化投资建议。已知印度波动率指数India VIX发生档位切换:前一档位{{from_regime}}(VIX={{from_vix}}),当前档位{{to_regime}}(VIX={{to_vix}})。请只输出一个JSON对象,不要输出任何其他文字,结构为:{"summary":"一句话说明这次换挡意味着什么","risk_context":"两到三句科普,解释该档位下市场波动通常如何、历史上类似换挡后常见的短期现象","position_hint":"一句一般性的仓位管理常识提示,末尾必须包含‘不构成投资建议’","confidence_note":"一句说明VIX只是波动预期指标、不预测方向"}。全部用简体中文,措辞中性,不预测涨跌。CurrentState与RegimeHistory表头及测试行
本站合成的练习初始数据,导入Google Sheets即可;state_id保持VIX-001与工作流读取条件一致。
CurrentState.csv:
state_id,current_vix,current_regime,updated_at
VIX-001,15.2,NORMAL,2026-09-27T15:30:00+05:30
RegimeHistory.csv:
changed_at,from_regime,to_regime,from_vix,to_vix,ai_summarySlack告警消息模板
本站编写的Slack块文本示例,字段需映射上游节点输出;change_pct可在Code节点用(to_vix-from_vix)/from_vix*100计算并保留一位小数。
:warning: India VIX 档位切换
档位:{{from_regime}} → {{to_regime}}
VIX:{{from_vix}} → {{to_vix}}({{change_pct}}%)
时间:{{fetched_at}}
AI解读:{{ai_summary}}
仓位提示:{{ai_position_hint}}
(本消息为自动化科普提醒,不构成投资建议)输入与输出示例
本站虚构演示,AI返回为示意写法而非真实调用结果,未实际运行。
输入
用Code节点模拟拉数返回{"value":26.8,"timestamp":"2026-09-28T15:30:00+05:30"},CurrentState表中存量为VIX-001、15.2、NORMAL,手动执行一次工作流。对应输出
校验通过后26.8按本站阈值划入CRISIS,与NORMAL不同进入换挡分支。OpenAI返回示例:{"summary":"VIX由正常区间跃升至危机区间","risk_context":"历史波动预期急剧抬升,短线波动幅度通常明显放大","position_hint":"高波动期控制单一仓位暴露是常见风控常识,不构成投资建议","confidence_note":"VIX反映预期波动,不预示方向"}。Slack消息::warning: India VIX 档位切换 NORMAL → CRISIS,15.2 → 26.8(+76.3%)。RegimeHistory追加一行含上述summary。做完检查这些
- 手动执行后CurrentState中VIX-001行的current_regime变为CRISIS且current_vix为26.8
- RegimeHistory恰好追加一行,from_regime为NORMAL、to_regime为CRISIS且ai_summary非空
- Slack目标频道收到一条含新旧档位、新旧VIX数值和AI解读的消息
- 再次手动执行同样数据时走no change分支,不重复追加历史也不发Slack
- 输入负数或文本时校验节点报错中止,不产生任何写入
容易卡住的地方
- 原文未给出HTTP数据源地址,占位端点必须换成你自有的返回value与timestamp的来源,字段名不同要同步改归一化节点
- 四档阈值的原文取值未公开,需在原模板配置节点核对,本站13/17/25仅为练习设定
- gpt-4.1-nano需你的OpenAI账号实际可用,否则OpenAI节点报错导致换挡分支中断
- Google Sheets的state_id查询条件写死为VIX-001时,表里行值不一致会读不到上次状态
- Slack机器人未加入目标频道会发送失败,历史表却已追加,重跑前先清理重复行
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Detect India VIX regime shifts with GPT-4.1, Google Sheets, and Slack alerts
- 原作者
- WeblineIndia
- 原始发布日期
- 2026-09-28T06:03:34.026Z
- 来源
- https://n8n.io/workflows/20005