Black-Scholes Formula and European Option Pricing › Option Price Sensitivity to Inputs
Quantitative FinanceAll chapters Black-Scholes Formula and European Option Pricing › Option Price Sensitivity to InputsOne section · Sections in this chapter6 / 11 ↓
Reading tools Definitions & inline links
Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.
Article links
Make inline references clickable
Let's visualize how option prices change with stock price, volatility and remaining maturity, holding the other inputs fixed. These examples build intuition for the Greeks introduced later in this chapter.
# Calculate price sensitivity to spot price
spot_range = np.linspace(70, 130, 100)
calls_by_spot = [black_scholes_call(s, K, T, r, sigma) for s in spot_range]
puts_by_spot = [black_scholes_put(s, K, T, r, sigma) for s in spot_range]
The curves show the characteristic "hockey stick" shape approaching expiration, but smoothed by time value. Notice how both options have positive value even when out-of-the-money. This is the time value component.
# Calculate price sensitivity to volatility
vol_range = np.linspace(0.05, 0.60, 100)
calls_by_vol = [black_scholes_call(S, K, T, r, v) for v in vol_range]
puts_by_vol = [black_scholes_put(S, K, T, r, v) for v in vol_range]
With and the rate fixed, the call price approaches as volatility tends to zero and approaches as volatility increases without bound. Thus a price strictly between those limits has one finite positive implied volatility. For a put, the corresponding open interval is between and . At a boundary, outside these intervals, or at expiry, a finite positive implied volatility is not guaranteed. The rate must also be selected using an appropriate discount curve and convention.
# Calculate price sensitivity to time
time_range = np.linspace(0.01, 1.0, 100)
calls_by_time = [black_scholes_call(S, K, t, r, sigma) for t in time_range]
puts_by_time = [black_scholes_put(S, K, t, r, sigma) for t in time_range]
In this example, the call falls as expiration approaches, while the put rises slightly near expiration. Both prices converge to their intrinsic payoffs as remaining maturity tends to zero, but not necessarily monotonically. Theta measures the local calendar-time change with other inputs held fixed.
