選擇權停損單怎麼觸發?最新成交價、買賣價與標記價格
選擇權停損單通常由券商保管,依最新成交價、買價、賣價或標記價格觸發;採用的價格類型會影響是否觸發與最終成交結果。
什麼會觸發選擇權的停損單?在多數零售帳戶中,交易所根本看不到停損單:券商會將其留在自己的系統中,等契約的最新成交價、買價、賣價或標記價格觸及停損價後,才將其轉換為有效委託單。券商監看的價格類型,決定停損單是否會以你預期的價格觸發,甚至是否會觸發;而買賣價差則決定停損單觸發後的成交結果。
選擇權的停損單實際上放在哪裡?
選擇權交易所仍定義停損單類型。Cboe Exchange 規則手冊截至2026年8月14日的版本,在第5.6(c)條列出「Stop(Stop-Loss)」單與「Stop-Limit」單,也說明交易所自身的觸發條件:
「『Stop(Stop-Loss)』單是指買進(賣出)委託單;當特定選擇權契約的整合最新成交價(若複合委託交易價格落在 NBBO 之外,則不包括該價格),或 NBB(NBO)等於或高於(低於)使用者指定的停損價時,該委託單會轉為市價單。使用者不得將 Stop Order 指定為全時段、RTH 或 Curb。」(Cboe Exchange, Inc.規則,第5.6(c)條,截至2026年8月14日更新)
其中有兩項細節適用於所有券商。交易所的觸發條件是最新成交價或全國最佳買價或賣價(NBB/NBO),因此賣出停損單可能在買價觸及停損價、但完全沒有成交時觸發。其次,該委託單不能指定為全時段或 Curb 時段交易;在交易所層級,停損單僅適用於正常交易時段。
零售投資人的委託單幾乎不會直接適用這項規則。多數零售券商會將停損單留在自己的伺服器上,直到自有觸發條件成立後,才將市價單或限價單送往交易所或批發商。委託單上雖然寫著「stop」,但觸發邏輯屬於券商,並記載於券商的委託單類型揭露文件,而非交易所規則手冊中。
什麼價格會觸發選擇權停損單:最新成交價、買價、賣價還是標記價格?
幾乎所有券商都採用以下三種慣例之一。假設你持有一口買進的賣權,當時報價為1.90美元買價/2.10美元賣價,並以1.80美元設定賣出停損單。
- 最新成交價。 只有在成交價等於或低於1.80美元時,停損單才會觸發。如果該契約沒有成交,無論報價下跌多少,停損單都不會動作。
- 買價或賣價。 當買價(部分券商監看賣價,或監看任一側)達到1.80美元時,停損單就會觸發。不需要實際成交;只要一名造市商下調報價就足以觸發。
- 標記價格。 當買價與賣價的中間價達到1.80美元時,停損單就會觸發。在價差為0.40美元的報價中,即使兩側都沒有成交,標記價格也可能移動0.20美元。
為什麼在低成交量契約上,依據「最新成交價」並不可靠
選擇權鏈在畫面上看似連續,但其中多數契約每天只成交少數幾次。下方圖表依2026年7月15日的全天成交量,將當天至少有成交的每一個 AAPL 契約分組;一張 lot 代表一口契約。
| 成交量區間 | 合約數 | 占比 |
|---|---|---|
| 1 to 5 lots | 414 | 23.4 |
| 6 to 25 lots | 323 | 18.2 |
| 26 to 100 lots | 358 | 20.2 |
| 101 to 1,000 lots | 486 | 27.4 |
| over 1,000 lots | 190 | 10.7 |
每個數據背後的精確 SQL 語法
WITH traded AS
(
SELECT
ticker,
max(volume) AS contracts_traded
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = toDate('2026-07-15')
AND volume > 0
GROUP BY ticker
)
SELECT
multiIf(contracts_traded <= 5, '1 to 5 lots',
contracts_traded <= 25, '6 to 25 lots',
contracts_traded <= 100, '26 to 100 lots',
contracts_traded <= 1000, '101 to 1,000 lots',
'over 1,000 lots') AS volume_bucket,
count() AS contracts,
round(100 * count() / (SELECT count() FROM traded), 1) AS share_pct
FROM traded
GROUP BY volume_bucket
ORDER BY min(contracts_traded)當天有成交的契約中,23.4% 的全天成交量為五口或更少,另有 18.2% 的成交量介於六口至25口之間。成交量為三口的契約,全天最多只會產生三筆成交,因此,以最新成交價為依據的停損單,整天最多只有三次觸發機會,而且觸發價格取決於這些成交的價格。在兩筆成交之間,報價可能從你的停損價一路變動,甚至遠遠超過停損價,而你完全無法察覺。表格另一端則有 190 個契約的成交量超過1,000口;對這些契約而言,依據最新成交價的停損單,表現會相當接近股票停損單。
為什麼停損市價單會在價差的另一側成交
現在假設某賣權報價為1.60美元買價/2.00美元賣價,市場價差為0.40美元,並以標記價格1.80美元設定賣出停損市價單。報價滑落至1.55美元/1.95美元。此時標記價格為1.75美元,停損單觸發,券商送出賣出市價單。市價單會成交於當時可取得的最佳買價,即1.55美元,因此成交價會比停損價低0.25美元,偏離約14%;而且在1.80美元附近完全沒有成交。如果買價在委託單送達時短暫閃至1.20美元,成交價就會是1.20美元。對低成交量契約而言,買賣價差是停損市價單必然承受的最低滑價;而市價單與限價單之間的一般取捨,也會因選擇權報價較寬而被放大。
為什麼停損限價單可能讓部位無法平倉
將市價單改為限價為1.75美元的停損限價單。報價滑落至1.55美元/1.95美元後,停損單觸發,產生的賣出委託單限價為1.75美元或更高,但此價格比買價高出0.20美元。沒有人有義務以該價格買進。如果賣權價格持續下跌,委託單會因無法成交而留在市場中,部位仍然開放,損失持續擴大;這正好與停損單原本的目的相反。兩種類型的比較請見停損單與停損限價單;掛單中的限價部分可能無法成交的情況,請見為什麼選擇權委託單沒有成交。
為什麼對選擇權而言,20%的停損距離很平常
對股票而言看似寬鬆的停損距離,例如低於進場價10%或20%,對選擇權來說可能只是日常波動。下方走勢追蹤一口 SPY 賣權。該契約是截至2026年7月6日,距到期日25至35天且最接近平價的履約價,並將接下來兩週的收盤價與 ETF 本身的每日變動並列比較。
| 交易日 | 行事曆標籤 | Put收盤價 | Put漲跌幅 | SPY漲跌幅 |
|---|---|---|---|---|
| 2026-07-06 | Jul 6 | 8.79 | -41.3 | 0.66 |
| 2026-07-07 | Jul 7 | 11.21 | 27.5 | -0.6 |
| 2026-07-08 | Jul 8 | 12.03 | 7.3 | -0.11 |
| 2026-07-09 | Jul 9 | 8.31 | -30.9 | 0.82 |
| 2026-07-10 | Jul 10 | 6.5 | -21.8 | 0.45 |
| 2026-07-13 | Jul 13 | 9.28 | 42.8 | -0.88 |
| 2026-07-14 | Jul 14 | 7.49 | -19.3 | 0.66 |
| 2026-07-15 | Jul 15 | 5.92 | -21 | 0.21 |
| 2026-07-16 | Jul 16 | 7.94 | 34.1 | -0.74 |
| 2026-07-17 | Jul 17 | 11.5 | 44.8 | -0.88 |
每個數據背後的精確 SQL 語法
WITH pick AS
(
SELECT ticker
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND lower(toString(option_type)) IN ('put', 'p')
AND date = toDate('2026-07-06')
AND days_to_expiry BETWEEN 25 AND 35
AND volume > 0
ORDER BY abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) ASC,
expiration_date ASC,
ticker ASC
LIMIT 1
),
daily AS
(
SELECT
date,
max(toFloat64(option_close)) AS put_close_raw,
max(toFloat64(underlying_close)) AS spy_close_raw
FROM global_markets.options_greeks
WHERE ticker IN (SELECT ticker FROM pick)
AND date >= toDate('2026-07-02')
AND date < toDate('2026-07-18')
AND volume > 0
GROUP BY date
),
chained AS
(
SELECT
date,
put_close_raw,
spy_close_raw,
lagInFrame(put_close_raw, 1) OVER (ORDER BY date ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS prev_put,
lagInFrame(spy_close_raw, 1) OVER (ORDER BY date ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS prev_spy
FROM daily
)
SELECT
toString(date) AS session_date,
concat(formatDateTime(date, '%b'), ' ', toString(toDayOfMonth(date))) AS calendar_label,
round(put_close_raw, 2) AS put_close,
round(100 * (put_close_raw / prev_put - 1), 1) AS put_move_pct,
round(100 * (spy_close_raw / prev_spy - 1), 2) AS spy_move_pct
FROM chained
WHERE prev_put > 0
AND prev_spy > 0
AND date >= toDate('2026-07-06')
ORDER BY date該賣權在Jul 6收於 $8.79,在Jul 17收於 $11.5。將兩欄百分比並列比較即可看出:ETF 的日對日變動只有百分之幾的零頭,但賣權的變動可達完整百分點,且經常達到數十個百分點。這種差距表示,將賣權價格下方20%設定為停損價,可能就在單日波動範圍內。若將觀察範圍擴大至2026年7月期間所有距到期日20至45天的近價 SPY 賣權,便能將單一契約的觀察結果轉化為整體分布。
| 漲跌幅區間 | 合約天數 | 占比 |
|---|---|---|
| under 5% | 396 | 16.7 |
| 5% to 10% | 339 | 14.3 |
| 10% to 20% | 591 | 25 |
| 20% or more | 1039 | 43.9 |
每個數據背後的精確 SQL 語法
WITH daily AS
(
SELECT
ticker,
date,
max(toFloat64(option_close)) AS put_close,
max(toFloat64(underlying_close)) AS spy_close,
max(toFloat64(strike_price)) AS strike,
max(days_to_expiry) AS dte
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND lower(toString(option_type)) IN ('put', 'p')
AND date >= toDate('2026-06-29')
AND date < toDate('2026-08-01')
AND days_to_expiry BETWEEN 15 AND 50
AND volume > 0
GROUP BY ticker, date
),
chained AS
(
SELECT
date,
put_close,
spy_close,
strike,
dte,
lagInFrame(put_close, 1) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS prev_put,
lagInFrame(date, 1) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS prev_date
FROM daily
),
moves AS
(
SELECT abs(100 * (put_close / prev_put - 1)) AS move_pct
FROM chained
WHERE prev_put > 0
AND dateDiff('day', prev_date, date) <= 4
AND date >= toDate('2026-07-01')
AND dte BETWEEN 20 AND 45
AND abs(strike / spy_close - 1) < 0.02
)
SELECT
multiIf(move_pct < 5, 'under 5%',
move_pct < 10, '5% to 10%',
move_pct < 20, '10% to 20%',
'20% or more') AS move_bucket,
count() AS contract_days,
round(100 * count() / (SELECT count() FROM moves), 1) AS share_pct
FROM moves
GROUP BY move_bucket
ORDER BY min(move_pct)其中 43.9% 的契約日變動幅度達到或超過20%,相較之下,僅有 16.7% 的變動幅度低於5%。以前一日收盤價下方20%設定的停損價,大約在每100個契約日中有 43.9 個被觸及;而且這還沒有計入日內波動,因為收盤價對收盤價的序列無法呈現日內波動。
下單前應查閱的券商限制
券商對選擇權停損單的規定各不相同,也可能隨時變更。因此,以下應視為你需要在所使用券商的委託單類型揭露文件中確認的項目,而不是任何單一券商的固定規定:
- 是否接受選擇權停損市價單。有些券商只接受選擇權停損限價單;這會避免在價差另一側成交,但也會產生委託單無法成交而使部位持續開放的問題。
- 適用哪一種觸發慣例(最新成交價、買價、賣價或標記價格),以及是否可以逐筆委託單選擇。
- 是否僅在正常交易時段評估觸發條件。Cboe 規則中的交易所層級停損單僅適用於正常交易時段,券商持有的停損單通常也有相同限制;這一點對具有延長交易時段的指數選擇權尤其重要。
- 是否允許多腳委託單設定停損;若允許,觸發條件監看哪一種價格(通常是價差的淨標記價格),以及停損單可採用哪些有效期限選項。
普通停損單以外的做法
- 帶有權利金目標的括號單或 OCO 出場單。 一筆委託單設定獲利目標,另一筆設定停損限價單,且限價範圍足以涵蓋正常價差;其中一筆成交後,另一筆便會取消。括號單與 OCO 委託單說明相關操作;在選擇權交易中,獲利委託腿是以特定的權利金支出或收入報價,而不是以百分比表示。
- 以標的資產價格為依據的條件單。 該委託單監看股票價格。股票每小時可產生數千筆成交,遠多於每天僅成交十幾次的賣權。當股票價格達到你設定的價位時,系統便送出選擇權限價單。上方走勢圖說明了這種觸發條件為何更清楚:ETF 是平滑的價格序列,賣權則較為嘈雜。
- 對具有限定風險的價差策略完全不設定停損單。 垂直價差的最大損失在進場時便已固定。價差停損單監看兩個寬幅報價的合併標記價格,可能因雜訊波動,並在最不利的價格組合下同時平倉兩個委託腿。改為調整交易,例如如何展期選擇權部位,可以維持原有的限定風險。
常見問題
停損單可以用在選擇權上嗎?
可以,但有一項需要注意。Cboe 規則手冊仍定義選擇權的交易所層級停損單與停損限價單,但多數零售券商會自行持有停損單,並依據自己的觸發條件啟動委託:最新成交價、買價或賣價,或標記價格。你實際得到的執行方式,取決於券商的慣例,並記載於帳戶適用的委託單類型揭露文件中。
什麼會觸發選擇權停損單:買價、賣價還是最新成交價?
取決於券商。常見慣例包括最新成交價、買價或賣價,以及標記價格(報價中間價)。Cboe 自身持有於交易所的停損單,會在整合最新成交價或全國最佳買價或賣價觸發。
為什麼我的選擇權停損單會在遠低於停損價的位置成交?
停損市價單一旦觸發,就會轉為市價單,而賣出市價單會以當時買價成交。如果報價價差為0.40美元,且觸發條件是標記價格,那麼在2美元的契約中,成交價會落在買價,約比觸發價低10%;這還未計入進一步滑價。
我可以對選擇權價差設定停損單嗎?
部分券商允許對多腳委託單設定停損,通常以價差的淨標記價格為觸發條件;部分券商則不允許。具有限定風險的價差本身已設定固定的最大損失,停損單可能因報價雜訊觸發,並以不利價格同時平倉兩個委託腿。許多交易人會改以展期或調整方式管理價差。
上方每個圖表都附有產生該圖表的 SQL。若要在 Strasmore terminal 上,針對不同 ticker 或日期執行相同的逐契約成交量統計,請以一般英文提出要求。