How Risky Is Options Trading? The Mechanics
How risky is options trading? Risk depends on the structure: a long call caps loss at the debit paid, a naked short call has no upper bound. See the data.
How risky is options trading? Risk in options is not one number and not a rating on a scale. It is a property of the structure being held: every position carries a maximum loss that follows from its shape, ranging from a fixed dollar amount known before entry to an obligation with no arithmetic ceiling. This page takes the question apart structure by structure, then measures the mechanisms behind most of the losses new traders describe.
How risky is options trading? The structure sets the worst case
Four shapes cover most of what retail accounts hold, and each has a worst case that can be written down before the trade is placed.
Long premium. Buying a call option or a put option costs a debit: the premium paid up front, times 100 shares per contract. That debit is the entire maximum loss. A contract bought at $3.00 costs $300 and cannot lose more than $300, whatever the underlying does. The ceiling is contractual, and it is why long premium is called defined risk.
Vertical spreads. Buying one option and selling another of the same type and expiration at a different strike produces a position whose maximum loss is the distance between the strikes minus the credit received, or the debit paid on a debit spread, again times 100. Still defined, and usually a smaller number than the long leg alone.
Short puts. Selling a put obligates the seller to buy 100 shares at the strike if assigned. The worst case is the stock going to zero: the strike times 100, minus the premium collected. Bounded, but the bound can be large. A $50 strike carries a $5,000 theoretical worst case per contract against a premium that might be $80.
Naked short calls. Selling a call without owning the shares obligates delivery at the strike. There is no upper bound on a share price, so there is no arithmetic ceiling on the loss. This is the one structure in common retail use whose worst case cannot be written as a number in advance. Owning the shares turns it into a covered call, where the shares cover delivery and the cost becomes the upside given up above the strike.
Those four bounds are the skeleton. What converts a bounded position into a realized loss is mechanical, and it arrives in three parts: two at the position level, one at the account level.
Mechanism 1: an option is a wasting asset
Every premium splits into two pieces. Intrinsic value is what the contract is worth on immediate exercise: for a call, the stock price minus the strike, floored at zero. Time value is everything else the buyer pays for the chance of a favorable move before expiration. At expiration, time value is zero by contract. Not approximately zero. Zero.
The panel below takes the single most-traded AAPL call in the May 2026 monthly cycle, selected by trade count rather than by hand, and splits its closing premium into those two pieces on every session from April 15 through expiration on May 15, 2026.
The exact SQL behind every number
WITH busiest AS (
SELECT ticker
FROM global_markets.options_trades
WHERE ticker LIKE 'O:AAPL260515C%'
AND toDate(sip_timestamp) BETWEEN toDate('2026-04-15') AND toDate('2026-05-15')
GROUP BY ticker
ORDER BY count() DESC
LIMIT 1
),
contract AS (
SELECT toFloat64OrZero(substring(ticker, 14, 8)) / 1000 AS strike_usd,
concat('$', toString(round(toFloat64OrZero(substring(ticker, 14, 8)) / 1000, 2)), ' strike') AS contract_label
FROM busiest
),
premium AS (
SELECT toDate(sip_timestamp) AS date,
round(argMax(toFloat64(price), sip_timestamp), 2) AS premium_usd
FROM global_markets.options_trades
WHERE ticker IN (SELECT ticker FROM busiest)
AND toDate(sip_timestamp) BETWEEN toDate('2026-04-15') AND toDate('2026-05-15')
GROUP BY date
),
spot AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS date,
argMax(toFloat64(close), window_start) AS stock_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2026-04-15') AND toDate('2026-05-15')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY date
)
SELECT p.date AS date,
c.contract_label AS contract_label,
p.premium_usd AS premium_usd,
round(greatest(s.stock_close - c.strike_usd, 0), 2) AS intrinsic_usd,
round(p.premium_usd - greatest(s.stock_close - c.strike_usd, 0), 2) AS time_value_usd
FROM premium AS p
INNER JOIN spot AS s ON p.date = s.date
CROSS JOIN contract AS c
ORDER BY dateRead the three dollar columns together. The buyer of the $300 strike call paid $0.85 at the close of the first session shown, of which $0.85 was time value. Across 23 sessions the time value column drains to $0.2 on expiration day, and the closing premium of $0.45 is intrinsic value alone. That collapse is the one thing about an option that is known in advance, and it happens whether or not the stock cooperates.
The drain is not linear. It steepens into the final week, which is what option theta measures per day, and it is the whole design of 0DTE strategies, where a position's entire life fits inside one session. Shares have no equivalent property. They do not expire.
Mechanism 2: leverage magnifies the move in both directions
One contract controls 100 shares for a fraction of their cost. The percentage move in the option is a multiple of the percentage move in the stock, and the multiple applies to down sessions exactly as it applies to up ones. Same contract, same window, one row per session, ordered from the stock's weakest session to its strongest.
The exact SQL behind every number
WITH busiest AS (
SELECT ticker
FROM global_markets.options_trades
WHERE ticker LIKE 'O:AAPL260515C%'
AND toDate(sip_timestamp) BETWEEN toDate('2026-04-15') AND toDate('2026-05-15')
GROUP BY ticker
ORDER BY count() DESC
LIMIT 1
),
opt AS (
SELECT toDate(sip_timestamp) AS date,
argMin(toFloat64(price), sip_timestamp) AS open_px,
argMax(toFloat64(price), sip_timestamp) AS close_px
FROM global_markets.options_trades
WHERE ticker IN (SELECT ticker FROM busiest)
AND toDate(sip_timestamp) BETWEEN toDate('2026-04-15') AND toDate('2026-05-15')
GROUP BY date
),
und AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS date,
argMin(toFloat64(open), window_start) AS open_px,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2026-04-15') AND toDate('2026-05-15')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY date
)
SELECT o.date AS date,
round(100 * (u.close_px / u.open_px - 1), 2) AS stock_move_pct,
round(100 * (o.close_px / o.open_px - 1), 2) AS option_move_pct
FROM opt AS o
INNER JOIN und AS u ON o.date = u.date
WHERE u.open_px > 0 AND o.open_px > 0
ORDER BY stock_move_pctOn the stock's weakest session of the window it moved -1.94% print to print while the contract moved -49.06%. On its strongest session the stock moved 3.18% and the contract moved 107.32%. Over 23 sessions the option line traces the same shape as the stock line, amplified at both ends. A 2% session in the underlying is an ordinary day for a share position and a double-digit day for the contract.
Amplification has a terminal state. At expiration a contract is worth intrinsic value and nothing else, and an out-of-the-money contract's intrinsic value is zero. The panel below counts AAPL contracts that changed hands on their own expiration day across six monthly cycles, from December 2025 to May 2026, and measures the share that finished out of the money at the closing price.
The exact SQL behind every number
WITH traded AS (
SELECT toDate(sip_timestamp) AS session_date,
ticker
FROM global_markets.options_trades
WHERE ticker LIKE 'O:AAPL2%'
AND toDate(sip_timestamp) IN ('2025-12-19', '2026-01-16', '2026-02-20', '2026-03-20', '2026-04-17', '2026-05-15')
GROUP BY session_date, ticker
),
expiring AS (
SELECT session_date AS expiration_date,
substring(ticker, 13, 1) AS right_code,
toFloat64OrZero(substring(ticker, 14, 8)) / 1000 AS strike_usd
FROM traded
WHERE toDate(concat('20', substring(ticker, 7, 2), '-', substring(ticker, 9, 2), '-', substring(ticker, 11, 2))) = session_date
),
spot AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS expiration_date,
argMax(toFloat64(close), window_start) AS closing_price
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND toDate(toTimeZone(window_start, 'America/New_York')) IN ('2025-12-19', '2026-01-16', '2026-02-20', '2026-03-20', '2026-04-17', '2026-05-15')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY expiration_date
)
SELECT formatDateTimeInJodaSyntax(e.expiration_date, 'MMM yyyy') AS cycle,
count() AS contract_count,
round(100 * countIf(e.right_code = 'C' AND e.strike_usd > s.closing_price) / countIf(e.right_code = 'C'), 1) AS calls_otm_pct,
round(100 * countIf(e.right_code = 'P' AND e.strike_usd < s.closing_price) / countIf(e.right_code = 'P'), 1) AS puts_otm_pct
FROM expiring AS e
INNER JOIN spot AS s ON e.expiration_date = s.expiration_date
GROUP BY e.expiration_date
HAVING countIf(e.right_code = 'C') > 0 AND countIf(e.right_code = 'P') > 0
ORDER BY e.expiration_dateIn the Dec 2025 cycle, 23.9% of expiration-day calls and 68.6% of expiration-day puts finished out of the money. In May 2026 the same two readings were 20% and 70.6%, across 136 contracts. Note what this sample is: contracts that traded on their final day, which skews toward strikes near the money where the outcome is still live. It is not a measurement of every open contract, and it is not a claim about anyone's profit or loss.
Mechanism 3: assignment, exercise, and what the account carries
US-listed equity options are American style, so the holder can exercise at any point before expiration and the short side has no say in the timing (American vs European options covers the distinction). Two practical implications follow for anyone holding a short leg. Early exercise of calls clusters ahead of ex-dividend dates, where the dividend can exceed the remaining time value of a deep in-the-money call, a timing pattern laid out in ex-dividend dates and options. And assignment notice arrives after the close, typically overnight, so the first knowledge of a share position often comes the next morning.
Short options also consume collateral. A cash-secured put sets aside the full strike value. A naked call is margined on a formula that scales with the underlying price and is recomputed as prices move, so the collateral demanded by a losing short call grows while the loss grows, and a broker may close positions to restore the requirement. That is an account-level mechanism, separate from the position's own payoff diagram.
The sharpest version is a Friday expiration. An in-the-money short option assigned at Friday's close leaves the account holding, or short, 100 shares per contract, with no chance to trade them until Monday's open. The panel below measures that specific distance over the past two years: the absolute gap between one session's opening price and the prior session's close, keeping only pairs separated by a weekend or longer.
The exact SQL behind every number
WITH sessions AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
argMin(toFloat64(open), window_start) AS session_open,
argMax(toFloat64(close), window_start) AS session_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'TSLA', 'KO', 'SPY')
AND window_start >= toDateTime('2024-08-01 00:00:00')
AND window_start < toDateTime('2026-08-01 00:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, session_date
),
linked AS (
SELECT ticker,
session_date,
session_open,
any(session_close) OVER (PARTITION BY ticker ORDER BY session_date
ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_close,
any(session_date) OVER (PARTITION BY ticker ORDER BY session_date
ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_date
FROM sessions
),
gaps AS (
SELECT ticker,
session_date,
abs(session_open / prev_close - 1) * 100 AS gap_pct
FROM linked
WHERE prev_close > 0
AND dateDiff('day', prev_date, session_date) >= 3
)
SELECT ticker,
count() AS gap_count,
round(quantileDeterministic(0.5)(gap_pct, cityHash64(session_date)), 2) AS median_weekend_gap_pct,
round(quantileDeterministic(0.95)(gap_pct, cityHash64(session_date)), 2) AS p95_weekend_gap_pct,
round(max(gap_pct), 2) AS largest_weekend_gap_pct
FROM gaps
GROUP BY ticker
ORDER BY p95_weekend_gap_pct DESCCompare the median column against the percentile columns in the same row. TSLA carried the widest tail of the six: a 95th-percentile weekend gap of 6.46% against a median of 1.44%, with a largest single weekend gap of 10.81% over 104 weekends. At the other end of the panel, KO measured 0.98% at the same percentile. A typical weekend moves the assigned share position very little. The tail is where the account-level risk of assignment lives, and the holder of an assigned position has no exit until the opening bell.
Transaction costs sit on top of all of this. Every option carries a bid-ask spread that widens with the strike's distance from the money, and it is paid on the way in and again on the way out. What it costs to trade options puts figures on both parts.
How these panels are measured
- The contract in the decay and leverage panels is the most-traded AAPL call of its cycle by trade count, chosen by the query rather than by hand.
- Option prices are actual traded prints. The first and last prints of a session are not necessarily at the opening and closing bells, so a session move is print to print.
- Intrinsic value is the underlying's regular-hours closing price minus the strike, floored at zero. Time value is the closing premium minus that figure, so a premium print struck at a different moment from the close can leave a small residual.
- The expiration panel includes only contracts that traded on their own expiration day, and it reads moneyness against the underlying's closing price on that day.
- Weekend gaps compare a session's first regular-hours opening price to the previous session's last regular-hours closing price, keeping only pairs at least three calendar days apart.
Options risk FAQ
Can you lose more than you put in when trading options?
Not on long premium: a bought call or put risks the debit paid and no more. Short options are a different instrument in this respect. A naked short call has no arithmetic ceiling on its loss, and an assigned short put obligates the purchase of 100 shares per contract at the strike, an amount that can exceed the premium collected many times over.
Do most options expire worthless?
Among AAPL contracts that traded on their own expiration day in the six cycles measured above, calls finishing out of the money ran 23.9% in the Dec 2025 cycle and 20% in May 2026. An out-of-the-money contract has zero intrinsic value at expiration. The widely quoted market-wide statistic covers all open contracts, a broader population than the expiration-day sample here.
What is the riskiest options position?
By maximum loss, the naked short call: no ceiling on a share price means no ceiling on the obligation. By frequency of small losses, long premium close to expiration, where time value drains fastest and a correct view on direction can still finish at zero if the move arrives late.
What happens if an option is assigned over the weekend?
Assignment at a Friday close leaves the account holding the resulting share position, long or short, with the first opportunity to trade it at the next session's open. Over the two years measured above, the largest weekend gap for TSLA reached 10.81%, against a median weekend move of 1.44%.
Are options riskier than stocks?
They are differently risky, and the structure decides. A long call puts 100% of a small debit at stake on a deadline; the same dollars in shares carry no expiration and no time value to lose. A naked short call carries an exposure that a share position does not have at all. Paper trading is where the mechanics of assignment and decay get learned without an account consequence.
Every panel above stores the SQL that produced it. Open one, swap the ticker or the expiration cycle, and run the same measurement yourself on the Strasmore terminal.