Methodology
Every number on the desk is computed from on-chain state with the math below. Each formula is typeset exactly as it runs, with a pointer to the source file it lives in, so you can read the model and then read the code.
deepskew fits each expiry with the raw Stochastic-Volatility-Inspired parameterization of Gatheral and Jacquier (2014). Five numbers () define total variance as a function of log-moneyness , and IV follows by annualizing over time-to-expiry in years.
src/lib/svi.tssrc/lib/svi.tsThe fixed-point integers from the indexer are decoded into floats in decodeSvi; the analytic first and second derivatives and feed the arbitrage and density math below.
A surface is shown green only when it leaves no risk-free money on the table. Two conditions are sampled across the log-moneyness grid: a butterfly check on each slice and a calendar check across the term structure.
src/lib/svi.tssrc/lib/svi.tscheckButterfly scans over the grid and returns the minimum and any violations; checkCalendar sorts the slices by and counts crossings between adjacent tenors.
The keystone of the desk: an SVI smile is a continuum of binary prices. The model-fair value of an UP binary at strike (paying 1 above , 0 below) is the risk-neutral probability the underlying finishes above it, a pure function of and the params. Every on-chain mint is scored against this.
src/lib/svi.tssrc/lib/svi.tsOne SVI slice implies a full distribution of where the market prices the underlying ending at expiry, recovered via Breeden-Litzenberger as presented by Gatheral in The Volatility Surface. It is the whole shape, not a single number.
src/lib/svi.tssrc/lib/svi.tsThe headline directional-skew gauges, in vol points. The 25-delta call and put strikes are solved off the smile by inverting , then their IVs are differenced.
src/lib/svi.tssrc/lib/svi.tssrc/lib/svi.tssrc/lib/svi.tsThe PLP vault is the counterparty to every position. The open book is reconstructed per (oracle, strike, side) from minted minus redeemed flow, marked at the model-fair , then aggregated into edge, concentration, and a stress scenario.
src/lib/analytics.tssrc/lib/analytics.tssrc/lib/analytics.ts