Trading Dev AcademyFree quant education

Free lesson · Options

Black–Scholes as a conditional benchmark

Open interactive lessonPractice calculationsExplore labs

Start with the idea

A pricing formula summarizes a particular replication model; its numerical precision does not make its assumptions true.

Symbols, units & horizon
  • C: European call price in currency per unit
  • S₀,K: positive spot and strike in matching units
  • r: continuous annual rate
  • T>0: years
  • σ>0: annualized log-return volatility fraction per square-root year
  • Φ: standard normal cumulative distribution
  • d₁,d₂: dimensionless standardized thresholds

When and why to use this

Create a transparent European pricing and quote-comparison baseline.

A pricing formula summarizes a particular replication model; its numerical precision does not make its assumptions true.

The European call benchmark assumes constant volatility and rate, lognormal continuous stock dynamics, no dividend, continuous frictionless trading and the ability to finance the hedge. Actual smiles and discrete hedge losses expose these assumptions.

Use the model for quote conventions, sensitivities and a reproducible baseline. Volatility input may come from a market price inversion or a physical forecast; those choices answer different questions.

C=S0Φ(d1)−Ke−rTΦ(d2),d1=ln⁡(S0K)+(r+σ22)TσT,d2=d1−σT
Risk-neutral lognormal integration under Black–Scholes assumptions; numerical normal probabilities

Black–Scholes as a conditional benchmark

  1. Under risk-neutral lognormal dynamics integrate the discounted positive payoff over prices above strike. The cash indicator integral gives Φ(d₂), and the stock-weighted integral gives Φ(d₁). This is a model-dependent calculus result.
  2. Compute σ√T, then the log-moneyness and rate/variance term to obtain d₁ and d₂.
  3. Evaluate the normal probabilities and subtract discounted strike contribution from stock contribution.
Work it by hand

S₀=K=100, r=0, T=1, σ=.2: d₁=.1 and d₂=−.1. Φ(.1)≈.53982784 and Φ(−.1)≈.46017216, so C≈7.96556746.

Apply it in a strategy

  • Freeze inputs at the stated decision time and record their units.
  • Create a transparent European pricing and quote-comparison baseline.
  • Recompute the example, then change the material assumption and explain the difference.

Research deliverable

Black–Scholes as a conditional benchmark: produce the worked calculation, a timestamped input record and a written decision addressing this limitation: Constant volatility, continuous hedging and European exercise can materially misrepresent actual contracts and hedge costs.

These are synthetic mechanics examples, not historical performance or paper replications. Module evidence and research boundaries record the 12 September 2026 review.

Python implementation

Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.

# Python 3.10+; standard library and NumPy only.
# Synthetic teaching inputs; conventions and units are defined in the notation above.
from math import exp,log,sqrt,erf

def european_call(spot,strike,rate,years,vol):
    if min(spot,strike,years,vol)<=0: raise ValueError('Positive spot, strike, horizon and volatility required')
    normal=lambda x:.5*(1+erf(x/sqrt(2)))
    d1=(log(spot/strike)+(rate+vol*vol/2)*years)/(vol*sqrt(years))
    d2=d1-vol*sqrt(years)
    return spot*normal(d1)-strike*exp(-rate*years)*normal(d2)

assert abs(european_call(100,100,0,1,.2)-7.9655674554)<1e-8
print(european_call(100,100,0,1,.2))

Continue learning

Options: Payoffs, Replication & Hedge Accounting — all lessons
  1. Call and put payoffs versus profit
  2. A bull call spread caps gains and initial cost
  3. Put–call parity as identical terminal cash flows
  4. Replicate a one-step option with stock and cash
  5. Black–Scholes as a conditional benchmark
  6. Delta and gamma are local sensitivities
  7. Cash accounting for a discretely hedged option
  8. Early exercise compares immediate and continuation value

Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations