Basic Prerequisites: Stochastic Calculus & Itô’s Lemma.


1. Intuition & Practical Objective

This is the complete closed-form lookup page for vanilla European options. The practical objective: one master formula (the generalized BSM with cost-of-carry ) that specializes to every vanilla model - plain stock, index with dividend yield , currency, and futures. Each specialization is a single change of . Every formula and every number below was verified against Haug’s Complete Guide to Option Pricing Formulas (numerically reproduced) and cross-checked against Shreve II Ch 4–5 and Hull Ch 15/17/18.


2. Mathematical Ground Truth & Derivations

2.1 The Generalized Black–Scholes–Merton formula (Haug §1.1.6)

Cost-of-carry dictionary - the entire menu is one variable :

ModelCall
BSM stock (1973), no div
Merton (1973), cont. yield
Black-76 futures/forward (1976)
Garman–Kohlhagen currency (1983)
Asay margined futures (1982)

2.2 Put–Call Parity (Haug §1.2; Shreve II 4.5.29; Hull 18.1) - model-free

Special cases: stock ; continuous yield ; futures ; currency . Parity is a pure no-arbitrage identity - it holds regardless of volatility and even for non-lognormal dynamics.

2.3 Price bounds (Hull 17, 18)

2.4 Interpretation

  • = risk-neutral probability that the option is exercised (Shreve II; Hull 15.8).
  • = discounted expected stock price in the money under .
  • As , a call limits to the forward value (Hull §15.8).
  • American call, no dividends: early exercise is never optimal, so the BSM formula is also the American price (Haug §1.2). American puts and dividend-paying calls need the tree/approximation machinery (Haug Ch 3).

3. Computational Implementation - the full pricing engine

A single function parameterized by , with every specialization verified against Haug’s published numbers. Stdlib only.


4. Failure Modes & First-Principles Breakdowns

  1. Wrong for the instrument. Pricing a currency option with (instead of ) or an index with (instead of ) misprices by exactly the missing / factor. The cost-of-carry dictionary is the first thing to check.
  2. Futures vs forward confusion. Black-76 uses because under a futures price is a martingale (drift zero; Hull 18.6; Shreve II 5.6.6). Conflating it with the forward (which has drift ) changes the drift term.
  3. Dividend handling - yield vs discrete. The form is for continuous yield (index/FX); for known dollar dividends you replace (PV of dividends; Hull 15.12), not use the yield form. Mixing them is a classic error.
  4. Parity is only no-arbitrage, not a model statement. Parity holds for any dynamics; do not read it as evidence the lognormal formula is correct.

5. References

  • Haug, The Complete Guide to Option Pricing Formulas
  • Shreve, Stochastic Calculus for Finance II
  • Hull, Options, Futures, and Other Derivatives

6. Connected Graph Bridges