FRM Part I · FRM Exam Part I
Exotic Options: formula sheet
Key formulas
- Vanilla call payoff
- max(S_T − K, 0)
- The benchmark. Compare every exotic with this.
- Vanilla put payoff
- max(K − S_T, 0)
- Depends only on the final price.
- Asian average-price call payoff
- max(S_avg − K, 0)
- S_avg is the average of observed prices. Averaging lowers the effective volatility, so the option is usually cheaper than a vanilla call with the same strike, expiry and underlying. This is a statement about premium, not about payoff on every path.
- Binary (cash-or-nothing) call payoff
- Q if S_T > K, otherwise 0
- Q is the fixed cash amount. The payoff is discontinuous.
- Gap call payoff
- S_T − K₁ if S_T > K₂, otherwise 0
- K₂ is the trigger and K₁ the payoff strike. Payoff can be negative if K₁ > K₂.
- Barrier in-out parity
- Knock-in + knock-out (same strike, barrier, expiry) = vanilla option
- Holds when there is no rebate.
- Exchange option payoff
- max(S₁ − S₂, 0)
- The holder swaps asset 2 for asset 1.
- Gap call price
- c = S0 e^(−qT) N(d1) − K1 e^(−rT) N(d2)
- d1 = [ln(S0/K2) + (r − q + σ²/2)T] ÷ (σ√T); d2 = d1 − σ√T. K2 is the trigger and goes in d1 and d2 only.
- Gap put price
- p = K1 e^(−rT) N(−d2) − S0 e^(−qT) N(−d1)
- Same d1 and d2 as the gap call, using K2. Pays K1 − S_T if S_T < K2.
- Gap call payoff
- S_T − K1 if S_T > K2, otherwise 0
- Payoff can be negative if K1 > K2.
- Forward start option value
- Value today = e^(−qT1) × (value at S0 = 1 of an at-the-money option with life T2 − T1) × S0
- Valid for a strike set at the money at T1, constant volatility and a continuous yield q. Value the option with life T2 − T1 using the same r, q and σ. If there are no dividends, q = 0 and the factor e^(−qT1) equals 1.
- Chooser option at T1
- max(c, p)
- Both options have strike K and expiry T2.
- Chooser decomposition (no income)
- Chooser = c(K, T2) + p(K e^(−r(T2 − T1)), T1)
- Call with strike K and expiry T2, plus a put with expiry T1 and strike K e^(−r(T2 − T1)). Uses max(c,p) = c + max(0, p − c) and put-call parity.
- In-out parity
- Knock-in + Knock-out = Vanilla option
- Applies when both have the same type (call or put), strike, expiry and barrier, and the same rebate treatment (no rebate). Holding both gives exactly the vanilla payoff.
- Knock-in value from parity
- Knock-in = Vanilla − Knock-out
- Use this to find one price when you know the other two.
- Barrier price bound
- Knock-in ≤ Vanilla and Knock-out ≤ Vanilla
- Without rebates, barrier options are never worth more than the matching vanilla option, since both values are non-negative.
- Payoff of knock-out call (barrier never hit)
- max(S_T − K, 0)
- If the barrier is hit at any time, payoff is 0 (plus any rebate).
- Payoff of knock-in call
- max(S_T − K, 0) if barrier hit; otherwise 0
- Same logic for puts with max(K − S_T, 0).
- Barrier starting position
- Down: H < S₀. Up: H > S₀
- If the barrier is already breached at the start, a knock-out is worthless and a knock-in is a vanilla option.
- Cash-or-nothing call payoff
- Payoff = Q if S_T > K; 0 otherwise
- The put pays Q if S_T < K. The payoff is fixed and does not depend on how far the option is in the money.
- Asset-or-nothing call payoff
- Payoff = S_T if S_T > K; 0 otherwise
- The put pays S_T if S_T < K.
- Cash-or-nothing call price (BSM)
- c = Q × e^(-rT) × N(d2)
- The put is Q × e^(-rT) × N(-d2). Here d2 = d1 − σ√T.
- Asset-or-nothing call price (BSM)
- c = S0 × e^(-qT) × N(d1)
- The put is S0 × e^(-qT) × N(-d1). Use q = 0 for a non-dividend stock.
- Vanilla decomposition
- Vanilla call = Asset-or-nothing call − K × Cash-or-nothing call (Q = 1)
- For the put: vanilla put = K × cash-or-nothing put (Q = 1) − asset-or-nothing put.
- Floating strike lookback payoffs
- Call = S_T − S_min; Put = S_max − S_T
- Both are always ≥ 0, so they are always exercised at expiry.
- Fixed strike lookback payoffs
- Call = max(S_max − K, 0); Put = max(K − S_min, 0)
- S_max and S_min are the highest and lowest prices over the monitoring period.
- Average price call and put payoffs
- Call = max(Savg − K, 0); Put = max(K − Savg, 0)
- The average replaces the final price. The strike is fixed.
- Average strike call and put payoffs
- Call = max(ST − Savg, 0); Put = max(Savg − ST, 0)
- The average replaces the strike. The final price is still used.
- Arithmetic average
- Savg = (1/n) × Σ Si
- No exact closed-form price. Use moment matching or Monte Carlo.
- Exchange option payoff
- max(UT − VT, 0)
- Right to give up V and receive U.
- Margrabe formula
- c = U0 × N(d1) − V0 × N(d2); d1 = [ln(U0 ÷ V0) + σ² × T ÷ 2] ÷ (σ × √T); d2 = d1 − σ × √T
- Here σ² = σU² + σV² − 2ρ × σU × σV. Ignores the risk-free rate and dividend yields; with yields, replace U0 and V0 by the yield-adjusted values.
- Basket payoff
- max(Σ wi × Si,T − K, 0)
- Weights wi. Value falls as correlation falls, because basket volatility falls.
- Two-asset basket volatility
- σB² = w1²σ1² + w2²σ2² + 2 × w1 × w2 × ρ × σ1 × σ2
- Applies to returns on portfolio weights. Use it for a rough basket volatility.
- Variance swap payoff
- Payoff = N_var × (σ²_realized − K²_var)
- Use consistent units. N_var is the variance notional; σ²_realized and K²_var must be in the same units (decimals or volatility points squared).
- Volatility swap payoff
- Payoff = N_vol × (σ_realized − K_vol)
- N_vol is the notional per one volatility point. Linear in volatility.
- Vega notional to variance notional
- N_var = N_vega ÷ (2 × K_vol)
- Used when volatility points are quoted. K_vol is the volatility strike in volatility points. Gives the variance notional per point of variance.
- Realized variance (annualized)
- σ²_realized = (252 ÷ n) × Σ rᵢ²
- Daily log returns rᵢ, n observations, mean assumed zero in the market convention. Realized volatility is the square root.
- Variance replication weights
- Option weight at strike K ∝ 1 ÷ K²
- Out-of-the-money puts and calls across all strikes. This is why the fair variance strike comes from the option strip.
- VIX link
- Variance strike ≈ (VIX ÷ 100)²
- VIX is quoted in percentage points for a 30-day horizon. It approximates the fair variance strike.
Quick revision
- Exotics have payoffs that depend on path, barriers, timing, several assets or realized volatility.
- Barrier parity: with no rebate, knock-in plus knock-out with the same barrier, strike and expiry equals the vanilla option.
- Without rebates, a knock-in and a knock-out are each worth no more than the matching vanilla option, and their values sum to the vanilla price.
- Delta and gamma of barrier options can become large and unstable close to the barrier.
- A binary (cash-or-nothing) option pays a fixed amount if the condition holds; its delta spikes near the strike at expiry.
- A gap call pays S − K1 if S > K2, where K2 is the trigger and K1 sets the payoff; the payoff is negative when K1 > K2.
- A floating-strike lookback call pays S_T minus the minimum price over the life, which is never negative. It is worth more than the comparable vanilla European call because it pays S_T minus the lowest price, which is at least as large as any vanilla payoff from buying at the best price in hindsight.
- An average-price Asian option pays on an average price. The average price has lower volatility than the final price, so the Asian option is cheaper than the comparable vanilla option.
- An exchange option gives the right to swap one asset for another; its volatility depends on both volatilities and their correlation.
- A variance swap pays on realized variance minus the strike; a volatility swap pays on volatility, which is not linear in variance.
- Static replication uses a fixed portfolio of vanilla options and avoids frequent rebalancing; dynamic hedging adjusts as markets move.
Common mistakes
- Saying all exotic options are cheaper than vanilla options. Fix: Lookbacks and some others cost more. Judge each feature on whether it adds or removes payoff.
- Treating exotics as exchange-traded. Fix: Remember exotics are mainly OTC and tailored, so liquidity and counterparty risk matter.
- Using K1 in d1 and d2 for a gap option. Fix: Trigger K2 drives the probabilities in d1 and d2. Strike K1 appears only in the K e^(−rT) N(d2) term.
- Assuming a gap option payoff is never negative. Fix: If K1 > K2, the gap call pays S_T − K1 when S_T is above K2, which can be negative.
- Treating a barrier option as alive or dead based only on the final price. Fix: Barrier options are path dependent. Check whether the price touched H at any time before expiry.
- Confusing 'up' and 'down' with in or out. Fix: Read in order: up/down gives barrier position vs S₀; in/out gives activation or cancellation; then call/put.
- Using N(d1) for a cash-or-nothing option. Fix: Cash-or-nothing uses N(d2) as the probability of finishing in the money. Asset-or-nothing uses N(d1).
- Forgetting to discount the cash payoff. Fix: Multiply by Q × e^(-rT). N(d2) alone is a probability, not a price.
- Mixing up average price and average strike options Fix: Ask where the average sits. In average price, it replaces the asset price. In average strike, it replaces the strike.
- Saying an arithmetic Asian option has an exact Black-Scholes formula Fix: Only the geometric average gives a lognormal result. Arithmetic needs approximation or simulation.
Exam tips
- Learn one-line payoffs for each exotic type; many questions reduce to picking the right payoff.
- Always compare with the vanilla benchmark to judge relative price.
- Know the hedging difficulty: barriers and binaries have large delta and gamma near the trigger.
- Expect conceptual wording about OTC, customisation and liquidity; avoid absolute words like always and never.
- Check in-out parity when a question gives two barrier values.
- Check which strike goes where in a gap option: trigger in d1 and d2, payoff strike in the discount term.
- Know the chooser decomposition into a call plus a shorter-dated put and be able to state it.
- Compound options are usually tested conceptually: four types, two strikes, usually a lower upfront premium than the direct option.