概述
目标:识别并跟踪「鲸鱼」:为中长期行情布局的机构。
难度:中级–进阶
时间周期:数周至数月(波段至持仓)
适用:识别结构性吸筹或派发。
区别:与高频「扫单」不同,大单是单笔、大规模成交。更能说明资金部署与信念,而不只是速度。
使用 OptionData API 运行本策略: 在实时 WebSocket 上使用 AGGREGATED 模式查看真实大单规模;按权利金与到期筛选。文末 OptionData API 卡片包含鲸鱼流代码片段。
关键术语
| 术语 | 通俗含义 |
|---|---|
| 大单 | 单笔极大的期权(或股票)成交,常为 1 万+ 张或 $1M+ 权利金。多经协商或拆到不同场所。 |
| 鲸鱼 | 能影响市场的大型机构(对冲基金、资管)。 |
| AGGREGATED 模式 | 将属于同一大单的多次小打印合并,显示真实大单规模而非「噪音」。 |
| ITM / ATM / OTM | 实值(行权即盈利)、平值(行权≈现价)、虚值(需价格移动才盈利)。 |
| LEAPS | 长期期权(常 1–2 年以上)。用于长期押注或替代持股。 |
| 股票替代 | 用深度实值 Call 替代持股,以更少资金获得敞口。 |
为何聚合重要: 大资金常把一笔 1 万张拆成多笔小单以隐藏规模。不聚合时你看到很 多小成交;聚合后看到一笔 1 万张大单,鲸鱼。
核心概念
大单:机构的足迹
大单通常是私下协商、场外或单笔打印成交。
- 规模:1 万+ 张或 >$1M 权利金。
- 目的:战略布局(股票替代、对冲或方向性押注)。
- 模式:标准流若不聚合往往看不到,聚合后才显现。
聚合问题与解决
机构常「切单」以在公开流中隐藏规模。
一笔 1 万张的鲸鱼订单被拆成子单分散到各交易所,AGGREGATED 模式再将其还原为单一大单。
要点:不聚合时,鲸鱼看起来像五个散户。聚合后,足迹一目了然。
需关注的指标
1. 规模门槛
按市值区分有意义的权利金。
权利金门槛
-
小盘: $100k+ - 市值 < $10B
-
大盘: $1M+ - 市值 > $50B
-
超大盘: $5M+ - AAPL、NVDA
-
规模 vs OI: >50% - 关键信号
2. 虚实值与意图
行权选择反映策略。
- 深度实值(Delta 0.80+):股票替代。强烈看多。用更少资金替代持股。
- 平值(Delta 0.50):方向性。风险回报平衡。
- 虚值(Delta 0.30):投机。预期波动 > 隐含波动率。
- 深度虚值 LEAPS:结构性。长期范式押注。
3. 执行模式:AGGREGATED
关键设置:必须在 OptionData 中开启 AGGREGATED 模式,将拆分打印还原为原始母单,显示真实规模。
4. 侧与价格
- MID:协商大单。高信念、低紧急。
- ASK:「付价差」。高信念且高紧急。
分步分析流程
分析以 T+1 确认收尾——对比 Day 0 与 Day +1 的持仓量;次日 OI 增加即确认鲸鱼开仓并持有。
步骤 1:开启聚合
操作:在 OptionData(或流工具)中将数据模式设为 AGGREGATED。
结果:同一母单的拆分打印会合并,看到真实大单规模而非多笔小单。
入门提示:若保持「原始」或非聚合,1 万张大单可能显示为 20 笔 500 张,像散户。聚合后露出鲸鱼。
步骤 2:筛选鲸鱼
设筛选排除噪音:
- 权利金 > $1M
- 到期 > 14 天(过滤 Gamma scalp)
扫描示例
-
标的: TSLA
-
规模: 12,000
-
OI: 8,000
-
比例: 150% - 新仓位
步骤 3:理解策略
用决策树:
- 实值 + Call:看多股票替代。
- 虚值 + Call(< 30 DTE):催化剂投机。
- 虚值 + Call(> 90 DTE):结构性看多。
- 实值 + Put:看空或保护。
步骤 4:T+1 确认
关键一步:次日持仓量是否增加?
- 是:他们持有。跟随。
- 否:他们平仓或是复杂对冲。忽略。
这样确认: 期权链 API 一次 POST 即可返回每个合约的
open_interest与open_interest_change,查次日 OI 变化最简单的方式。
实例
例 1:NVDA 深度实值 LEAPS(2022 年 11 月)
设置:在「AI 寒冬」深处出现大额大单。
- 成交:$100 Call,2024 年 1 月(LEAPS)
- 数据:25k 张,$11.8M 权利金,Delta 0.92。
分析:
成交分析
-
策略: 股票替代
-
杠杆: 30:1
-
T+1 OI: +25k - 确认
结果:NVDA 涨至 $495。Call 从 $47 → $395。回报:+740%。
例 2:AAPL 财报投机
设置:财报前 3 天。
- 成交:$175 Call(虚值),2 周后到期。
- 数据:18k 张,$2.88M,在 ASK 成交。
分析:
- 紧急度:ASK 侧 = 不愿等。
- 时机:事件前。
- 结论:押财报超预期。
结果:AAPL 跳空高开。Call +493%。
例 3:「原始」vs「聚合」教训
原始流:显示 5 笔各 $200k,像噪音。 聚合流:显示 1 笔 $1.04M 大单。 结论:有鲸鱼在隐藏。 教训:始终使用聚合。
常见陷阱
陷阱 1:误判价差
错误:看到大额 Call 买入,却漏掉更高行权的同步 Call 卖出。 事实:垂直价差利润有顶,不如裸 Call 看多。 对策:检查配对成交。
陷阱 2:忽视 T+1
错误:跟了一笔实为平仓的大单。 对策:若 T+1 OI 下降,说明他们在离场。
陷阱 3:周期错配
错误:用 LEAPS 信号做日内。 对策:持仓周期与信号匹配。LEAPS 信号是月级别,不是分钟。
进阶技巧
技巧 1:「跟随鲸鱼」
- 策略:买与鲸鱼同行权/到期,规模为其 1/10。
- 离场:盯鲸鱼 OI。若 OI 降,他们卖了,你也卖。
技巧 2:虚实值套利
- 条件:鲸鱼买深度实值(稳)。
- 你:买虚值(险)以更高杠杆借其方向信念。
技巧 3:重复行为
- 条件:第 2 周鲸鱼加仓。
- 结论:双重信念。可加大仓位。
速查清单
交易前确认:
- 聚合已开:确认真实规模。
- 规模 > OI:确认新仓位。
- 权利金有分量:>$100k–$1M。
- T+1 已验证:隔夜持仓。
- 结构清晰:裸 Call/Put 还是价差。
- 虚实值符合:符合你的风险承受度。
技术实现
流式聚合大单
可使用 OptionData API 运行本策略:用实时 WebSocket 的 AGGREGATED 模式查看真实大单规模。文末 OptionData API 卡片有即用片段。连接 wss://ws.optiondata.io,所有筛选作为 URL 查询参数(无需订阅消息)。
目标:检测权利金 >$1M 的合并大单。
// URL 中筛选:aggregation_mode, premium, expiry_days(最小 14,无上限 = null)
const url = "wss://ws.optiondata.io?token=YOUR_API_TOKEN&aggregation_mode=AGGREGATED&premium=[1000000,null]&expiry_days=[14,null]";
const ws = new WebSocket(url);
ws.on('message', (data) => {
const msg = JSON.parse(data.toString());
if (msg.status === "SUCCESS") {
console.log("已连接:", msg.msg);
return;
}
// 后续每条为成交对象(聚合大单)
console.log("大单:", msg.symbol, msg.strike, msg.put_call, "权利金", msg.premium);
});
用 OptionData API 实测。 开启 14 天免费试用(无需信用卡)。一个 API 密钥即可使用实时 WebSocket、历史 SQL、期权链 REST 与市场结构 四套 API。
相关配方
- 配方 1:机构期权买入 — 扫单大单(ASK 侧)
- 配方 6:T+1 波段确认 — T+1 方法详解
延伸阅读
- 基础概念:持仓量
- 基础概念:聚合机制
- 基础概念:虚实值 (ITM/ATM/OTM)
🧮 大单评分模型
大单得分 = (规模) + (虚实值) + (时机) + (T+1)
总分:
12–16: 鲸鱼警报(跟随)
8–11: 中等
0–7: 噪音
鲸鱼也会错
机构聪明,但非无敌。他们会对冲、会犯错,也有你不需要的流动性需求。始终用自身技术分析确认。
Run this with the OptionData API — one Pro key covers Realtime WebSocket, Historical SQL, Option Chain, and Market Structure.
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "sql=SELECT *, ROUND(toFloat64(price) * size * 100, 2) AS premium, dateDiff('day', date, expiration_date) AS expiry_days FROM RawOptionTrades WHERE toFloat64(price) * size * 100 >= 1000000 AND dateDiff('day', date, expiration_date) >= 14 ORDER BY time DESC LIMIT 10"