ThisCalculator

Everyday

Calculator Option Pricing: How It Works

Updated · Standard formula, shown below

The calculator for this page is switched off while it is checked. The formula is below, and the worked example in the article shows how to use it by hand.

This calculator works out the theoretical price of a European-style stock option using the Black-Scholes model. You enter the current stock price, strike price, time to expiration, risk-free interest rate, and volatility, and you get back the call price, put price, and the option’s Greeks (delta and implied volatility if you adjust inputs). The result is an estimate, not a guaranteed market price, because real markets add supply and demand forces the model ignores.

Formula

The Black-Scholes formula for a European call option is:

C = S · N(d₁) − K · e^(−r·T) · N(d₂)

where d₁ = [ln(S/K) + (r + σ²/2)·T] / (σ·√T) and d₂ = d₁ − σ·√T.

The put price is P = K·e^(−r·T)·N(−d₂) − S·N(−d₁).

Variables:

  • S = current stock price (in dollars)
  • K = strike price (in dollars)
  • T = time to expiration in years (e.g., 0.5 for six months)
  • r = risk-free interest rate (as a decimal, e.g., 0.05 for 5%)
  • σ = volatility (as a decimal, e.g., 0.20 for 20%)
  • N(x) = cumulative standard normal distribution function

The calculator uses the same formula, converting percentage inputs to decimals internally. The first output is the call price, which is the headline answer.

Worked Example

Using the default values from the calculator:

  • S = $100, K = $100, T = 1 year, r = 5% (0.05), σ = 20% (0.20)

Step 1: Compute d₁.

d₁ = [ln(100/100) + (0.05 + 0.20²/2)·1] / (0.20·√1) = [0 + (0.05 + 0.02)] / 0.20 = 0.07 / 0.20 = 0.35

Step 2: Compute d₂.

d₂ = 0.35 − 0.20·√1 = 0.35 − 0.20 = 0.15

Step 3: Find N(d₁) and N(d₂). Using standard normal tables, N(0.35) ≈ 0.6368, N(0.15) ≈ 0.5596.

Step 4: Call price = 100·0.6368 − 100·e^(−0.05)·0.5596 = 63.68 − 100·0.9512·0.5596 = 63.68 − 53.24 = 10.44.

The calculator returns $10.44 for the call price. The put price using the same inputs is $5.57 (via put-call parity), and the delta is 0.637.

When to Use This Calculator

Use this tool when you want a quick theoretical value for a European option (one that can only be exercised at expiration) on a stock that pays no dividends. It is commonly used by students learning derivatives, traders checking if an option is over- or under-priced relative to the model, and investors estimating fair value before entering a position. The model works best for liquid stocks with known volatility, like those in major indices.

It is not suitable for American options (which can be exercised early), options on dividend-paying stocks, or exotic options with barriers or other features. For those, you would need a binomial tree or Monte Carlo simulation.

How to Read the Results

The call price is what the model says a call option should cost. If the market price is higher, the option is expensive relative to the model; if lower, it is cheap. However, the model relies heavily on the volatility input, which is not directly observable. Many traders use the implied volatility (the volatility that makes the model price equal the market price) to compare options.

The delta tells you how much the option price changes for a $1 change in the stock price. A delta of 0.637 means if the stock rises by $1, the call price rises by about $0.64. Delta also approximates the probability of finishing in-the-money, though that is a rough interpretation.

The put price is the value of a protective put. You can also verify the relationship: call − put = S − K·e^(−rT), which is put-call parity.

Common Mistakes and Misconceptions

  • Using percentage as a decimal: The formula expects r=0.05 for 5%, not 5. The calculator handles this, but manual calculations often trip here.
  • Time in years: 30 days is not 1 month; it is 30/365 ≈ 0.0822 years. Using 0.5 for six months is correct, but many use 0.5 for 30 days accidentally.
  • Ignoring dividends: If the stock pays a dividend, the model overprices calls and underprices puts. Adjust the stock price to S·e^(−qT) where q is the dividend yield.
  • Volatility is the hardest input: Historical volatility (from past returns) may not match future volatility. Implied volatility is often used, but it varies by strike (the volatility smile).
  • Assuming the model is exact: The Black-Scholes model assumes constant volatility, no transaction costs, and continuous trading. Real markets violate these, so the price is a starting point, not a final answer.

