期权成交量与未平仓合约数有什么区别
了解期权成交量与未平仓合约数的定义、计算方式和相互影响,并查看2026年7月6日美国期权市场完整交易日数据及官方OI查询位置。
期权成交量统计当日易手的合约数量;未平仓合约数统计市场中仍然存在的合约,即已开仓但尚未平仓的头寸。成交量在整个交易时段内按每笔交易累加;未平仓合约数则由期权清算公司(OCC)在收盘后每日重新计算一次。看跌看涨比率基于成交量数据计算。本页将分别介绍这两个指标,说明影响其变动的机制,统计美国期权市场完整交易日——2026年7月6日(星期一)的交易数据,并说明官方未平仓合约数据的获取位置。
什么是期权成交量?
成交量是指当前交易时段内成交的期权合约数量。每笔交易都会按其成交数量计入;例如,一笔500张合约的大宗交易计入500张,而不是买卖双方各计一次。成交量会在下一交易日开盘时重置为零。成交量是一个实时变动的数据。交易成交后,OPRA(期权价格报告机构)运营的综合行情系统会持续发布相关数据。本页面依据存储的行情数据计算成交量。
什么是未平仓合约数?
未平仓合约数(OI)是当前尚未结清的合约数量。这些合约已经开仓,但尚未通过反向交易、行权或到期平仓。未平仓合约数按合约分别统计。每个行权价、到期日和期权类型都有自己的数值,而且不会重置,会延续到下一交易日。
未平仓合约数不是实时数据。OCC 是所有美国上市期权背后的清算机构。每个交易日结束后,OCC 会核对开仓和闭仓头寸,并在下一交易日开盘前公布更新后的数量。券商期权链上下午 2 点显示的 OI,实际上只是前一晚的统计值。
本页使用的逐笔成交数据记录的是交易,而不是头寸。数据中没有未平仓合约数这一列,下面各个统计面板显示的都是成交量。但这些数据可以展示成交量与未平仓合约数如何相互关联:单笔交易如何同时影响二者、成交量中最多有多少可能计入未平仓合约数,以及 OI 监测所关注的变化节奏。官方数据来自其他渠道,下一节将说明查询位置。
单笔交易如何改变成交量和未平仓合约数?
每笔期权交易都有买卖双方;双方分别选择开仓或平仓。下面以一份全新的合约为例,说明三笔假设交易:
- 交易者A买入开仓,交易者B卖出开仓。 成交量:1。未平仓合约数:增加1。市场上新增一份合约,A持有多头,B持有空头。
- 随后,A卖出平仓,交易者C买入开仓。 成交量:再增加1(当日累计为2)。未平仓合约数:不变。多头一方更换持有人,但市场上仍有一份未平仓合约。
- 最后,C卖出平仓,B买入平仓。 成交量:再增加1。未平仓合约数:减少1,回到零。双方均已平仓,该合约不再存续。
每笔交易都会增加成交量。只有当买卖双方都开仓时,未平仓合约数才会增加;只有当双方都平仓时,未平仓合约数才会减少;其他情况下则保持不变。这里有一个重要结论:单日成交量决定了该合约未平仓合约数隔夜最多能变动多少。逐笔成交记录不会显示一笔成交属于哪种组合,OCC会在收盘后完成结算。
一天的期权成交量是什么样的?
下图汇总了2026年7月6日(星期一)美国期权市场全天的成交数据。
| 合约数(百万) | 交易笔数(百万) | 不同合约数 | 不同标的代码数 | 看涨合约数(百万) | 看跌合约数(百万) | 看跌/看涨比率 | 当日到期占比 |
|---|---|---|---|---|---|---|---|
| 60.6 | 10.5 | 340203 | 4654 | 35.5 | 25.1 | 0.71 | 38.8 |
每个数字背后的完整 SQL
SELECT
round(sum(volume) / 1e6, 1) AS contracts_m,
round(sum(transactions) / 1e6, 1) AS trades_m,
uniqExact(ticker) AS distinct_contracts,
uniqExact(substring(ticker, 3, length(ticker) - 17)) AS distinct_roots,
round(sumIf(volume, substring(ticker, length(ticker) - 8, 1) = 'C') / 1e6, 1) AS call_contracts_m,
round(sumIf(volume, substring(ticker, length(ticker) - 8, 1) = 'P') / 1e6, 1) AS put_contracts_m,
round(toFloat64(sumIf(volume, substring(ticker, length(ticker) - 8, 1) = 'P')) / toFloat64(sumIf(volume, substring(ticker, length(ticker) - 8, 1) = 'C')), 2) AS put_call_ratio,
round(100 * toFloat64(sumIf(volume, substring(ticker, length(ticker) - 14, 6) = '260706')) / toFloat64(sum(volume)), 1) AS same_day_expiry_pct
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-07-06 00:00:00' AND window_start < '2026-07-07 00:00:00'单个交易时段:60.6百万张合约,来自10.5百万笔交易,覆盖340203个不同合约及4654个标的代码。看涨期权成交量高于看跌期权,分别为35.5百万张和25.1百万张,put/call ratio为0.71;所有成交量中,有38.8%来自当日到期的期权。
按时间分段后,可以看到同一交易时段每半小时的成交量,以及同步变化的累计成交量:
| 美东时间 | 合约数(百万) | 累计总数(百万) |
|---|---|---|
| 09:30 | 8.53 | 8.5 |
| 10:00 | 6.39 | 14.9 |
| 10:30 | 5.28 | 20.2 |
| 11:00 | 5.07 | 25.3 |
| 11:30 | 4.34 | 29.6 |
| 12:00 | 3.97 | 33.6 |
| 12:30 | 3.63 | 37.2 |
| 13:00 | 3.49 | 40.7 |
| 13:30 | 4 | 44.7 |
| 14:00 | 3.55 | 48.3 |
| 14:30 | 3.44 | 51.7 |
| 15:00 | 3.59 | 55.3 |
| 15:30 | 4.86 | 60.1 |
| 16:00 | 0.49 | 60.6 |
每个数字背后的完整 SQL
SELECT
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
round(sum(volume) / 1e6, 2) AS contracts_m,
round(sum(sum(volume)) OVER (ORDER BY formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i')) / 1e6, 1) AS running_total_m
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-07-06 00:00:00' AND window_start < '2026-07-07 00:00:00'
GROUP BY et_time
ORDER BY et_time开盘半小时成交8.53百万张合约;截至最后一笔成交,累计成交量达到60.6百万张。(较小的16:00区间是美国东部时间下午4:00至4:15的指数期权延长交易时段。)图表中的每个点都代表成交量。OCC当天早晨公布的统计口径在整个交易日内保持不变,下一次数据在周二开盘前发布。
哪些单个期权合约的交易量最高?
每个期权的 OCC ticker 都编码了根代码、到期日、看涨/看跌类型和行权价;查询解析这四项信息,因此表格内容一目了然:
| 合约 | 成交合约数 | 交易笔数 | 十个均于7月6日到期 | 十个均为SPY或QQQ |
|---|---|---|---|---|
| SPY $751 call, expires 2026-07-06 | 1082297 | 128107 | 1 | 1 |
| SPY $750 put, expires 2026-07-06 | 986392 | 106731 | 1 | 1 |
| SPY $752 call, expires 2026-07-06 | 911035 | 87708 | 1 | 1 |
| SPY $750 call, expires 2026-07-06 | 739555 | 116377 | 1 | 1 |
| SPY $751 put, expires 2026-07-06 | 735199 | 81507 | 1 | 1 |
| SPY $749 put, expires 2026-07-06 | 627447 | 74561 | 1 | 1 |
| SPY $753 call, expires 2026-07-06 | 587785 | 30301 | 1 | 1 |
| QQQ $725 call, expires 2026-07-06 | 520038 | 75367 | 1 | 1 |
| SPY $748 put, expires 2026-07-06 | 457351 | 48122 | 1 | 1 |
| QQQ $724 call, expires 2026-07-06 | 424104 | 66982 | 1 | 1 |
每个数字背后的完整 SQL
SELECT
contract,
contracts_traded,
trades,
toUInt8(min(expires_july_6) OVER ()) AS all_ten_expire_july_6,
toUInt8(min(root_is_spy_or_qqq) OVER ()) AS all_ten_spy_or_qqq
FROM (
SELECT
concat(substring(ticker, 3, length(ticker) - 17), ' $',
toString(round(toFloat64(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8))) / 1000, 2)),
if(substring(ticker, length(ticker) - 8, 1) = 'P', ' put', ' call'),
', expires 20', substring(ticker, length(ticker) - 14, 2), '-', substring(ticker, length(ticker) - 12, 2), '-', substring(ticker, length(ticker) - 10, 2)) AS contract,
toUInt64(sum(volume)) AS contracts_traded,
toUInt64(sum(transactions)) AS trades,
substring(ticker, length(ticker) - 14, 6) = '260706' AS expires_july_6,
substring(ticker, 3, length(ticker) - 17) IN ('SPY', 'QQQ') AS root_is_spy_or_qqq
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-07-06 00:00:00' AND window_start < '2026-07-07 00:00:00'
AND match(substring(ticker, 3, length(ticker) - 17), '^[A-Z]+$')
AND substring(ticker, 3, length(ticker) - 17) NOT IN ('SPCX')
GROUP BY ticker
ORDER BY contracts_traded DESC, ticker ASC
LIMIT 10
)
ORDER BY contracts_traded DESC, contract ASC7 月 6 日交易最活跃的单个合约是 SPY $751 call, expires 2026-07-06,在 128107 笔交易中成交了 1082297 张合约。查看到期日可以发现:这十个合约都在当周一到期,并且归属于两个根代码。每一行的收据列都印证了这两点。这些合约在最后交易日到期,属于 0DTE 期权,即距到期日为零天的期权,因此构成了这张表:由 SPY 和 QQQ 行权价组成的紧密梯度。
现在将当日最大一笔成交放入未平仓合约数量的计算中。SPY $751 call, expires 2026-07-06 周一早间显示的任何未平仓合约数量,都是前一晚的统计值,也是今后唯一一次会提到该合约的记录。1082297 张合约的成交量全部发生在其最后交易日内;收盘时合约到期,下一份 OCC 文件将其移除,因此按定义未平仓合约数量为零。所有 0DTE 表格都存在一个固定限制:这些合约的存续期完全位于每日一次的未平仓合约数量统计周期内,其巨大成交量不会与有实际意义的未平仓合约数量同时出现。
哪些标的主导期权成交量?
按根代码汇总同一交易时段的数据。根代码是每个期权ticker开头的字母,通常对应标的资产的代码:
| 标的代码 | 合约数(百万) | 成交记录占比 | 不同合约数 | 当日到期占比 |
|---|---|---|---|---|
| SPY | 12.1 | 20 | 5747 | 70.2 |
| QQQ | 6.88 | 11.3 | 4661 | 72.4 |
| TSLA | 4.29 | 7.1 | 3266 | 65.4 |
| SPXW | 3.65 | 6 | 7407 | 73.2 |
| NVDA | 2.27 | 3.8 | 1984 | 49.3 |
| AAPL | 1.58 | 2.6 | 1706 | 56.9 |
| IWM | 1.35 | 2.2 | 1749 | 60.1 |
| AMZN | 0.79 | 1.3 | 1404 | 38.4 |
| META | 0.66 | 1.1 | 2730 | 55.1 |
| VIX | 0.65 | 1.1 | 405 | 0 |
每个数字背后的完整 SQL
SELECT
substring(ticker, 3, length(ticker) - 17) AS underlying_root,
round(sum(volume) / 1e6, 2) AS contracts_m,
round(100 * toFloat64(sum(volume)) / (SELECT toFloat64(sum(volume)) FROM global_markets.options_minute_aggs WHERE window_start >= '2026-07-06 00:00:00' AND window_start < '2026-07-07 00:00:00'), 1) AS pct_of_tape,
uniqExact(ticker) AS distinct_contracts,
round(100 * toFloat64(sumIf(volume, substring(ticker, length(ticker) - 14, 6) = '260706')) / toFloat64(sum(volume)), 1) AS same_day_expiry_pct
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-07-06 00:00:00' AND window_start < '2026-07-07 00:00:00'
AND match(substring(ticker, 3, length(ticker) - 17), '^[A-Z]+$')
AND substring(ticker, 3, length(ticker) - 17) NOT IN ('SPCX')
GROUP BY underlying_root
ORDER BY sum(volume) DESC, underlying_root ASC
LIMIT 10SPY以12.1百万张合约领跑当日,占单一根代码全部成交量的20%;其次是QQQ,成交量为6.88百万张(11.3%)。当日到期列与上表相互印证:领先根代码的成交量中,有70.2%在当天下午到期。根代码不一定对应可直接买入的代码。例如,标普500指数期权使用Cboe的SPX和SPXW根代码;同一标的还可同时对应大量合约:仅领先根代码下就成交了5747种不同的行权价、到期日和期权类型组合。
单日成交量中究竟有多少可能进入未平仓合约?
按到期时间拆分交易时段,未平仓合约的含义可从下表直接看出:
| 到期时间 | 合约数(百万) | 成交量占比 | 不同合约数(千) | 合约数占比 |
|---|---|---|---|---|
| same day (0DTE) | 23.5 | 38.8 | 3 | 0.9 |
| 1-7 days | 15.3 | 25.3 | 47.1 | 13.8 |
| 8-31 days | 10.5 | 17.3 | 97.8 | 28.7 |
| 32-365 days | 10.5 | 17.3 | 168.8 | 49.6 |
| over a year | 0.8 | 1.3 | 23.6 | 6.9 |
每个数字背后的完整 SQL
WITH dateDiff('day', toDate('2026-07-06'), toDate(concat('20', substring(ticker, length(ticker) - 14, 2), '-', substring(ticker, length(ticker) - 12, 2), '-', substring(ticker, length(ticker) - 10, 2)))) AS dte
SELECT
multiIf(dte = 0, 'same day (0DTE)', dte <= 7, '1-7 days', dte <= 31, '8-31 days', dte <= 365, '32-365 days', 'over a year') AS expires_in,
round(sum(volume) / 1e6, 1) AS contracts_m,
round(100 * toFloat64(sum(volume)) / (SELECT toFloat64(sum(volume)) FROM global_markets.options_minute_aggs WHERE window_start >= '2026-07-06 00:00:00' AND window_start < '2026-07-07 00:00:00'), 1) AS pct_of_volume,
round(uniqExact(ticker) / 1e3, 1) AS distinct_contracts_k,
round(100 * toFloat64(uniqExact(ticker)) / (SELECT toFloat64(uniqExact(ticker)) FROM global_markets.options_minute_aggs WHERE window_start >= '2026-07-06 00:00:00' AND window_start < '2026-07-07 00:00:00'), 1) AS pct_of_contracts
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-07-06 00:00:00' AND window_start < '2026-07-07 00:00:00'
AND dte >= 0
GROUP BY expires_in
ORDER BY min(dte)当日到期合约最为极端:当日不同合约数量占全天不同合约的 0.9%,约为 3 千张,却贡献了全天成交量的 38.8%,是所有区间中占比最高的一组,而且其中没有任何合约会出现在未来的未平仓合约数据中。另有 25.3% 的合约在一周内到期。上市合约整体则呈现相反特征:32至365天到期的合约单独占不同合约的 49.6%;一年以上到期的合约占全部合约的 6.9%,但仅占成交量的 1.3%。期限较长的合约成交较为平静,存续时间也更长,正是在这类条件下,未平仓合约池才会逐步积累。
开放式权益的日变化是什么样的?
开放式权益监测页面关注的是合约OI从一个交易日上午到下一个交易日上午的变化。以下是原始数据:某个长期合约连续十个交易日的情况,即2026年12月18日到期、行权价为620美元的SPY看跌期权:
| 交易时段 | 成交合约数 | 交易笔数 |
|---|---|---|
| 2026-06-22 | 15 | 7 |
| 2026-06-23 | 25 | 9 |
| 2026-06-24 | 26 | 10 |
| 2026-06-25 | 13 | 10 |
| 2026-06-26 | 21 | 11 |
| 2026-06-29 | 6 | 3 |
| 2026-06-30 | 9006 | 7 |
| 2026-07-01 | 9172 | 222 |
| 2026-07-02 | 10023 | 186 |
| 2026-07-06 | 20 | 7 |
每个数字背后的完整 SQL
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS session,
toUInt64(sum(volume)) AS contracts_traded,
toUInt64(sum(transactions)) AS trades
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-06-22 00:00:00' AND window_start < '2026-07-07 00:00:00'
AND ticker = 'O:SPY261218P00620000'
GROUP BY session
ORDER BY session该合约连续六个交易日几乎没有成交,每天从未超过几十张,最低为6,出现在2026-06-29。在这些交易日,其开放式权益基本没有变化;上限规则将隔夜变动限制在当日成交量的水平。随后连续三个交易日分别成交9006、9172和10023张。成交笔数进一步说明了情况:2026-06-30张的放量仅由7笔成交完成,订单规模较大;下一交易日的类似成交量则分布在222笔交易中。到2026-07-06时,成交量已回落至20张。
仅凭成交量,无法判断这轮放量对开放式权益产生了什么影响:是建立新仓位、平仓,还是持仓从一方转移到另一方。次日上午公布的OCC数据可以给出答案:放量时开放式权益增加,通常意味着建立新仓位;开放式权益减少,意味着平仓;成交量很大但开放式权益持平,则意味着持仓发生了转手。交易者在监测页面上关注的,正是这一日间变化。
在哪里可以查看未平仓合约数?
任何成交量表都不包含这一数据;官方数据来源如下:
- OCC:在 theocc.com 的市场数据栏目按合约发布每日成交量和未平仓合约数。数据每天早晨更新,是其他平台转载的原始数据。
- 您的券商期权链:在成交量旁边设有“Open Interest”(或“Open Int”)列,按行权价和到期日列示前一晚的未平仓合约数,并在全天持续显示。
- 挂牌交易所:Cboe 及其他交易所会在市场统计页面发布成交量和未平仓合约数汇总。
需要注意的是,“最大痛点”(max pain)数据指的是大多数期权价值将归零的行权价。计算这一数据需要完整的逐行权价未平仓合约分布。任何成交量表都无法计算最大痛点,本页面也不例外。应从 OCC 或交易所数据中获取这类数据,不能依赖成交量界面。要了解这类分布的实际用途,请参阅真实 SPY 期权链上的最大痛点计算。该页面会逐个行权价完成计算,并将结果与实际结算位置进行核对。
如何结合成交量与未平仓量进行判断?
将两者并列观察,可以从不同角度判断合约的流动性:一个反映今日的交易活跃度,另一个反映市场中现有的持仓规模:
- 成交量大,未平仓量高。 今日交易活跃,且市场中已有大量持仓。这种组合通常对应最紧的报价市场。
- 成交量大,未平仓量低。 换手活跃,但留存持仓较少。这通常是当日到期交易或新建仓位的特征。
- 成交量小,未平仓量高。 持仓较早建立,至今仍未平仓,但今日交易不活跃。
- 成交量小,未平仓量低。 这是流动性较低的合约,买卖报价价差较大;一笔规模不大的订单也可能推动价格变动。应先查看买卖价差。
这两个指标都不能反映方向:成交量将买方和卖方的交易合计计算,未平仓量则将每份合约的多头和空头各计为一份。因此,两名交易者可能看到同一份活跃合约,却持有相反方向的仓位。
期权成交量与未平仓合约数常见问题
成交量与未平仓合约数有什么区别?
成交量统计当日交易的期权合约数量,每天重置为零。未平仓合约数统计尚未平仓的存续合约数量,并会跨日延续。每笔交易都会增加成交量;未平仓合约数只有在开仓方与平仓方的组合发生变化时才会变动。
为什么未平仓合约数每天只更新一次?
未平仓合约数是结算机构的统计数据,而不是逐笔成交数据。公开逐笔成交记录不会标记交易属于开仓还是平仓;OCC会在交易时段结束后,汇总各结算会员的标记,并在下一交易日开盘前公布该数据。
未平仓合约数上升或下降意味着什么?
未平仓合约数上升,意味着新开合约多于平仓合约,说明该行权价出现净新增仓位;未平仓合约数下降,意味着仓位正在了结;成交量较大但未平仓合约数持平,意味着仓位发生了转手。单日成交量决定了未平仓合约数在次日公布值中最多可能变动的幅度。
成交量会高于未平仓合约数吗?
会。在短期限合约中,这种情况很常见。某个仓位若在同一交易日内开仓并平仓,会计入两次成交量,但不会计入次日公布的未平仓合约数;当天到期的合约也不会出现在次日数据中。2026年7月6日,38.8%的美国期权成交量来自当日到期的合约。有关其运作机制,请参阅什么是0DTE期权。
上方每个面板都是可存储、可检查的查询。展开SQL即可进行审计,也可以在Strasmore终端中将相同问题应用于任意交易日。