Module: lib/option_value.py
Values outstanding employee stock options using a dilution-adjusted Black-Scholes model. The resulting value is subtracted from equity in the DCF equity bridge.
Why dilution adjustment matters
Standard Black-Scholes assumes exercising one option doesn’t affect the stock price. But when employees exercise millions of options, new shares are issued, diluting existing shareholders. The dilution-adjusted model accounts for this by reducing the per-option value based on the ratio of options to total shares.Key functions
option_value(stock_price, strike, maturity, volatility, risk_free, dividend_yield, shares, options_count)
Computes the total value of all outstanding employee options.
Parameters:
stock_price— current market price per sharestrike— weighted average exercise pricematurity— weighted average years to expirationvolatility— annualized stock price volatility (standard deviation)risk_free— risk-free ratedividend_yield— annual dividend yieldshares— shares outstanding (basic)options_count— number of options outstanding
dilution_factor(shares, options_count)
Computes the dilution adjustment: shares / (shares + options).
black_scholes_call(S, K, T, r, sigma, q)
Standard Black-Scholes call option pricing (before dilution adjustment).
Data source
Option data (count, weighted average strike, weighted average maturity) is extracted automatically during the parse-raw-data-to-filings phase from XBRL tags and saved tooptions_flag.json in the ticker cache. If no option data is found in XBRL filings, the equity bridge skips the option deduction.