交易期权要花多少钱?佣金与买卖价差
期权佣金可能为零,但买卖价差是真实成本。查看SPY、QQQ、IWM、GLD和TSLA期权的中位交易成本及基点对比,了解哪些产品更贵。
大多数券商对上市期权不收取佣金,但所有可成交的期权订单仍需承担买卖价差,即买方愿意支付的最高价格与卖方愿意接受的最低价格之间的差额。期权的美元价格通常远低于其对应股票,因此,同样以美分计的价差占交易金额的比例会大得多。在2026-07-02,SPY期权(所有2026年到期合约)在正常交易时段的报价中位买卖价差为80.97个基点,而SPY股票为0.27个基点,前者约为后者的299.9倍。下文所有数据均来自合并期权报价和成交数据流,每个数字背后使用的确切SQL均已附上。
为什么期权spread看起来与股票spread不同
假设某只股票的报价为买价745.00美元、卖价745.02美元。两美分的spread约为股价的0.27个基点。同一股票的一张平值看涨期权,报价可能为买价7.20美元、卖价7.30美元,spread为10美分,相当于其中间价7.25美元的约138个基点。期权的绝对价差更大;相对于实际支付的价格,价差比例则高出数百倍。期权价格较低造成了这一机械性差异:10美分的绝对金额很小,但相对于7.25美元的合约价格却占比较高。
专业市场通常使用基点(bp)比较不同工具的交易成本。一个基点等于百分之一个百分点。标准期权合约对应标的资产的100股,因此交易的美元金额会随标的价格变化;但spread是相对于期权自身的报价计算的。本页全文均采用这一计量单位。
SPY期权与SPY股票:正面对比
SPY是美国流动性最高的期权产品,即便如此,两者的成本差距仍然十分明显。下表对比了同一交易时段内的SPY期权和SPY股票,包括报价更新、已执行交易,以及各自的报价中位价差。
| 交易日期 | SPY期权更新 | SPY股票更新 | 期权与股票更新比 | SPY期权交易 | 每笔交易报价数 | SPY期权中位价差(bps) | SPY股票中位价差(bps) | 期权与股票价差比 | SPY标的收盘价 |
|---|---|---|---|---|---|---|---|---|---|
| 2026-07-02 | 462934241 | 4956892 | 93.4 | 1804557 | 256.5 | 80.97 | 0.27 | 299.9 | 744.8 |
每个数字背后的完整 SQL
WITH
opt_q AS (
SELECT
count() AS opt_updates,
quantileDeterministic(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), cityHash64(ticker, sip_timestamp)) AS opt_median_spread_ratio
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
),
stock_q AS (
SELECT
count() AS stock_updates,
quantileDeterministic(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), cityHash64(ticker, sip_timestamp)) AS stock_median_spread_ratio
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker = 'SPY'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
),
opt_t AS (
SELECT count() AS opt_trades FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
),
stock_close AS (
SELECT round(argMax(toFloat64(close), window_start), 2) AS spy_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
)
SELECT
'2026-07-02' AS session_date,
opt_q.opt_updates AS spy_opt_updates,
stock_q.stock_updates AS spy_stock_updates,
round(opt_q.opt_updates / stock_q.stock_updates, 1) AS opt_to_stock_update_ratio,
opt_t.opt_trades AS spy_opt_trades,
round(opt_q.opt_updates / opt_t.opt_trades, 1) AS quotes_per_trade,
round(opt_q.opt_median_spread_ratio * 10000, 2) AS spy_opt_median_spread_bps,
round(stock_q.stock_median_spread_ratio * 10000, 2) AS spy_stock_median_spread_bps,
round(opt_q.opt_median_spread_ratio / stock_q.stock_median_spread_ratio, 1) AS ratio_opt_to_stock_spread,
stock_close.spy_close AS spy_underlying_close
FROM opt_q CROSS JOIN stock_q CROSS JOIN opt_t CROSS JOIN stock_closeSPY期权的价差中位数为80.97个基点。这意味着,投资者以卖价买入、随后以买价卖出,完成一笔往返市价单交易时,相对于中间价大致要承担完整报价价差的成本,交易两侧各约一半。SPY股票的同类往返交易成本约为0.27个基点。报价更新数据也从另一个角度印证了这一流动性特征:做市商每完成一笔SPY期权交易,就会发布256.5次SPY期权报价更新,并逐跳调整数千种行权价与到期日组合的报价。
SPY期权价差的分布:并非一个固定数值
中位数有参考价值,但单个交易者支付的价差取决于具体合约。接近平值且临近到期的SPY期权,报价通常最为紧密;深度虚值且距离到期日较远的合约,价差可能宽得多。下图展示了该交易时段内所有有效双边SPY期权报价的完整分布。
| P10(bps) | P25(bps) | 中位数(bps) | P75(bps) | P90(bps) | 有效双边报价 |
|---|---|---|---|---|---|
| 35.51 | 49.65 | 80.97 | 147.12 | 316.51 | 462934241 |
每个数字背后的完整 SQL
WITH opts AS (
SELECT
(toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps,
cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
)
SELECT
round(quantileDeterministic(0.10)(spread_bps, det), 2) AS p10_bps,
round(quantileDeterministic(0.25)(spread_bps, det), 2) AS p25_bps,
round(quantileDeterministic(0.50)(spread_bps, det), 2) AS median_bps,
round(quantileDeterministic(0.75)(spread_bps, det), 2) AS p75_bps,
round(quantileDeterministic(0.90)(spread_bps, det), 2) AS p90_bps,
count() AS valid_two_sided_quotes
FROM optsSPY期权报价中间一半的价差介于 49.65个基点和147.12个基点之间。十分之一的报价价差窄于35.51个基点,另有十分之一宽于316.51个基点。较宽的尾部对应流动性较低的行权价和距离到期日较远的合约,普通买方最容易误入的正是这类合约。
热门产品的成本差异
SPY是基准产品,但并非所有期权产品的报价都同样紧密。下表衡量了五个交易活跃的期权根代码在正常交易时段的报价中位价差,单位为基点:三只指数ETF(SPY、QQQ、IWM)、一只黄金ETF(GLD),以及一只期权流动性很高的个股(TSLA)。每个根代码均筛选至其2026年到期的ticker范围,因此查询会裁剪(ticker、sip_timestamp)索引;各行按字母顺序排列,以确保每个产品始终处于固定位置。
| 根代码 | 报价更新(百万) | 中位价差(bps) | 中位宽度(美分) |
|---|---|---|---|
| GLD | 19.9 | 786.75 | 30 |
| IWM | 103.5 | 130.72 | 8 |
| QQQ | 359.7 | 123.71 | 11 |
| SPY | 462.9 | 80.97 | 4 |
| TSLA | 184.9 | 309.93 | 70 |
每个数字背后的完整 SQL
SELECT
root,
round(count() / 1e6, 1) AS quote_updates_millions,
round(quantileDeterministic(0.5)(spread_bps, det), 2) AS median_spread_bps,
round(quantileDeterministic(0.5)(width_cents, det), 2) AS median_width_cents
FROM (
SELECT 'SPY' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
UNION ALL
SELECT 'QQQ' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:QQQ26' AND ticker < 'O:QQQ27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
UNION ALL
SELECT 'IWM' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:IWM26' AND ticker < 'O:IWM27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
UNION ALL
SELECT 'GLD' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:GLD26' AND ticker < 'O:GLD27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
UNION ALL
SELECT 'TSLA' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:TSLA26' AND ticker < 'O:TSLA27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
)
GROUP BY root
ORDER BY root ASC指数ETF位于价差较窄的一端:SPY的报价中位价差为80.97个基点,QQQ为123.71个基点,IWM为130.72个基点。价差较宽的是TSLA期权和GLD期权,分别为309.93个基点和786.75个基点,完全属于另一种成本结构。报价更新次数一栏以百万次计,也印证了这一点:报价最活跃的产品位于价差较窄的一端。
0DTE与周度期权效应:期限更短,价差更宽
剩余期限较短的合约往往以更低的美元价格交易。即使价差的美分数仍然很小,按基点计算的价差也会因此机械性扩大。下表按到期日分组,展示接近平值的 SPY 期权报价(行权价730至760)。样本涵盖2026年所有在该交易时段至少出现一百万次报价更新的到期日,并按日历顺序排列。
| 到期代码 | 报价更新(百万) | 中位价差(bps) | 中位宽度(美分) |
|---|---|---|---|
| 260702 | 16.8 | 113.64 | 2 |
| 260706 | 11 | 104.71 | 3 |
| 260707 | 10.8 | 144.58 | 3 |
| 260708 | 12.7 | 130.72 | 3 |
| 260709 | 12.3 | 118.34 | 3 |
| 260710 | 14.7 | 106.19 | 3 |
| 260713 | 13.4 | 96.15 | 3 |
| 260714 | 13.2 | 82.99 | 3 |
| 260715 | 12.4 | 77.22 | 3 |
| 260716 | 2.3 | 80.32 | 4 |
| 260717 | 14.4 | 71.51 | 3 |
| 260724 | 13 | 65.49 | 4 |
| 260731 | 12.5 | 54.27 | 4 |
| 260807 | 7.1 | 50.25 | 5 |
| 260814 | 5.3 | 47.01 | 6 |
| 260821 | 11.3 | 45.18 | 6 |
| 260831 | 10.2 | 43.96 | 6 |
| 260918 | 12.2 | 30.07 | 5 |
| 260930 | 7.1 | 35.4 | 7 |
| 261016 | 2.6 | 34.12 | 7 |
每个数字背后的完整 SQL
WITH opts AS (
SELECT
toFloat64(ask_price) - toFloat64(bid_price) AS width,
(toFloat64(ask_price) + toFloat64(bid_price)) / 2 AS mid,
substring(ticker, -15, 6) AS expiry_code,
toUInt32OrZero(substring(ticker, -8)) / 1000 AS strike,
cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
AND strike BETWEEN 730 AND 760
)
SELECT
expiry_code,
round(count() / 1e6, 1) AS quote_updates_millions,
round(quantileDeterministic(0.5)(width / mid * 10000, det), 2) AS median_spread_bps,
round(quantileDeterministic(0.5)(width * 100, det), 2) AS median_width_cents
FROM opts
GROUP BY expiry_code
HAVING count() >= 1000000
ORDER BY expiry_code ASC当日到期合约的到期代码为 260702,即0DTE合约。其中位价差为 113.64个基点,而中位价差宽度仅为 2美分。图中期限最长的到期日为 261231,其报价价差按美分计算更宽(11),但按基点计算明显更窄,仅为 37.16个基点。这正是期权交易成本的核心:当期权本身的交易价格只有几美元时,一至两美分的价差并不一定便宜。什么是0DTE期权解释了当日到期合约的运作机制。随着到期日临近,变化的不只是不同执行价之间的价差,整个期权链上的未平仓合约也会不均衡地聚集;最大痛点执行价正是这些未平仓合约聚集后,使期权持有人在结算时获得最少收益的位置。
交易规模数据揭示了谁在承担这些成本
期权按合约交易,标准合约覆盖100股。在2026-07-02上,已执行期权交易的中位数规模仅为1张合约;即使是第90百分位的成交记录,也只有10张合约。大多数期权交易规模较小,而散户规模的交易者最容易受到报价价差影响。大型机构订单通常可以协商获得更优成交价,或分时段拆分执行。
| 中位合约数 | P90合约数 | 平均合约数 | 成交总数 |
|---|---|---|---|
| 1 | 10 | 6.1 | 13035841 |
每个数字背后的完整 SQL
WITH trades AS (
SELECT toFloat64(size) AS size FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
)
SELECT
round(quantileExact(0.50)(size), 0) AS median_contracts,
round(quantileExact(0.90)(size), 0) AS p90_contracts,
round(avg(size), 1) AS avg_contracts,
count() AS total_prints
FROM trades常见问题
期权的交易成本是否高于股票?
通常是。按交易价格的占比计算,期权的交易成本通常更高。流动性极高的ETF,例如 SPY,其股票本身的报价价差远低于一个基点;同一标的的期权价差则通常达到数十个基点。具体金额取决于期权价格和合约数量,但价差占期权价值的比例几乎总是高于股票。
为什么0DTE期权的基点价差这么大?
临近到期时,当日到期和周度期权的交易价格通常较低,有时低于1.00美元。对于价格为0.50美元的期权,1至2美分的价差相当于价格的2%至4%,即200至400个基点。价差金额看起来很小,但按百分比计算的成本并不低。因此,交易者会用基点而不是美分比较价差。
佣金是否比价差更重要?
对于零售投资者的一张合约交易,价差通常影响更大。若报价为1.00美元/1.05美元,完成一次买入和卖出的往返交易,每张合约的成本为5.00美元(每张合约对应100股),且未计入佣金。对于低价或价差较大的产品,仅价差就可能超过任何合理的佣金。
使用限价单能否避免费用价差?
在价差内部提交限价单,成交价可能优于完整价差,但不保证成交。可成交订单按定义会支付价差。价差是即时成交的价格,而不是券商收取的费用。
哪些期权产品的价差最小?
根据本页的测算,大型指数ETF SPY、QQQ和IWM的中位报价价差最小,报价也最为活跃。商品ETF(GLD)和个股期权的报价价差可能宽得多。价差会因合约而异:即使标的相同,不同执行价和到期日的合约也可能不同。因此,单一中位数会掩盖大量差异。
数据说明
所有时间戳均以 UTC 存储;2026 年 7 月 2 日的常规交易时段筛选为 sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'(美东时间上午 9:30 至下午 4:00)。价差统计仅使用有效的双边报价(bid_price > 0、ask_price > 0、ask_price > bid_price),并在除法计算前将 Decimal 价格转换为 Float64;同时使用确定性中位数估计器(quantileDeterministic,以 ticker 和时间戳的哈希值作为键),确保重新生成时得到完全相同的数值。下方的普查统计窗口内每一条 SPY 期权记录,并显示这些有效双边报价占原始数据流的比例。
报价质量普查及完整方法
| 更新总数 | 有效双边 | 有效百分比 | 单边 | 单边百分比 | 锁定或交叉 | 锁定或交叉百分比 |
|---|---|---|---|---|---|---|
| 463195128 | 462934241 | 99.94 | 260716 | 0.06 | 171 | 0 |
每个数字背后的完整 SQL
WITH opts AS (
SELECT
bid_price,
ask_price
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
)
SELECT
count() AS total_updates,
countIf(bid_price > 0 AND ask_price > 0 AND ask_price > bid_price) AS valid_two_sided,
round(100.0 * countIf(bid_price > 0 AND ask_price > 0 AND ask_price > bid_price) / count(), 2) AS valid_pct,
countIf(bid_price = 0 OR ask_price = 0) AS one_sided,
round(100.0 * countIf(bid_price = 0 OR ask_price = 0) / count(), 2) AS one_sided_pct,
countIf(bid_price > 0 AND ask_price > 0 AND ask_price <= bid_price) AS locked_or_crossed,
round(100.0 * countIf(bid_price > 0 AND ask_price > 0 AND ask_price <= bid_price) / count(), 2) AS locked_or_crossed_pct
FROM opts本交易时段内,超过 99.94% 的 SPY 期权报价记录属于有效双边报价;单边报价占数据流的 0.06%,锁定或交叉报价所占比例可以忽略不计。上文的每个价差数值均基于有效双边报价子集计算,即交易者在 NBBO 中实际可以观察到的成本。
- 市场数据来源:整合后的 OPRA 风格期权报价记录(
global_markets.cache_options_quotes)、相应的股票报价记录,以及整合后的期权成交记录(global_markets.options_trades;成交量面板有意覆盖完整记录,而不只包含 SPY)。 - OCC ticker 格式:
O:+ root + 六位到期日(YYMMDD)+C/P+ 七位行权价 ×1000。0DTE 面板从 ticker 中解析到期日和行权价;价差计算将看涨期权和看跌期权合并统计。每个 root 的筛选范围覆盖其 2026 年到期区间(O:SPY26..O:SPY27及对应区间),因此每次扫描都能利用(ticker,sip_timestamp)索引完成裁剪。 - 价差定义:
(ask − bid) / midpoint × 10,000,以基点计,仅适用于有效的双边报价。 - 中位数和百分位数:
quantileDeterministic储蓄估计器,以cityHash64(ticker, sip_timestamp)作为键,使用有界内存,并确保每次重新生成的输出完全一致。 - 标的收盘价:取
delayed_stocks_minute_aggs的常规交易时段最后一分钟 K 线。 - 交易时段窗口:UTC 13:30–20:00,并根据观测到的 SPY 分钟 K 线进行核验,而不是通过日历计算。
- 固定交易时段:2026 年 7 月 2 日。这是一个已经结束的完整交易时段,在撰写时(2026 年 7 月 9 日)已足够避开数据仓库约 1–2 天的导入延迟。日期字面值固定,因此重新生成时会得到相同的数值。
想了解某份具体合约的成本?上方每个面板都对应一个已存储查询。您可以在 Strasmore terminal 中运行这些查询,或运行自己的变体。有关交易机制的更多信息,请参阅股票交易成本、什么是买卖价差、0DTE 期权、期权报价数据流的规模和期权成交量与未平仓量的比较。