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.
Black–Scholes as a conditional benchmark
- 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.
- Compute σ√T, then the log-moneyness and rate/variance term to obtain d₁ and d₂.
- Evaluate the normal probabilities and subtract discounted strike contribution from stock contribution.
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- Call and put payoffs versus profit
- A bull call spread caps gains and initial cost
- Put–call parity as identical terminal cash flows
- Replicate a one-step option with stock and cash
- Black–Scholes as a conditional benchmark
- Delta and gamma are local sensitivities
- Cash accounting for a discretely hedged option
- Early exercise compares immediate and continuation value
Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations