Stop Orders on Options: Wetin Dey Trigger Am
Broker dey hold most option stop orders, then trigger am from last trade, bid, ask, or mark. That choice fit decide the fill you go get.
What dey trigger stop order for option? For most retail accounts, exchange no dey see the stop: broker dey hold am for its own system and convert am to live order when the contract’s last trade, bid or ask, or mark reach the stop price. Which one broker dey watch go decide whether stop go fire for the price wey you expect, or whether e go fire at all. The bid-ask spread go decide how the fill go look once e fires.
Where stop order for option really dey sit?
Options exchanges still define stop order types. The Cboe Exchange rulebook, updated as of August 14, 2026, list both “Stop (Stop-Loss)” order and “Stop-Limit” order under Rule 5.6(c), and e explain the exchange trigger:
“‘Stop (Stop-Loss)’ order na order to buy (sell) wey become market order when the consolidated last sale price (excluding prices from complex order trades if e dey outside the NBBO) or NBB (NBO) for particular option contract equal or pass (fall below) the stop price wey User specify. Users no fit designate Stop Order as All Sessions or RTH and Curb.” (Rules of Cboe Exchange, Inc., Rule 5.6(c), updated as of August 14, 2026)
Two details apply to every broker. The exchange trigger na the last sale or the national best bid or offer (NBB/NBO). So sell stop fit fire when bid touch the stop price even if no trade happen. The order no fit get All Sessions or Curb designation. For exchange level, stop na regular-hours instrument.
Retail order almost never reach that rule. Most retail brokers dey hold stop for their own servers and release market or limit order to exchange or wholesaler only after their own trigger fire. Ticket fit say “stop”, but broker own trigger logic dey inside its order-type disclosure, no be exchange rulebook.
Which price dey trigger options stop: last, bid, ask, or mark?
Three conventions cover almost every broker. Take sell stop at $1.80 on long put, placed while put quote dey $1.90 bid / $2.10 ask.
- Last trade. Stop go fire only when print happen at or below $1.80. If contract no trade, nothing go happen, no matter how far quote fall.
- Bid or ask. Stop go fire when bid reach $1.80. Some brokers dey watch ask, or either side. No trade need happen; one market maker lowering e quote fit trigger am.
- Mark. Stop go fire when midpoint of bid and ask reach $1.80. For $0.40-wide quote, mark fit move $0.20 even when neither side trade.
Why “last trade” no reliable for thin contract
Options chain fit look continuous for screen, but most contracts dey trade only few times per day. The panel below group every AAPL contract wey trade at all on July 15, 2026 according to full-day volume. One lot na one contract.
| volume bucket | contracts | share pct |
|---|---|---|
| 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 |
The exact SQL behind every number
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% of the contracts wey print that day trade five lots or fewer for the whole session. Another 18.2% trade between six and 25. Contract with three lots of volume produce at most three prints. So stop keyed to last trade get at most three chances to fire that day, at whatever prices those prints carry. Between prints, quote fit move from your stop go far pass am without anybody observing the trigger. For the other side of the table, 190 contracts trade more than 1,000 lots each. Last-trade stop on one of those dey behave almost like stock stop.
Why stop-market dey fill for the far side of the spread
Now take put quoted $1.60 bid / $2.00 ask, with $0.40-wide market, and sell stop-market at $1.80 keyed to mark. Quote slip to $1.55 / $1.95. Mark become $1.75, stop fire, and broker send market order to sell. Market order take the best available bid, $1.55. So fill land $0.25 below stop price, about 14% away, even though no trade print near $1.80. If bid flicker to $1.20 for one quote update as order arrive, fill go be $1.20. For thin contract, bid-ask spread na the minimum slippage wey stop-market accept. The usual market order versus limit order trade-off still apply, but options quote width dey magnify am.
Why stop-limit fit leave the position stranded
Replace market order with stop-limit wey get $1.75 limit. Quote slip to $1.55 / $1.95, stop fire, and resulting order to sell at $1.75 or better rest $0.20 above bid. Nobody must pay that price. If put continue to fall, order go remain unfilled and position go stay open while loss dey grow. Na the opposite of wetin stop suppose do. Stop order versus stop-limit order compare the two types, while why options orders no dey fill explain why resting limit leg fit remain unfilled.
Why 20% stop distance fit be normal day for option
Stop distance wey look wide for stock, like 10% or 20% below entry, fit dey inside normal daily noise for option. The trace below follow one SPY put, the strike nearest the money with 25 to 35 days to expiry as of July 6, 2026, across the next two weeks of closes. E show the ETF’s own daily move beside am.
| session date | calendar label | put close | put move pct | SPY move pct |
|---|---|---|---|---|
| 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 |
The exact SQL behind every number
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 dateThe put close at $8.79 on Jul 6 and $11.5 on Jul 17. Look at the two percentage columns side by side. ETF day-over-day moves dey be fractions of a percent, while the put fit move whole percentage points and often tens of them. That difference mean say stop 20% below put price fit dey inside one day’s range. If we widen the view to every near-the-money SPY put with 20 to 45 days to expiry across July 2026, one contract turn into a distribution.
| move bucket | contract days | share pct |
|---|---|---|
| under 5% | 396 | 16.7 |
| 5% to 10% | 339 | 14.3 |
| 10% to 20% | 591 | 25 |
| 20% or more | 1039 | 43.9 |
The exact SQL behind every number
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% of those contract-days move 20% or more from the previous close. That compare with 16.7% wey move less than 5%. Stop 20% below previous close cross on about 43.9 of every 100 contract-days, even before we count intraday swings wey close-to-close series no show.
Broker restrictions to check before you place one
Broker rules for options stops dey differ and fit change. So treat these as categories to check inside your own broker’s order-type disclosure, no be fixed facts about any particular firm:
- Whether broker accept stop-market orders on options at all. Some brokers accept only stop-limit orders for options. That removes far-side fill problem but introduces stranding problem instead.
- Which trigger convention apply: last, bid, ask, or mark. Also check whether you fit choose am for each order.
- Whether triggers dey evaluate only during regular trading hours. Exchange-level stop under Cboe rule na regular-hours only. Broker-held stops commonly get the same restriction. This matter for index options with extended sessions.
- Whether stops dey allowed on multi-leg orders. If yes, check which price trigger dey watch, usually the spread’s net mark, plus which time-in-force choices stop fit carry.
Wetin fit work instead of plain stop
- Bracket or OCO exit with debit target. One order go close position at profit target. Another stop-limit get limit wide enough to clear normal spread. Whichever one fill first go cancel the other. Bracket and OCO orders explain the mechanics. For options, profit leg dey quote as specific debit or credit, no be percentage.
- Contingent order keyed to underlying price. The order dey watch stock, wey fit print thousands of times per hour, instead of put wey fit print only dozen times per day. Once stock trade at your level, order send limit order for option. The trace above show why this trigger dey cleaner: ETF na the smooth series, while put dey noisy.
- No stop on defined-risk spread. Vertical spread maximum loss dey fixed from entry. Stop on spread dey watch combined mark of two wide quotes, and that mark fit swing because of noise and close both legs at the worst combination of prices. Adjusting the trade instead, like how to roll an option position, dey keep the defined risk intact.
FAQ
Stop orders dey work for options?
Yes, but one caveat dey. Cboe rulebook still define exchange-level stop and stop-limit orders for options. But most retail brokers hold the stop themselves and fire am based on their own trigger: last trade, bid or ask, or mark. The behaviour you get na the broker’s convention, and dem write am inside the order-type disclosure for your account.
Wetin dey trigger stop order for option: bid, ask, or last trade?
E depend on broker. Common conventions na last trade price, bid or ask, and mark, meaning midpoint of the quote. Cboe own exchange-held stop go fire on either consolidated last sale or national best bid or offer.
Why my options stop order fill far below my stop price?
Stop-market become market order immediately when e fire. Market order to sell go take current bid. If quote dey $0.40 wide and trigger na mark, fill go land at bid, roughly 10% below trigger for $2 contract, before any further slippage.
I fit set stop-loss on options spread?
Some brokers allow stops on multi-leg orders, usually keyed to spread’s net mark. Others no allow am. Defined-risk spread already get fixed maximum loss. Stop on am fit fire because of quote noise and close both legs at poor prices. Many traders dey manage spreads by rolling or adjusting instead.
Every panel above come with the SQL wey produce am. To run the same contract-by-contract volume count for another ticker or date, ask for am in plain English on the Strasmore terminal.