M← Home

Option Trade Lab formulas

Every formula Option Trade Lab uses, in the order it calculates them

The option price, the Greeks, the implied volatility search, P&L, payoff at expiry and the "what moved the price" breakdown. A worked example with a real FIG put is near the end.

European optionsno dividendscalendar days ÷ 365

1. Inputs and notation

Every price and Greek comes from five numbers. The lab reads them from your ticket and the scenario sliders.

SymbolMeaningWhere it comes from in the lab
SStock priceStock price slider, or the ticket's price then / now
KStrike priceTicket: strike
TTime to expiry, in yearsDays to expiry ÷ 365 (calendar days)
σImplied volatility, as a decimalIV slider ÷ 100, so 68% becomes 0.68
rRisk-free interest rate, as a decimalRate slider ÷ 100, so 4% becomes 0.04
N⁡(x)Standard normal cumulative distributionSection 2
n⁡(x)Standard normal densitySection 2
sSide of the trade+1 if you bought, −1 if you sold
QShares controlled100 × number of contracts
days=expiry date−as-of dateT=days365

Days are calendar days and never go below 0.

2. Standard normal functions

Black-Scholes needs the normal distribution. The lab computes it from the error function, using the Abramowitz and Stegun approximation 7.1.26. It's accurate to about 1.5 × 10−7.

n⁡(x)=e−x222πN⁡(x)=12[1+erf⁡(x2)]erf⁡(x)≈1−(a1t+a2t2+a3t3+a4t4+a5t5)·e−x2t=11+0.3275911x

a1 = 0.254829592, a2 = −0.284496736, a3 = 1.421413741, a4 = −1.453152027, a5 = 1.061405429. For negative x the lab uses erf(−x) = −erf(x).

3. Black-Scholes option price

d1=ln⁡(SK)+(r+σ22)TσTd2=d1−σT
Call=SN⁡(d1)−Ke−rTN⁡(d2)Put=Ke−rTN⁡(−d2)−SN⁡(−d1)

Ke−rT is the strike discounted back to today. The lab floors the result at $0 to avoid tiny negative rounding errors.

At expiry, when T = 0 (or σ = 0), the formula is replaced by intrinsic value:

Call at expiry=max⁡(S−K,0)Put at expiry=max⁡(K−S,0)

At expiry, delta is +1 (call) or −1 (put) when the option is in the money and 0 otherwise. Every other Greek is 0.

4. The Greeks, per share

The textbook formulas give theta per year, vega per 1.00 of volatility and rho per 1.00 of rate. The lab rescales them to units you can read directly: theta per calendar day, vega per 1 IV point, rho per 1 percentage point of rate.

GreekCallPutLab unit
DeltaN⁡(d1)N⁡(d1)−1$ per $1 stock move
Gamman⁡(d1)SσTsame as calldelta per $1 stock move
Theta−Sn⁡(d1)σ2T−rKe−rTN⁡(d2)365−Sn⁡(d1)σ2T+rKe−rTN⁡(−d2)365$ per calendar day
VegaSn⁡(d1)T100same as call$ per 1 IV point
RhoKTe−rTN⁡(d2)100−KTe−rTN⁡(−d2)100$ per 1% rate

For your position, each Greek is multiplied by the shares you control and by the side of the trade:

Position Greek=s·Q·Greek

Example: a short put (s = −1) has negative delta per share, so the position delta is positive. You gain when the stock rises.

5. Implied volatility (solved, not calculated)

No formula turns a price back into a volatility, so the lab searches for it. It looks for the σ at which the model price equals a known price, using bisection: try the midpoint and keep the half that contains the answer.

findσsuch thatP⁡(S,K,T,σ,r)=target price
  1. Start with low = 0.5% and high = 500%.
  2. Price the option at mid = (low + high) / 2.
  3. If that price is below the target, set low = mid. Otherwise set high = mid.
  4. Repeat 90 times. The answer is (low + high) / 2.

IV at trade uses your fill price, the stock price then and the days left then. IV now uses the option price you enter, with the current stock price and days left. If the target is at or below the price at 0.5%, or at or above the price at 500%, there's no solution. The lab then reports it (at trade) or falls back to IV at trade (now).

6. Intrinsic value, time value and probabilities

Intrinsic (call)=max⁡(S−K,0)Intrinsic (put)=max⁡(K−S,0)Time value=option price−intrinsic value

Time value is floored at $0.

Chance it ends in the money:call=N⁡(d2)put=N⁡(−d2)

This is the risk-neutral probability built into the price, not a forecast of what will happen.

±1 SD move by expiry=S·σ·Trange=S±movedaily move (%)=IV%365move by expiry=σT

The lab uses this simple linear range for readability. A log-normal range, Se±σT, is slightly wider on the upside.

7. Premium and P&L

