Inside the Quant Engine: Black-Scholes LP Pricing, Heston Vol, and Why Your APY Estimate Is Wrong

By RangeScout Research · 10 min read · 2026-04-09

Most LP tools estimate APY with a simple volatility * fee formula. RangeScout prices your position as an options portfolio using Black-Scholes, simulates forward paths with Ornstein-Uhlenbeck or Heston stochastic volatility, and tells you the exact vol level that breaks your trade.

Your LP position is a short straddle — price it like one

Every concentrated liquidity position — whether on Uniswap V3, Meteora DLMM, or Orca Whirlpools — is economically identical to selling a put option at your lower range bound and a call option at your upper range bound. The "premium" you collect is the fees earned while price stays in range. The "payout" you owe is the impermanent loss when price breaks out.

This isn't a metaphor. It's a mathematical equivalence first formalized by Guillaume Lambert in 2021 and extended by Milionis et al. in the "Loss-Versus-Rebalancing" paper. If you're providing concentrated liquidity without understanding the options math, you're selling volatility without knowing the price.

RangeScout's Black-Scholes LP Valuation module prices your position exactly this way. For any range [pLower, pUpper] it computes the BS value of the short put and short call, then derives the full Greeks:

Delta — how your position value changes per $1 move in spot price. A neutral delta means your position is balanced; a large negative delta means you're effectively short the asset.

Gamma — the rate of change of delta. Concentrated LP positions are always short gamma, which means large price moves in either direction accelerate your losses. This is the mathematical reason "tight ranges are risky."

Theta — time decay. Because you're short options, theta works in your favor: every day that passes with price staying in range, you earn a small premium just from the passage of time. This is your fee accrual.

Vega — sensitivity to volatility. Short vega means a spike in realized vol hurts your position. This is why vol-of-vol matters and why we model it explicitly with Heston.

Break-even volatility: the number that actually matters

Forget headline APY. The single most important number for any LP position is break-even volatility: the annualized vol level at which your expected IL exactly equals your expected fee income.

If current realized vol is below your break-even vol, you're in the green — fees exceed IL with a safety margin. If it's above, you're guaranteed to lose money over time, and no amount of "harvesting fees" will save you.

RangeScout computes break-even vol for every recommended range using Newton-Raphson iteration on the BS straddle premium. In our testing on live Solana pools, break-even vol ranges from 30-50% for typical DLMM positions — which means assets with realized vol above 50% (most memecoins, many mid-cap tokens) are mathematically unprofitable to LP in tight ranges, regardless of the quoted APR.

We also compute implied volatility from the pool's fee rate: what vol is the market "pricing in" via the fee tier? If implied vol is significantly lower than realized vol, the pool is under-compensating you for the risk. Walk away.

Ornstein-Uhlenbeck for mean-reverting pairs

Geometric Brownian Motion (GBM) is the default price model in almost every DeFi analytics tool. It assumes prices follow a random walk with drift — which is reasonable for ETH or SOL but completely wrong for stablecoin pairs, pegged assets, or any pair that trades around an equilibrium.

For these pairs, Ornstein-Uhlenbeck (OU) is the correct model. OU adds mean-reversion: price is pulled back toward a long-run level μ with speed θ. The half-life (ln(2)/θ) tells you how many days it takes for a deviation to halve — a USDC/USDT pool with a 3-day half-life behaves very differently from one with a 30-day half-life.

RangeScout auto-calibrates OU from your pool's price history using OLS on the discrete AR(1) representation. If the AR(1) coefficient indicates mean-reversion (b < 0.998), we simulate forward paths with OU instead of GBM. The result: tighter range recommendations for stable pairs, because the model knows price will revert rather than random-walk away.

Heston stochastic volatility for everything else

For volatile, trending pairs, GBM's fatal flaw is assuming constant volatility. Real crypto markets exhibit volatility clustering — high-vol days cluster together, and vol itself has vol (the "vol-of-vol" parameter ξ in Heston's model).

The Heston model fixes this with a two-factor system: the asset price follows one stochastic process, and volatility follows its own mean-reverting stochastic process. The two are correlated (parameter ρ), which captures the leverage effect — for most assets, price drops coincide with vol spikes.

RangeScout calibrates all four Heston parameters from your pool's rolling variance: - κ (kappa) — how fast vol reverts to its mean - θ (theta) — long-run variance level - ξ (xi) — vol-of-vol - ρ (rho) — price-vol correlation (typically negative)

The simulation uses Euler-Maruyama with full truncation to keep variance non-negative. The output is a 1,000-path forward distribution that captures fat tails, vol clustering, and regime shifts that GBM completely misses.

Auto-selection happens transparently: the engine checks the AR(1) coefficient of the price series and picks OU or Heston depending on whether the data shows mean-reversion or trending behavior. No manual tuning, no parameter guessing.

Run it yourself

Paste any pool address into [RangeScout](/analyze) and the quant engine runs the full pipeline in under 3 seconds: Black-Scholes valuation with Greeks, auto-calibrated stochastic simulation (OU or Heston), bootstrap Monte Carlo with walk-forward validation, break-even vol, and a complete risk dashboard (Sharpe, Sortino, VaR, CVaR, Kelly criterion).

Every calculation is transparent — no black boxes, no "trust us" APY numbers. You see the model, the parameters, the confidence intervals, and the exact vol threshold that breaks your trade. That's what separates a quant engine from a calculator.

← Back to all posts · Try RangeScout free

Related posts