Options Trade Example: Start to Finish
A full options trade example: one real AAPL call from entry to expiration, with the chain, the premium, every fee, the breakeven, and both exit paths.
This options trade example follows one real contract end to end: a single AAPL call bought on February 20, 2026 against the March 20, 2026 expiry, with every figure read from that contract's own daily record and from AAPL's own daily bars. The arithmetic stays in the open at each step, from the chain quote at entry through the premium, the fees, the breakeven, the daily mark, and the two ways the position could have ended. The expiry is in the past, so none of these numbers move again.
What the option chain showed at entry
An option chain is the price menu for one underlying and one expiration date, one row per contract. Four columns carry the entry decision: the strike (the price at which a call's holder may buy 100 shares), the premium (the price of the contract, quoted per share), implied volatility (the annualised move that premium implies), and delta (how much the premium shifts for a one dollar move in the stock). Our option chain guide walks the full layout. The panel below is the slice that mattered on February 20, 2026.
| strike | premium | delta | iv_pct | contracts_traded |
|---|---|---|---|---|
| 255 | 14.15 | 0.705 | 28.2 | 287 |
| 260 | 10.5 | 0.62 | 26.4 | 2196 |
| 265 | 7.4 | 0.518 | 25.1 | 5047 |
| 270 | 5 | 0.407 | 24.3 | 14642 |
| 275 | 3.15 | 0.299 | 23.5 | 13639 |
The exact SQL behind every number
WITH
(
SELECT round(toFloat64(close), 2)
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date = '2026-02-20'
) AS entry_close
SELECT
toFloat64(strike_price) AS strike,
round(toFloat64(any(option_close)), 2) AS premium,
round(toFloat64(any(delta)), 3) AS delta,
round(toFloat64(any(implied_volatility)) * 100, 1) AS iv_pct,
toUInt64(any(ifNull(volume, 0))) AS contracts_traded
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND lower(option_type) LIKE 'c%'
AND expiration_date = '2026-03-20'
AND date = '2026-02-20'
AND toFloat64(option_close) > 0
AND toFloat64(implied_volatility) > 0
AND abs(toFloat64(strike_price) / entry_close - 1) < 0.05
GROUP BY strike_price
ORDER BY strike_price5 call strikes sat within 5% of AAPL's close that session, running from 255 at the bottom of the panel to 275 at the top. Premium falls as the strike rises on a call chain: the right to buy at a higher price is worth less. Delta behaves the same way, sliding toward zero on strikes further above the stock. Implied volatility on the lowest strike in view measured 28.2%, against 23.5% on the highest, and the volume column shows how many contracts changed hands at each strike. What sets those premiums in the first place is the subject of what determines an option price.
The contract, the premium, and the cash out the door
The example needs one contract picked by a rule a reader can check. The rule here: the first call strike above AAPL's close on February 20, 2026, the nearest out-of-the-money contract. Picking a strike is its own subject, and this rule is chosen for reproducibility rather than merit.
A quoted premium is per share, and one standard equity option covers 100 shares, so the cash cost is the premium times 100 plus trading costs. A typical retail US schedule as of October 2026 runs about $0.65 per contract in commission plus roughly $0.05 per contract in exchange and regulatory pass-through fees. That $0.70 per contract per leg is the figure used in every panel here. Options trading costs breaks the stack down line by line.
| strike | contract_code | premium_paid | cash_out_one_contract | breakeven_price | move_needed_pct |
|---|---|---|---|---|---|
| 265 | O:AAPL260320C00265000 | 740 | 740.7 | 272.41 | 2.96 |
| 270 | O:AAPL260320C00270000 | 500 | 500.7 | 275.01 | 3.94 |
| 275 | O:AAPL260320C00275000 | 315 | 315.7 | 278.16 | 5.13 |
| 280 | O:AAPL260320C00280000 | 185 | 185.7 | 281.86 | 6.53 |
| 285 | O:AAPL260320C00285000 | 102 | 102.7 | 286.03 | 8.11 |
| 290 | O:AAPL260320C00290000 | 61 | 61.7 | 290.62 | 9.84 |
The exact SQL behind every number
WITH
0.65 AS commission_per_contract,
0.05 AS fees_per_contract,
(
SELECT round(toFloat64(close), 2)
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date = '2026-02-20'
) AS entry_close
SELECT
toFloat64(strike_price) AS strike,
any(ticker) AS contract_code,
round(toFloat64(any(option_close)) * 100, 2) AS premium_paid,
round(toFloat64(any(option_close)) * 100
+ commission_per_contract + fees_per_contract, 2) AS cash_out_one_contract,
round(toFloat64(strike_price) + toFloat64(any(option_close))
+ (commission_per_contract + fees_per_contract) / 100, 2) AS breakeven_price,
round(((toFloat64(strike_price) + toFloat64(any(option_close))
+ (commission_per_contract + fees_per_contract) / 100)
/ entry_close - 1) * 100, 2) AS move_needed_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND lower(option_type) LIKE 'c%'
AND expiration_date = '2026-03-20'
AND date = '2026-02-20'
AND toFloat64(option_close) > 0
AND toFloat64(strike_price) > entry_close
GROUP BY strike_price
ORDER BY strike_price
LIMIT 6The first row is the trade: the 265 strike, listed under the contract code O:AAPL260320C00265000. A premium of $7.4 per share times 100 shares is $740 of premium, and with $0.70 of commission and fees the cash out the door was $740.7. For the buyer of one contract, that same figure is the most the position can lose.
The breakeven is the strike plus the premium plus the per contract costs spread over 100 shares: $272.41, which sat 2.96% above the stock that day. Read down the panel and the tradeoff behind every strike choice draws itself. The highest strike shown asks $61.7 for one contract and puts its breakeven at $290.62, 9.84% from the same close. A smaller outlay, a longer walk.
How the position marked, day by day
A long option is marked every session, and the mark splits in two. Intrinsic value is what the contract would be worth if expiration were right now: for a call, the stock price minus the strike, floored at zero. Time value is the rest of the premium, the part that pays for the days still left on the clock. Days to expiry is the countdown on that second piece.
| session_date | session_label | days_left | premium | intrinsic_value | time_value |
|---|---|---|---|---|---|
| 2026-02-20 | Feb 20 | 28 | 7.4 | 0 | 7.4 |
| 2026-02-23 | Feb 23 | 25 | 8.54 | 1.18 | 7.36 |
| 2026-02-24 | Feb 24 | 24 | 12.35 | 7.14 | 5.21 |
| 2026-02-25 | Feb 25 | 23 | 13.6 | 9.23 | 4.37 |
| 2026-02-26 | Feb 26 | 22 | 12.1 | 7.95 | 4.15 |
| 2026-02-27 | Feb 27 | 21 | 6.85 | 0 | 6.85 |
| 2026-03-02 | Mar 2 | 18 | 6.73 | 0 | 6.73 |
| 2026-03-03 | Mar 3 | 17 | 6.25 | 0 | 6.25 |
| 2026-03-04 | Mar 4 | 16 | 5.1 | 0 | 5.1 |
| 2026-03-05 | Mar 5 | 15 | 3.84 | 0 | 3.84 |
| 2026-03-06 | Mar 6 | 14 | 3.04 | 0 | 3.04 |
| 2026-03-09 | Mar 9 | 11 | 3.03 | 0 | 3.03 |
| 2026-03-10 | Mar 10 | 10 | 3.05 | 0 | 3.05 |
| 2026-03-11 | Mar 11 | 9 | 2.6 | 0 | 2.6 |
| 2026-03-12 | Mar 12 | 8 | 1.04 | 0 | 1.04 |
| 2026-03-13 | Mar 13 | 7 | 0.24 | 0 | 0.24 |
| 2026-03-16 | Mar 16 | 4 | 0.12 | 0 | 0.12 |
| 2026-03-17 | Mar 17 | 3 | 0.07 | 0 | 0.07 |
| 2026-03-18 | Mar 18 | 2 | 0.02 | 0 | 0.02 |
| 2026-03-19 | Mar 19 | 1 | 0.01 | 0 | 0.01 |
The exact SQL behind every number
WITH
(
SELECT round(toFloat64(close), 2)
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date = '2026-02-20'
) AS entry_close,
(
SELECT ticker
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND lower(option_type) LIKE 'c%'
AND expiration_date = '2026-03-20'
AND date = '2026-02-20'
AND toFloat64(option_close) > 0
AND toFloat64(strike_price) > entry_close
ORDER BY strike_price
LIMIT 1
) AS chosen_contract
SELECT
toString(date) AS session_date,
formatDateTime(date, '%b %e') AS session_label,
toUInt16(any(g.days_to_expiry)) AS days_left,
round(toFloat64(any(g.option_close)), 2) AS premium,
round(greatest(any(s.stock_close) - toFloat64(any(g.strike_price)), 0.0), 2) AS intrinsic_value,
round(toFloat64(any(g.option_close))
- greatest(any(s.stock_close) - toFloat64(any(g.strike_price)), 0.0), 2) AS time_value
FROM global_markets.options_greeks AS g
INNER JOIN
(
SELECT
date,
toFloat64(close) AS stock_close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date BETWEEN '2026-02-20' AND '2026-03-20'
) AS s USING (date)
WHERE g.ticker = chosen_contract
AND date BETWEEN '2026-02-20' AND '2026-03-20'
GROUP BY date
ORDER BY dateAt entry the contract had 28 days to run, a mark of $7.4, and intrinsic value of $0. The strike was picked above the stock, so intrinsic value starts at zero by construction and every cent of the premium is time value: $7.4 of it, owned from day one and spending itself down from there. The panel then tracks the same contract across 20 sessions. On the last session in view, Mar 19, with 1 days to expiry, the mark was $0.01, of which $0 was intrinsic value and 0.01 dollars time value.
Where the stock sat against the strike and the breakeven
Three levels tell the story of a long call: the stock, the strike, and the breakeven. The last two are fixed the moment the order fills. Only the stock moves.
| session_date | session_label | aapl_close | strike | breakeven |
|---|---|---|---|---|
| 2026-02-20 | Feb 20 | 264.58 | 265 | 272.41 |
| 2026-02-23 | Feb 23 | 266.18 | 265 | 272.41 |
| 2026-02-24 | Feb 24 | 272.14 | 265 | 272.41 |
| 2026-02-25 | Feb 25 | 274.23 | 265 | 272.41 |
| 2026-02-26 | Feb 26 | 272.95 | 265 | 272.41 |
| 2026-02-27 | Feb 27 | 264.18 | 265 | 272.41 |
| 2026-03-02 | Mar 2 | 264.72 | 265 | 272.41 |
| 2026-03-03 | Mar 3 | 263.75 | 265 | 272.41 |
| 2026-03-04 | Mar 4 | 262.52 | 265 | 272.41 |
| 2026-03-05 | Mar 5 | 260.29 | 265 | 272.41 |
| 2026-03-06 | Mar 6 | 257.46 | 265 | 272.41 |
| 2026-03-09 | Mar 9 | 259.88 | 265 | 272.41 |
| 2026-03-10 | Mar 10 | 260.83 | 265 | 272.41 |
| 2026-03-11 | Mar 11 | 260.81 | 265 | 272.41 |
| 2026-03-12 | Mar 12 | 255.76 | 265 | 272.41 |
| 2026-03-13 | Mar 13 | 250.12 | 265 | 272.41 |
| 2026-03-16 | Mar 16 | 252.82 | 265 | 272.41 |
| 2026-03-17 | Mar 17 | 254.23 | 265 | 272.41 |
| 2026-03-18 | Mar 18 | 249.94 | 265 | 272.41 |
| 2026-03-19 | Mar 19 | 248.96 | 265 | 272.41 |
The exact SQL behind every number
WITH
0.70 AS costs_per_contract,
(
SELECT round(toFloat64(close), 2)
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date = '2026-02-20'
) AS entry_close,
(
SELECT toFloat64(strike_price)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND lower(option_type) LIKE 'c%'
AND expiration_date = '2026-03-20'
AND date = '2026-02-20'
AND toFloat64(option_close) > 0
AND toFloat64(strike_price) > entry_close
ORDER BY strike_price
LIMIT 1
) AS strike_level,
(
SELECT toFloat64(option_close)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND lower(option_type) LIKE 'c%'
AND expiration_date = '2026-03-20'
AND date = '2026-02-20'
AND toFloat64(option_close) > 0
AND toFloat64(strike_price) > entry_close
ORDER BY strike_price
LIMIT 1
) AS entry_premium
SELECT
toString(date) AS session_date,
formatDateTime(date, '%b %e') AS session_label,
round(toFloat64(any(close)), 2) AS aapl_close,
round(strike_level, 2) AS strike,
round(strike_level + entry_premium + costs_per_contract / 100, 2) AS breakeven
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date BETWEEN '2026-02-20' AND '2026-03-20'
GROUP BY date
ORDER BY dateAAPL closed at $264.58 on the entry session and $247.99 on the last session of the window, with the flat strike line at $265 and the flat breakeven line at $272.41 drawn across the same chart. Where the stock line finishes against those two levels is the entire expiration outcome for a contract held that long.
What expiration day does
March 20, 2026 was a quarterly expiration, the kind that also takes index futures and index options off the board on the same morning, described in what triple witching is. For a single equity call the mechanics are narrow and worth knowing in advance.
Trading in the contract stops at the 4:00 p.m. ET close on expiration Friday. The Options Clearing Corporation then applies exercise by exception: an equity option one cent or more in the money at that close is exercised automatically unless the holder files contrary instructions. Brokers set their own earlier deadlines for those instructions, often in the early afternoon, and broker exercise cutoff times collects them.
At the final close in the panel above, intrinsic value measured $0. A call that finishes with no intrinsic value simply ceases to exist, with nothing to exercise and nothing to sell, and the premium paid at entry stands as the whole loss. A call that finishes with intrinsic value is exercised into 100 shares at $265 per share, which calls for the strike times 100 in cash or margin on settlement day, many multiples of what the premium cost. What happens if an option expires in the money walks that settlement sequence. A stock that finishes within pennies of the strike leaves the holder unsure whether exercise happens at all, the situation covered in pin risk at options expiration.
Closed early, or held to the final close
One contract, one entry, three exit sessions. Each row below sells at that session's closing mark, nets commission and fees on both legs, and drops the closing leg's $0.70 when the mark is zero and there is nothing left to sell.
| label | net_pl_usd | net_return_pct |
|---|---|---|
| Closed after one week | -56.4 | -7.6 |
| Closed one week before expiry | -717.4 | -96.9 |
| Held to the final close | -740.4 | -100 |
The exact SQL behind every number
WITH
0.65 AS commission_per_contract,
0.05 AS fees_per_contract,
(
SELECT round(toFloat64(close), 2)
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date = '2026-02-20'
) AS entry_close,
(
SELECT ticker
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND lower(option_type) LIKE 'c%'
AND expiration_date = '2026-03-20'
AND date = '2026-02-20'
AND toFloat64(option_close) > 0
AND toFloat64(strike_price) > entry_close
ORDER BY strike_price
LIMIT 1
) AS chosen_contract,
(
SELECT toFloat64(option_close)
FROM global_markets.options_greeks
WHERE ticker = chosen_contract
AND date = '2026-02-20'
) AS entry_premium,
(
SELECT max(date)
FROM global_markets.options_greeks
WHERE ticker = chosen_contract
AND date <= '2026-03-20'
) AS final_session
SELECT
multiIf(date = toDate('2026-02-27'), 'Closed after one week',
date = toDate('2026-03-13'), 'Closed one week before expiry',
'Held to the final close') AS label,
round((toFloat64(any(option_close)) - entry_premium) * 100
- commission_per_contract - fees_per_contract
- if(toFloat64(any(option_close)) > 0,
commission_per_contract + fees_per_contract, 0), 2) AS net_pl_usd,
round((((toFloat64(any(option_close)) - entry_premium) * 100
- commission_per_contract - fees_per_contract
- if(toFloat64(any(option_close)) > 0,
commission_per_contract + fees_per_contract, 0))
/ (entry_premium * 100 + commission_per_contract + fees_per_contract)) * 100, 1) AS net_return_pct
FROM global_markets.options_greeks
WHERE ticker = chosen_contract
AND date IN (toDate('2026-02-27'), toDate('2026-03-13'), final_session)
GROUP BY date
ORDER BY dateClosing after one week netted -56.4 dollars on the contract, or -7.6% of the cash committed. Closing a week before expiry netted -717.4 dollars. Holding to the final close netted -740.4 dollars, or -100% of the cash committed. Same contract, same entry price, same fee schedule. The exit session alone separates those three figures.
Why most volume leaves before expiration
Activity in a contract concentrates in the sessions ahead of expiration rather than on the day itself. The mechanics behind that pattern:
- Selling the contract recovers whatever time value is still in the mark, while exercising abandons it.
- Exercise converts a position worth a few hundred dollars into a stock position worth the strike times 100, which has to be funded or carried on margin.
- A contract held through the 4:00 p.m. close stops trading while the stock keeps moving on the after-hours tape.
- An assignment arrives as shares on the next settlement day, with the stock's overnight risk attached to them.
Those are mechanics, not recommendations. They describe what the two paths involve, which is the part a reader can check against their own account.
Data notes, sources, and the fee assumption
Contract selection: the first AAPL call strike above the stock's closing price on February 20, 2026, for the March 20, 2026 expiry, taken from the daily option records for that expiry carrying a non-zero closing mark that session. The strike, premium, implied volatility, delta, and days to expiry all come from that same daily per contract record.
Every stock price here comes from AAPL's daily bars: the entry close that fixes the strike choice, the closes behind the intrinsic value split, and the price path in the chart. One stock source throughout means every panel measures against the same closing price for a given session.
Costs: $0.65 of commission plus $0.05 of exchange and regulatory pass-through per contract per leg, a typical retail US schedule as of October 2026. A specific account's schedule will differ. Exercise and assignment fees are separate again, and several brokers charge nothing for them.
The last row of each daily panel is the last session with a record at or before March 20, 2026. Its days to expiry column shows exactly how close that session sits to the expiration date.
FAQ
What does one options contract actually cost?
The quoted premium is per share and one standard equity option covers 100 shares, so a premium of $7.4 came to $740 of premium for one contract. Adding about $0.70 of commission and fees brought the cash out the door to $740.7.
How do you calculate the breakeven on a call option?
Strike plus premium paid, plus the per contract costs divided by 100. For the contract here that is $272.41, which sat 2.96% above the stock at entry. At expiration the stock has to finish above that level for the position to clear its own costs.
What happens if a call option expires in the money?
An equity option one cent or more in the money at the 4:00 p.m. ET close on expiration day is exercised automatically under exercise by exception, unless the holder files contrary instructions before the broker's own cutoff. Exercise delivers 100 shares per contract at the strike, funded with the strike times 100 in cash or margin.
Why do traders close an option instead of exercising it?
Selling the contract recovers any time value left in the mark and keeps the position denominated in dollars rather than shares. Exercising gives up that remaining time value and replaces a small position with a stock position many times its size.
Every panel here ships with the exact SQL underneath it, so open one to see how a number was counted. To walk a different contract or a different past expiry the same way, ask for it in plain English on the Strasmore terminal.