箱型價差(box spread)由四份選擇權合約組成,整體效果類似零息貸款:今天有一筆固定金額的現金易手,到了到期日,則有一筆固定金額易手,金額就是兩個履約價之間的距離。標的資產到期時的價格不會影響最後的支付金額。箱型價差價格中唯一尚待釐清的因素,是其中隱含的利率。
什麼是箱型價差?
箱型價差在單一標的上使用兩個履約價與一個到期日。將較低的履約價稱為 K1,較高的履約價稱為 K2。多頭箱型價差包含四個部位:
- 買進一份 K1 履約價的買權
- 賣出一份 K2 履約價的買權
- 買進一份 K2 履約價的賣權
- 賣出一份 K1 履約價的賣權
前兩個部位構成牛市買權價差。後兩個部位構成熊市賣權價差。一次買進這四個部位需要支付淨權利金,也就是今天從帳戶流出的現金。每份美國上市股票選擇權合約代表 100 股,因此兩個履約價相差 ten points 的箱型價差,每份合約在到期結算時的金額為 $1,000。
賣出同樣的四個部位,就是空頭箱型價差。今天會收到淨權利金,但到期時須支付履約價差。
為什麼箱型價差在到期時支付履約價差
將到期時的價格分成三個區域。在 K1 以下,兩份買權都無價值到期,而賣權價差的價值等於完整的履約價差。在 K2 以上,兩份賣權都無價值到期,而買權價差的價值等於完整的履約價差。在兩個履約價之間,K1 買權的價值等於價格高於 K1 的距離,K2 買權的價值則等於價格低於 K2 的距離;兩段距離相加後,正好等於履約價差。
下方面板列出 SPY 在 2026年6月每一個以 $5 為間隔的收盤價,並計算價格位於各水準時兩個價差的價值。履約價則設定在當月平均收盤價上下各 five points。
每個數據背後的精確 SQL 語法
WITH
daily AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
toFloat64(argMax(close, window_start)) AS spy_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-06-01 00:00:00'
AND window_start < '2026-07-01 00:00:00'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY d
),
strikes AS
(
SELECT
round(avg(spy_close) / 5) * 5 - 5 AS lower_strike,
round(avg(spy_close) / 5) * 5 + 5 AS upper_strike
FROM daily
),
levels AS
(
SELECT DISTINCT round(spy_close / 5) * 5 AS settle
FROM daily
)
SELECT
concat('$', toString(toUInt32(settle))) AS settle_level,
concat('$', toString(toUInt32(lower_strike)), ' / $', toString(toUInt32(upper_strike))) AS box_strikes,
round(greatest(settle - lower_strike, 0) - greatest(settle - upper_strike, 0), 2) AS call_leg_value,
round(greatest(upper_strike - settle, 0) - greatest(lower_strike - settle, 0), 2) AS put_leg_value,
round(greatest(settle - lower_strike, 0) - greatest(settle - upper_strike, 0)
+ greatest(upper_strike - settle, 0) - greatest(lower_strike - settle, 0), 2) AS box_value
FROM levels
CROSS JOIN strikes
ORDER BY settlecall_leg_value 與 put_leg_value 欄位會隨價格水準逐一反向變動。box_value 欄位則不會變動:在 SPY 觸及的最低價格水準為 10,在最高價格水準為 10,兩者使用的都是 $740 / $750 履約價。這個固定值就是整個結構的核心。相同關係的正式表述是買權賣權平價關係,它確定了相同履約價之買權與賣權之間的關係。箱型價差在兩個履約價上套用平價關係,再取兩者的差額。
如何計算箱型價差的隱含貸款利率
有兩個數字決定利率:今天支付的淨權利金,以及到期時收取的履約價差。假設一個距離到期還有 200 天、履約價相差 ten points 的箱型價差,報價為 $9.70 的淨權利金。以每份合約計算,今天支付 $970,到期時收回 $1,000,收益為 $30。
將收益除以墊付金額,再換算成年率。$970 在 200 天內取得 $30,報酬率為 3.09%;3.09% 乘以 365 再除以 200,年化利率約為 5.6%。若採複利而非單純年化,則將 1000 除以 970 的結果取 365 除以 200 次方,利率約為 5.7%。兩種計算方式回答的都是同一個問題:這個價格隱含了多少利率?
多頭箱型價差是放款還是借款?
多頭箱型價差代表放款。今天現金離開帳戶,到期時收到較大的固定金額,差額就是賺取的利息。
空頭箱型價差代表借款。今天收到現金,到期時支付履約價差;相同的計算方式得到的是支付利率,而不是賺取利率。這個方向常被說反。判斷關鍵在現金流:今天收到資金、日後支付固定還款,是借入貸款;今天支付資金、日後收到固定款項,則是提供貸款。
箱型價差有 delta 嗎?
Delta 衡量標的資產價格變動 $1 時,選擇權價格會變動多少。箱型價差的四個部位各自都具有較大的 delta,但彼此會相互抵銷。下方面板讀取 2026年12月18日到期的 SPY 合約 Greeks,資料時點為 2026年6月1日。面板將 K1 固定在最接近現貨價格的履約價,並向上擴大 K2。
每個數據背後的精確 SQL 語法
WITH
chain AS
(
SELECT
toFloat64(strike_price) AS strike,
avg(toFloat64(underlying_close)) AS spot,
round(avgIf(delta, delta > 0), 4) AS call_delta,
round(avgIf(delta, delta < 0), 4) AS put_delta
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = '2026-06-01'
AND expiration_date = '2026-12-18'
AND iv_converged = 1
AND volume > 0
GROUP BY strike
HAVING countIf(delta > 0) > 0
AND countIf(delta < 0) > 0
),
lower_leg AS
(
SELECT
strike AS k1,
call_delta AS c1,
put_delta AS p1
FROM chain
ORDER BY abs(strike - spot)
LIMIT 1
)
SELECT
toUInt32(strike - k1) AS strike_width,
round(c1 - call_delta, 4) AS call_leg_delta,
round(put_delta - p1, 4) AS put_leg_delta,
round(c1 - call_delta + put_delta - p1, 4) AS box_net_delta
FROM chain
CROSS JOIN lower_leg
WHERE strike > k1
AND strike <= k1 + 60
ORDER BY strike在面板中最寬的履約價組合裡,兩個履約價相差 50 點;買權部位的 delta 為 0.2208,賣權部位的 delta 為 -0.1977。兩者合計為 0.0231。在最窄的履約價組合中,淨 delta 為 0.0005。這些殘餘值只是零值附近的模型誤差。箱型價差不押注價格方向,因此其定價反映的是融資,而不是方向性部位。
箱型價差真正的風險是什麼?
美式選擇權的持有人可在到期前任何營業日行使選擇權。歐式選擇權則不能提前行使。這項差異在美式與歐式選擇權中有所說明,並決定箱型價差究竟像貸款,還是像一個持續存在的保證金部位。
過程如下:
- 多頭箱型價差與空頭箱型價差都包含兩個空頭部位;在股票或 ETF 上,這些部位屬於美式選擇權。
- 多頭箱型價差的兩個空頭部位位於外側。當標的價格介於兩個履約價之間時,這兩個部位都處於價外。空頭箱型價差則相反:在同一價格區間內,兩個空頭部位都處於價內。
- 幾乎沒有剩餘時間價值的價內空頭選擇權,最容易被持有人提前行使。即將除息是空頭買權常見的提前行使時點,詳見除息日與選擇權。
- 提前行使會將該部位轉換為每份合約 100 股的多頭或空頭持股,而其餘三個部位仍維持原狀。
- 股票部位的保證金要求是按股價計算,而不是按箱型價差的寬度計算。原本只需準備幾百美元淨權利金的帳戶,可能突然面臨數萬美元的保證金要求;若無法滿足,便可能遭到強制平倉。
2018年,一個受到廣泛討論的零售券商帳戶就是因這個過程而被清空。造成損失的是部位機制;標的資產甚至不必發生任何價格變動。
現金結算的指數選擇權則屬於另一種情況。這類選擇權是歐式,代表持有人不能在到期前行使。結算方式是根據計算出的指數水準支付現金,而不是交付股票;其結算時間也有自身的特殊性,詳見AM 與 PM 結算選擇權。
為什麼手續費與買賣價差通常會吃掉利潤空間
寬幅箱型價差的各個部位,其履約價都遠離現貨價格。下方面板將 2026年6月 SPY 選擇權的成交量按價內外程度分成 five 個區間,每個區間各列一列。
每個數據背後的精確 SQL 語法
WITH
chain AS
(
SELECT
multiIf(
toFloat64(strike_price) / toFloat64(underlying_close) < 0.85, 1,
toFloat64(strike_price) / toFloat64(underlying_close) < 0.95, 2,
toFloat64(strike_price) / toFloat64(underlying_close) < 1.05, 3,
toFloat64(strike_price) / toFloat64(underlying_close) < 1.15, 4,
5) AS bucket_key,
multiIf(
bucket_key = 1, 'more than 15% below spot',
bucket_key = 2, '5% to 15% below spot',
bucket_key = 3, 'within 5% of spot',
bucket_key = 4, '5% to 15% above spot',
'more than 15% above spot') AS moneyness_bucket,
volume
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= '2026-06-01'
AND date < '2026-07-01'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 30 AND 400
),
totals AS
(
SELECT
sum(volume) AS all_volume,
count() AS all_rows
FROM chain
)
SELECT
moneyness_bucket,
round(100 * count() / any(all_rows), 2) AS contracts_pct,
round(100 * sum(volume) / any(all_volume), 2) AS turnover_pct
FROM chain
CROSS JOIN totals
GROUP BY bucket_key, moneyness_bucket
ORDER BY bucket_key在 2026年6月、到期日距今一個月以上的 SPY 合約中,距現貨價格 5% 以內的履約價,占全部成交合約的 43%,但在曾出現成交的合約日中,只占 34.99%。現貨價格以下最遠的區間,占 23.06% 個合約日中的 25.03% 成交量;寬幅箱型價差所建立的深度價內買權,以及相同價格下的深度價外賣權,都位於這個區間。某個區間彙總的成交量,不代表正好集中在箱型價差所需的那一份合約上,而每個部位都帶有買賣價差報價。建立箱型價差時,須一次跨越四個買賣價差;若在到期前平倉,還要再跨越四個。
執行誤差也會隨期限放大。履約價相差 ten points 的箱型價差若出現 ten cents 的滑價,就相當於履約價差的 1%;若在短期限內年化,這個比例會非常高。下方面板將這 ten cents 的成本,套用到 2026年6月1日所列出的 SPY 月選擇權到期日。
每個數據背後的精確 SQL 語法
SELECT
concat(formatDateTime(expiration_date, '%b %e, %Y'),
' (', toString(toUInt32(any(days_to_expiry))), 'd)') AS expiry_label,
round(100 * (0.10 / 10) * (365 / any(days_to_expiry)), 2) AS annual_cost_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = '2026-06-01'
AND iv_converged = 1
AND volume > 0
AND toDayOfWeek(expiration_date) = 5
AND toDayOfMonth(expiration_date) BETWEEN 15 AND 21
AND days_to_expiry BETWEEN 30 AND 800
GROUP BY expiration_date
ORDER BY any(days_to_expiry)
LIMIT 12在 Jul 17, 2026 (46d),這 ten cents 的成本相當於年利率 7.93%。在 Jun 16, 2028 (746d),同樣的 ten cents 成本則相當於 0.49%。融資交易之所以採用較長期限,正是因為這個原因;因此箱型價差的各個部位看起來很像深度價內 LEAPS。此外還有手續費,且每次涉及四個部位;每份合約與每個部位的費用明細,請見交易選擇權的成本。
常見問答
箱型價差是無風險的嗎?
箱型價差在到期時的支付金額固定為履約價差,部位也沒有方向性曝險。但仍有兩項風險:美式合約可能遭到提前指派,以及建立四個部位並在日後平倉的交易成本。
多頭箱型價差與空頭箱型價差有何不同?
多頭箱型價差今天支付淨權利金,到期時收取履約價差,因此買方處於放款人的位置。空頭箱型價差今天收取淨權利金,到期時支付履約價差,因此賣方處於借款人的位置。
箱型價差可能提前被指派嗎?
如果箱型價差由股票或 ETF 上的美式選擇權組成,就可能發生。任一空頭部位都可能在任何營業日被其持有人行使,進而轉換為具有自身保證金要求的持股部位。若箱型價差由歐式現金結算指數選擇權組成,則不會提前被指派。
為什麼券商會限制空頭箱型價差?
許多券商會限制或禁止美式合約上的空頭箱型價差。一次提前指派就可能將小額選擇權部位轉換為大額持股部位,並附帶相應的保證金要求。
如何計算箱型價差的隱含利率?
將履約價差除以淨權利金,將結果取 365 除以距到期天數的次方,再減去 one。簡化版本則是將收益除以權利金,再乘以 365 除以距到期天數。
本頁每個面板都附有產生該面板的 SQL。開啟其中一個面板,替換 ticker 或到期日,再在 Strasmore terminal 上自行執行。