How to use it
- Enter the current stock price and the strike.
- Enter the days left until expiration.
- Enter the annual volatility, the risk-free rate and, if the stock pays dividends, the dividend yield, all in percent.
How it works
The calculator uses the Black-Scholes-Merton model with a continuous dividend yield q, where T = days ÷ 365:
- d1 = (ln(S/K) + (r − q + σ²/2) × T) ÷ (σ√T), d2 = d1 − σ√T.
- Call = S e^(−qT) N(d1) − K e^(−rT) N(d2).
- Put = K e^(−rT) N(−d2) − S e^(−qT) N(−d1).
- Delta: e^(−qT) N(d1) for the call, e^(−qT) (N(d1) − 1) for the put. Gamma = e^(−qT) φ(d1) ÷ (Sσ√T).
- Vega = S e^(−qT) φ(d1) √T; rho = K T e^(−rT) N(d2) for the call and −K T e^(−rT) N(−d2) for the put.
- Theta is the change of price with time, shown per day.
N is the standard normal distribution and φ its density.
Worked example
Stock 100, strike 100, 365 days, volatility 20%, rate 5%, no dividends. Then T = 1, d1 = (0 + (0.05 + 0.02) × 1) ÷ 0.2 = 0.35 and d2 = 0.15.
- Call = 100 × N(0.35) − 100 × e^(−0.05) × N(0.15) = 63.68 − 53.23 ≈ 10.4506.
- Put ≈ 5.5735. Put-call parity holds: 10.4506 − 5.5735 = 100 − 95.1229.
- Call delta ≈ 0.6368, gamma ≈ 0.0188, vega ≈ 0.3752 per volatility point, call theta ≈ −0.0176 a day.
Tips
- The model assumes constant volatility and rates and lognormal prices. Real prices differ, so treat the result as a reference value.
- A put-call parity check (call − put = S e^(−qT) − K e^(−rT)) is a quick way to spot a typing mistake.
- Not financial advice.