Limitations of the Black-Scholes Model

The model was developed in 1973 and won the Nobel Prize in Economics, but it has well-known limitations. It assumes the stock price follows a geometric Brownian motion with constant volatility and drift. In reality, volatility changes over time and often exhibits “fat tails” (extreme moves happen more often than the model predicts). This is why market prices often differ from model prices, especially for out-of-the-money options.

The model also assumes a constant risk-free rate, but in practice rates change. For short-term options this is minor, but for long-dated options it can cause noticeable errors. Additionally, the model does not account for jumps (e.g., earnings announcements or crashes).

Despite these flaws, the Black-Scholes model remains the standard benchmark because it is fast, transparent, and gives a closed-form solution. More advanced models, like stochastic volatility models, are used when precision is critical, but they require more inputs and computation.

Frequently Asked Questions

What is the difference between European and American options?

European options can only be exercised at expiration, while American options can be exercised any time before expiration. The Black-Scholes formula works for European options. For American options, early exercise can add value, especially for deep-in-the-money puts, so the price is usually higher than the European price. Use a binomial model for American options.

How do I estimate volatility if I don’t know it?

You can use historical volatility: calculate the standard deviation of daily log returns over a period (e.g., 30 or 60 days), then annualize by multiplying by the square root of 252 (trading days per year). Alternatively, use implied volatility from the market price of a similar option, which reflects the market’s expectation of future volatility.

Why is the put price different from the call price when the stock equals the strike?

Because of the time value of money. The call gives you the right to buy at the strike price, but you could instead invest the money risk-free. The put gives you the right to sell, which has a different payoff. Put-call parity explains the relationship: call − put = S − K·e^(−rT). When S=K and r>0, the call is worth more than the put because the present value of the strike is less than the stock price.

Can I use this for options on indices or futures?

Yes, but you need to adjust for dividends (for indices) or use the Black-76 model for futures options. For index options, treat the dividend yield as a continuous payment. For futures, replace the stock price with the futures price and set the risk-free rate to zero in the formula. Many platforms provide these variations.

What are the Greeks and why do they matter?

Greeks are sensitivity measures: delta (price change per $1 stock move), gamma (delta change per $1 stock move), theta (time decay), vega (price change per 1% volatility change), and rho (price change per 1% interest rate change). They help traders manage risk. This calculator gives delta; you can compute others by taking partial derivatives of the formula.

Is the Black-Scholes price always accurate?

No. It is a theoretical model with assumptions that are often violated. Market prices are influenced by supply and demand, liquidity, and sentiment. The model is best used as a comparison tool, not a prediction of the exact market price. Always check the implied volatility to see if the market agrees with your assumptions.

Related

Formula used
in s | Stock price | $ | 100 | 0
in k | Strike price | $ | 100 | 0
in t | Time to expiry | years | 1 | 0
in r | Risk-free rate | % | 5 | 0
in v | Volatility | % | 20 | 0
out call | Call price | $ | s * exp(-r/100*t) * normcdf((log(s/k) + (r/100 + (v/100)^2/2)*t) / (v/100*sqrt(t)) + (v/100)*sqrt(t)) - k * exp(-r/100*t) * normcdf((log(s/k) + (r/100 + (v/100)^2/2)*t) / (v/100*sqrt(t))) | 2
out put | Put price | $ | k * exp(-r/100*t) * normcdf(-((log(s/k) + (r/100 + (v/100)^2/2)*t) / (v/100*sqrt(t)) + (v/100)*sqrt(t))) - s * exp(-r/100*t) * normcdf(-((log(s/k) + (r/100 + (v/100)^2/2)*t) / (v/100*sqrt(t)))) | 2
out delta | Call delta | - | normcdf((log(s/k) + (r/100 + (v/100)^2/2)*t) / (v/100*sqrt(t))) | 3

Each line is one input (in, sel, list) or one result (out: label, unit, formula, decimals). How the calculators work

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.