How i trade with the Black-Scholes Model:
i built Black-Scholes from SCRATCH six months into my quant journey
the formula everyone learns in school, the one that won Merton and Scholes a Nobel, i figured if it was famous enough to have a Nobel, it was famous enough to trust
that was my first MISTAKE
here's what i actually learned from building it, using it, and losing money with it
---------------
the build:
Black-Scholes takes 5 inputs and outputs an option price, that's stock price, strike price, time to expiry, risk-free rate and volatility
tech stack i used:
> Python 3.11 as the base language
> scipy(dot)stats for the normal cumulative distribution function
> numpy for the vectorized math when i extended it across multiple strikes
> yfinance to pull SPY option chain data for backtesting
> matplotlib for the initial visualization
the entire pricing engine was around 40 lines of Python, i wrote it in a jupyter notebook first, then moved it into a proper module once i started using it for real trades
when i first ran it and compared to real SPY option prices, the model was within 2-3% on liquid at-the-money options with 30-90 days to expiry
i thought i had cracked the CODE
---------------
what actually worked:
pricing accuracy on at-the-money SPY options was solid enough that i could use the model as a reference, not as gospel, but as a check against what the market was showing me
the GREEKS were the real win tho
i extended the code to output all 4 first-order Greeks from the same closed-form formula:
> delta = how much the option moves for a $1 stock move
> gamma = how fast delta itself changes as the stock moves
> theta = the daily cost of holding the position from time decay
> vega = sensitivity to a 1% change in implied volatility
i built a simple streamlit dashboard on top of the pricing engine that showed all 4 Greeks on my open positions in real time, refreshed every 30 seconds against live yfinance data
for the first time i actually understood WHY my positions were moving the way they were
---------------
what broke, expensively:
my first real trade was SPY puts before a Fed meeting
i used 14% historical vol as my sigma, model priced the puts at $2.85, live market at $3.40
implied vol had already jumped to 22% ahead of the print
market dropped 2% like i expected, my model P&L said i should be up 60%, i closed up 28%
IV CRASHED from 22% to 13% the moment the Fed resolved, my puts lost the vega premium even though the direction was right
lesson: Black-Scholes assumes constant vol, real markets don't work like that
the other assumptions broke too:
> log-normal returns fail on tail events, this is why the vol smile exists
> no-dividends assumption cost me on ex-dividend dates, my code didn't adjust for it
> frictionless markets are a joke, my real fills were 5-10% worse than mid-price
---------------
how i actually trade with it now:
i stopped using Black-Scholes to price options, i use it to read the market
the gap between my model price and the market price is implied vol vs my assumption, that's INFORMATION, not a mispricing to fade
example: model says $2.85 using 14% vol, market says $3.40, market is implying 22% on that strike
then i decide with vega:
> if 22% looks too high going into an event, i short vega through a spread
> if 22% still looks cheap, i buy vega
> i never trade the gap as a pure mispricing
the Greeks are what i actually check before every trade:
> delta: my directional exposure across the book
> gamma: how fast delta changes on big moves, i size smaller when gamma is high
> theta: daily cost or income from time decay
> vega: my volatility exposure, i cut this before earnings and Fed meetings
---------------
the honest breakdown:
Black-Scholes is not a trading model, it's a FRAMEWORK for understanding options
the formula prices options for a market that doesn't exist, no jumps, no vol changes, no dividends, no slippage
but the intuition it gives you about Greeks is priceless
build it once from SCRATCH in Python, price a few real options against the market, then watch it break on your first real trade
that's how you actually learn options
for serious pricing you eventually move to Heston, but that's a rabbit hole for another post
use Black-Scholes for the Greeks, read the price gap as implied vol, trade with vega instead of against the model
Show more