2026-09-28 · 原文发布日
NSE期权异动扫描加AI解读
免费n8n模板:每30分钟读Google Sheets自选列表里启用的标的,经HTTP拉取最新期权链并标准化,再对照Supabase历史快照计算量比、持仓比和z分数标记异常合约;对异常项存快照并让OpenAI生成观察、可能解读和风险提示的简明文本,异常记录写Supabase并追加到表格日志,最后汇总成一封Gmail摘要发给收件人。
原文要点
该免费n8n模板每30分钟运行:从Google Sheets自选列表读取enabled为true的标的及其扫描设置,经HTTP节点请求配置好的NSE期权链接口并标准化合约字段(symbol、expiry、strike、option_type、ltp、volume、open_interest、change_in_oi、iv、underlying_price、captured_at、source),从Supabase的option_snapshots表取历史快照,计算量比、持仓量比和z分数标记异常合约。异常项存快照并让OpenAI生成含观察、可能解读、风险提示的简明文字,写入Supabase的option_anomalies表并追加到Sheets日志,最后由汇总节点把多条合并成一封Gmail摘要发给收件人。原文排障表指出:收多封邮件是因为汇总节点未把多条合并为一条;没异常是阈值问题;工作流不自动跑多半是未激活。
这次做成什么
复刻一个可独立验证的期权异动扫描练习:定时→读自选表→拉行情(练习时用合成数据代替真实接口)→与历史快照算三个指标→异常项AI解读→写库写表→合并成一封摘要邮件。核心是把指标计算与合并邮件两个易错点做对。
准备什么
- 一个n8n实例,支持Schedule Trigger、HTTP Request、Supabase、OpenAI、Gmail节点
- 一个Supabase项目,建好option_snapshots与option_anomalies两张表及匹配列
- 一个Google Sheets,含watchlist分页(symbol、enabled等列)和anomaly log分页
- 一个OpenAI API Key用于生成异常解读文本
- 一个Gmail OAuth凭据及接收摘要的收件地址
- (真实环境)一个返回上述合约字段的NSE期权链HTTP数据源;练习时用下方合成数据替代
具体怎么做
建定时与自选表读取
新建工作流,Schedule Trigger设每30分钟。接Google Sheets节点读watchlist分页,再接Filter节点只保留enabled等于true的行。先在表里填2个虚构标的(如NIFTY、BANKNIFTY,enabled=true)并手动执行确认只输出启用的行。
拉取并标准化合约
真实使用时接HTTP Request节点指向你的期权链接口;练习时改用Code节点返回下方合成JSON。后接Code节点做标准化:把原始响应映射成symbol、expiry、strike、option_type、ltp、volume、open_interest、change_in_oi、iv、underlying_price、captured_at、source十二个字段,缺字段补null,避免下游空值报错。
对照历史快照计算异常
接Supabase节点按symbol查option_snapshots的历史记录,再进Code节点逐合约计算:量比=当前volume/历史volume均值,持仓比=当前open_interest/历史open_interest均值,z分数=(当前volume-均值)/标准差。任一指标超过你设定的阈值(练习可用量比>2、持仓比>1.5、|z|>2.5)就标记异常并把完整快照存回option_snapshots。
异常项AI解读与落库
异常分支接OpenAI节点,用下方解读提示词,把合约字段填入用户消息。输出纯文本后接Supabase Insert写入option_anomalies(含ai_interpretation列),再接Google Sheets Append Row写日志分页。原文排障提示:若解读没存上,检查OpenAI输出字段与ai_interpretation映射是否一致。
合并成一封摘要邮件
关键一步:在Gmail节点前放一个汇总节点(如Code节点把多条item拼成单条文本,或模板中的Build Email Alert Digest逻辑),确保只输出一条。正文列出每个异常合约的标的、行权价、指标值与AI解读。原文明确:若邮件节点收到多条item就会发多封邮件,执行前先确认汇总输出为一条。
可直接复制的材料
合成期权链JSON
本站虚构合成行情,仅供练习注入,不代表真实市场数据;真实环境请用你自己的NSE期权链数据源并在原模板核对响应结构。
{"symbol":"NIFTY","underlying_price":24350.5,"captured_at":"2026-10-09T10:00:00+05:30","source":"practice-synthetic","contracts":[{"expiry":"2026-10-30","strike":24500,"option_type":"CE","ltp":88.4,"volume":185000,"open_interest":920000,"change_in_oi":210000,"iv":12.6},{"expiry":"2026-10-30","strike":24000,"option_type":"PE","ltp":74.2,"volume":42000,"open_interest":610000,"change_in_oi":15000,"iv":13.1}]}异常解读提示词
本站独立编写示例,对应原文"观察、可能解读、风险提示"三段结构;{{$json}}按上游节点实际字段调整。
你是衍生品市场观察员。下面是一份被系统标记为异动的期权合约数据(JSON)。请用中文输出三段,每段不超过40字:1)观察:客观描述哪个指标异常及数值;2)可能解读:列出一到两种常见解释,避免下结论;3)风险提示:一句话提醒这只是统计异动、不构成投资建议。不要输出其他内容。合约数据:{{$json}}watchlist表头与测试行
本站设计的练习配置;BANKNIFTY设为false用于验证Filter节点确实只放行启用标的;阈值列名需与原模板字段核对。
列名:symbol | enabled | volume_ratio_threshold | oi_ratio_threshold | z_threshold
测试行1:NIFTY | true | 2.0 | 1.5 | 2.5
测试行2:BANKNIFTY | false | 2.0 | 1.5 | 2.5option_anomalies建议列结构
本站建议结构,需与原模板写入字段核对后再建表;Supabase映射列名不一致会导致记录创建失败。
id(自增主键)| symbol(文本)| expiry(日期)| strike(数值)| option_type(文本)| volume_ratio(数值)| oi_ratio(数值)| z_score(数值)| ai_interpretation(文本)| detected_at(时间戳)输入与输出示例
本站虚构演示,计算由示例数字手工推导,非模板实测结果,未调用真实行情或OpenAI。
输入
合成合约:NIFTY 24500CE,volume=185000,历史volume均值60000、标准差30000;open_interest=920000,历史均值700000。阈值:量比>2、持仓比>1.5、|z|>2.5。对应输出
量比=185000/60000≈3.08(>2,触发);持仓比=920000/700000≈1.31(未触发);z=(185000-60000)/30000≈4.17(>2.5,触发)。判定异常,写入option_anomalies一行并追加Sheets日志。摘要邮件正文示例:"NIFTY 24500CE 2026-10-30 | 量比3.08 | z分数4.17 | 观察:成交量显著高于历史均值;可能解读:临近事件的资金布局或大单对冲;风险提示:统计异动不构成投资建议。"做完检查这些
- Filter节点执行后只输出enabled=true的标的,BANKNIFTY测试行被排除
- 标准化节点输出的每条合约都含十二个字段,缺失字段为null而非报错
- 合成数据中24500CE因量比3.08和z分数4.17被标记异常,24000PE不触发
- 异常记录在option_anomalies和Sheets日志各出现一次且ai_interpretation非空
- 一轮扫描只收到一封Gmail摘要,包含全部异常合约
容易卡住的地方
- 真实NSE接口的响应结构若变化,标准化会全部映射为null;先用合成数据跑通再接真实接口
- Supabase历史数据不足时z分数没有意义,原文也指出历史缺失会导致无异常或误报
- 阈值过低会刷屏告警,原文建议直接在计算节点调高阈值
- 忘记激活工作流是"不自动运行"的最常见原因
- OpenAI与行情数据源可能各自收费;练习阶段用合成数据可避免
- 邮件节点收到多条item就会发多封邮件,合并输出是硬性前置条件
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Detect NSE options anomalies with Supabase, OpenAI, Google Sheets and Gmail
- 原作者
- WeblineIndia
- 原始发布日期
- 2026-09-28T05:56:07.939Z
- 来源
- https://n8n.io/workflows/20003