# How the Black-Scholes Model Actually Works (and Why It Still Does) ## I. Introduction This post shows how to implement the Black-Scholes model in Python for pricing European call and put options. The goal is to keep everything transparent and reproducible , starting from the analytical formula, moving through Python code, and ending with a few visual insights on how inputs like volatility, strike, and time affect the price. Delta and Vega are included to highlight how sensitive option prices are to changes in the underlying or implied volatility. ## II. Formula The Black-Scholes model gives the theoretical price of a European option based on five inputs: spot price, strike, time to maturity, volatility, and the risk-free rate. The formulas assume no arbitrage, constant volatility, and lognormally distributed returns. $$ d_1 = \frac{\ln(S/K) + (r + \frac{1}{2}\sigma^2)T}{\sigma\sqrt{T}}, \quad d_2 = d_1 - \sigma\sqrt{T} $$ Call option: $$ C = S \cdot N(d_1) - K \cdot e^{-rT} \cdot N(d_2) $$ Put option: $$ P = K \cdot e^{-rT} \cdot N(-d_2) - S \cdot N(-d_1) $$ These formulas are efficient to compute, widely used across trading desks, and serve as a benchmark for more complex models. ## III. Option Price Sensitivities ### Volatility \( sigma \) As volatility increases, both call and put prices rise. This is because higher volatility means a wider potential price range for the underlying, and that increases the likelihood of the option finishing in-the-money. Volatility doesn't affect direction, just magnitude. More uncertainty makes optionality more valuable. ![1](https://hackmd.io/_uploads/BJUKeyEZee.png) ### Strike Price \( K \) For calls, a higher strike means a lower chance of finishing in-the-money, so the price drops. For puts, it’s the opposite: a higher strike increases potential payoff and therefore increases value. Strike price shifts the option’s payoff profile, so price reacts accordingly. ![2](https://hackmd.io/_uploads/HkrWbyVWge.png) ### Time to Maturity \( T \) More time increases the chance for the underlying to move in your favor. This raises the value of both calls and puts. It also means more exposure to volatility, which adds value. The effect is stronger for at-the-money options. ![3](https://hackmd.io/_uploads/ryqNbJ4Zgx.png) ## IV. Option Greeks: Delta & Vega ### Delta Delta measures how much the option price moves when the underlying asset price changes. - Call Delta ranges from 0 to 1. - Put Delta ranges from -1 to 0. It gives a quick sense of directional exposure. Closer to expiry, deep in/out-of-the-money options have Delta close to 0 or 1 (or -1 for puts). ![4](https://hackmd.io/_uploads/HJTTb1Nbgl.png) ### Vega Vega shows how sensitive the option price is to changes in implied volatility. - At-the-money options have the highest Vega. - Deep ITM/OTM options barely react to volatility shifts. This is key when you're trading around earnings or macro events, when implied volatility spikes, Vega is what drives the price. ## Option Greeks: Delta & Vega ### Delta Delta measures how much the option price moves when the underlying asset changes by one unit. - For calls, Delta ranges from 0 to 1. A Delta of 0.7 means the call gains £0.70 if the stock goes up by £1. - For puts, Delta ranges from -1 to 0. A Delta of -0.5 means the put gains £0.50 if the stock drops by £1. Delta also reflects the probability of the option expiring in-the-money under the risk-neutral measure. ![4](https://hackmd.io/_uploads/BySxMJE-xl.png) ### Vega Vega tells you how much the option price changes when implied volatility increases by 1%. - At-the-money options have the highest Vega. - As the option moves deep ITM or OTM, Vega drops off. This matters in events like earnings or rate decisions, when volatility spikes, Vega determines how much the option price reacts. ![5](https://hackmd.io/_uploads/SJL-zJEblg.png) ## V. Summary This post covered the essential components of the Black-Scholes model: - The core pricing formulas for European calls and puts - How option prices react to changes in volatility, strike, and time - Two key Greeks: Delta (price sensitivity) and Vega (volatility sensitivity) The visuals give a clear sense of how each input impacts option value. The goal was to keep it practical, reproducible, and relevant, without oversimplifying the logic behind the model. --- If you’d like the full notebook or script, feel free to reach out.