Net premium (sold)=fill·Q−commissioncash receivedNet premium (bought)=fill·Q+commissioncash paid
P&L at option price P=s·(P−fill)·Q−commission

Includes the opening commission only. A real close adds a second commission and fills at the bid (selling) or the ask (buying), not at the model price.

Share of premium kept (sold)=P&Lnet premiumReturn (bought)=P&Lnet premium

8. Payoff at expiry

The payoff chart uses the P&L formula above with P set to intrinsic value at each stock price. The second, curved line uses the full Black-Scholes price with the days left on your slider.

Breakeven (call)=K+net premiumQBreakeven (put)=K−net premiumQ
PositionMax profitMax loss
Long callUnlimitedNet premium paid
Long putK·Q − net premium paid (stock at $0)Net premium paid
Short callNet premium receivedUnlimited (the stock can keep rising)
Short putNet premium receivedK·Q − net premium received (stock at $0)

9. “What moved the price” breakdown

State 0 is the trade-day inputs (S0, days0, σ0, r0). The scenario is (S, days, σ, r) from your sliders. The lab prices five states, changing one more input each time:

StateInputsBar in the chart
P0S0, days0, σ0, r0 (equals your fill price)At trade
P1S0, days, σ0, r0Time=P1−P0
P2S, days, σ0, r0Stock=P2−P1
P3S, days, σ, r0IV=P3−P2
P4S, days, σ, rRate=P4−P3 (only shown if the rate changed)
Time+Stock+IV+Rate=P4−P0Alone effect=Price(state 0 with only that input changed)−P0Your P&L effect of a step=s·step·Q

The sequence always adds up to the total. The alone effects usually don't, because the inputs interact. Changing the order of the sequence changes how the total is split.

10. Examples on the Greek cards

The examples reprice the full formula instead of using the linear Greek estimate, so they stay correct for large moves. P(·) is the Black-Scholes price, and every other input stays at the slider values.

CardExample shownFormula
DeltaStock up / down $1sQ[P⁡(S+1)−P⁡(S)]
sQ[P⁡(S−1)−P⁡(S)]
GammaDelta after a $1 riseΔ⁡(S+1)
ThetaTomorrow, nothing else changessQ[P⁡(days−1)−P⁡(days)]
VegaIV up / down 5 pointssQ[P⁡(σ+5)−P⁡(σ)]
sQ[P⁡(σ−5)−P⁡(σ)]
RhoRate up 1 pointsQ[P⁡(r+1)−P⁡(r)]

11. Worked example: a FIG put

Short 1 FIG Oct 30, 2026 $19.50 put, sold Sep 23 at $0.72 with a $0.77 commission. Inputs from Oct 15, 2026: S = $22.89, K = $19.50, 15 days, σ = 68.0% (solved from the $0.1715 mark), r = 4%.

StepCalculationResult
T15 / 3650.04110
σT0.68 × √0.041100.13785
d1[ln(22.89 / 19.5) + (0.04 + 0.68² / 2) × 0.04110] / 0.137851.2436
d21.2436 − 0.137851.1058
N⁡(−d1), N⁡(−d2)normal cumulative distribution0.1068, 0.1344
Put price19.5 × e−0.04 × 0.04110 × 0.1344 − 22.89 × 0.1068$0.1716 / share
Intrinsic, time valuemax(19.5 − 22.89, 0); price − intrinsic$0.00, $0.1716
DeltaN(d1) − 1-0.1068 (position +$10.68 per $1)
Gamman(d1) / (S σ √T)0.0583
Thetaper calendar day-0.0191 (position +$1.91 / day)
Vegaper 1 IV point0.0085 (position −$0.85 / point)
Rhoper 1% rate-0.0011 (position +$0.11)
Chance ends in the moneyN(−d2)13.4%
±1 SD range22.89 ± 22.89 × 0.13785$19.73 – $26.05
P&L at model price−1 × (0.1716 − 0.72) × 100 − 0.77+$54.07 (76% of $71.23 kept)
Breakeven at expiry19.5 − 71.23 / 100$18.79

Option Trade Lab shows the same numbers, rounded. IBKR's own Greeks differ slightly because IBKR uses its own volatility and pricing model.

12. What the model leaves out

  • Dividends. No dividend yield is modelled. Dividends lower call prices and raise put prices.
  • Early exercise. US equity options are American style. The model is European, so it can underprice deep in-the-money puts, and calls just before an ex-dividend date.
  • Volatility skew. Real IV differs from strike to strike and expiry to expiry. The lab uses one σ for every stock price on its charts.
  • Trading costs. Bid/ask spreads and closing commissions aren't in the P&L.
  • Day count. Calendar days ÷ 365. Some platforms use trading days ÷ 252, which gives different theta and IV.

Formulas as implemented in Option Trade Lab. For learning, not investment advice.