Forward Volatility · Paper I

Static Hedges, Model-Free Pricing, and the Missing Forward

Sections: Introduction · Volatility Curves and the SVI Fitting Algorithm · From Prices to Densities and Back · Probability Densities and Quasi-Arbitrage · The Forward Probability Density · The Fundamental Equation

Introduction

Forwards are model-free. Forward contracts are among the most fundamental instruments in financial markets. Across equities, currencies, interest rates, and commodities, the forward price of an asset at a future date is not merely a theoretical construct — it is a market observable, recoverable from traded instruments and achievable through static hedging strategies that require no model assumptions whatsoever.

The mechanisms are well established. Equity and currency forwards follow directly from cash-and-carry arguments: buy the asset, finance the purchase, and the forward price is determined by the spot price, the cost of carry, and the time to delivery. Commodity forwards are observed through liquid futures markets. Forward interest rates are implied by the current term structure of rates instruments — swaps, bonds, and deposits — via straightforward no-arbitrage relationships. In each case, the forward level can be locked in today through a static position in available instruments, with no dependence on any stochastic model for the underlying asset's dynamics.

A crucial consequence of this model independence is universal agreement on valuation. Because forward prices are pinned down by arbitrage and observable market data, different market participants — using different models, different calibrations, different views on future distributions — will nonetheless agree on the forward level, up to minor frictions that are immaterial for risk management purposes. This transparency is not incidental; it is the very property that makes forwards so useful as the foundation of risk analysis.

Forwards are the center of risk management. In standard risk management practice, one evaluates a portfolio's exposure at some future horizon — typically one month or one quarter — by computing risk metrics around the forward values of the portfolio's constituents. The forward prices serve as the central projection: the arbitrage-consistent expectation of where each asset will trade at the horizon date. Scenario analysis, value-at-risk, stress testing, and Greeks at horizon are all computed as perturbations relative to this forward center.

The transparency of forward levels ensures that these risk calculations are consistent across firms. Two institutions holding the same portfolio and using the same horizon will, by construction, agree on the central point of their risk distributions, even if they differ in the tails. This consistency is a direct inheritance of the model-free, statically hedgeable nature of forward prices. In short, one can compute at the horizon essentially everything one computes on the portfolio today — with the forwards providing a universally agreed-upon anchor.

The missing forward: options and volatility. There is, however, one major asset class for which this framework has appeared to break down: options. While the forward price of an equity or a currency is transparent and model-free, the forward level of volatility — the volatility surface that should prevail at some future date — has traditionally been regarded as inherently model-dependent. To say anything about where implied volatilities will be in one month, one seemingly needs a stochastic volatility model, or at minimum some assumption about the dynamics of the implied volatility surface. Different models yield different forward volatilities, and the universal agreement that characterizes other forward markets is lost.

The remainder of this paper develops the transparent, model-free machinery that closes this gap. "Volatility Curves and the SVI Fitting Algorithm" fits a smooth implied-volatility curve to quoted option prices; "From Prices to Densities and Back: The Breeden–Litzenberger Round Trip" establishes the exact dictionary connecting that curve, a call-price curve, and a risk-neutral density; and the sections that follow use both to construct the forward probability density and the static hedge — the Fundamental Equation — that locks in a forward implied volatility, exactly as a cash-and-carry forward locks in a forward price.

Volatility Curves and the SVI Fitting Algorithm

Market implied volatilities are observed at a discrete set of strikes — or equivalently, at a discrete set of option deltas. To work analytically with the implied volatility surface, and in particular to extract smooth probability densities via Breeden–Litzenberger, we require a continuous and well-behaved functional form fitted to these observations. We use the 1SVI (Stochastic Volatility Inspired) parameterization, introduced by Gatheral.2

The emphasis on Inspired is important. SVI is not a stochastic volatility model. We do not assume any process for volatility, impose any dynamics on the implied volatility surface, or make any model-dependent assertions about how the surface evolves. SVI is simply a flexible functional form for the implied variance as a function of log-moneyness k, chosen because it has the right qualitative characteristics:

Tail behavior. The SVI variance curve is asymptotically linear in k as k→±∞, consistent with the Roger Lee moment formula and the general no-arbitrage constraints on the wings of the smile.4

ATM convexity. Near k = 0, the parameterization is flexible enough to capture the curvature of the smile — the vol-of-vol effect that causes implied volatility to be convex in strike around the money.

The SVI total implied variance w(k) = σ²(k)·T is given by

w(k)  =  a  +  b{ ρ(k − m)  +  √((k − m)² + σ²) }

with five parameters (a, b, ρ, m, σ).

Inputs. For each expiry, we fit SVI to nine key delta points: the 10, 20, 30, 40, 50, 60, 70, 80, and 90 delta strikes. These are the standard reference points at which broker and exchange data is most reliably quoted and liquid. Each delta corresponds to a strike via the Black-Scholes delta map, and from each strike we read the market-implied volatility.

The fitting algorithm. The five SVI parameters are determined by minimizing the root-mean-squared error between the SVI-implied volatility curve and the observed volatilities at the nine delta points, via a grid search over the five-dimensional parameter space. The grid is initialized with ranges calibrated to the expiry — shorter-dated fits use tighter parameter ranges reflecting the steeper, more constrained skew typical of near-term options.

Figure 1 below is interactive: it runs the fitting algorithm live against five months of real SPX daily data. Choose an observation date to see that day's nine market-quoted points (orange) against the SVI curve fit through them (line). The fit is consistently excellent across the body of the smile; the largest residuals tend to appear at the far wings, where market data is thinnest and the no-arbitrage constraints are most binding.

Fitting the SVI curve to the market

Every listed expiry on the chosen date, each dot a market-quoted implied vol and each line its SVI fit. Click a chip below to hide/show that expiry.
Drag across the chart to zoom in; double-click to reset.

Figure 1 — Live SVI fit against real SPX market quotes, by observation date (Feb–Jul 2026 dataset), all listed expiries shown together. Click a chip to isolate or hide an expiry. Drag to zoom; double-click or use the reset button to return to full view.

No-arbitrage constraints on the parameters are available and can be enforced, but in practice they can be over-restrictive — penalizing fits that are economically sensible but technically violate a sufficient condition for the absence of butterfly arbitrage.

The output of this step is an analytical implied volatility curve σ(k) at each expiry — smooth and defined for all k — from which the risk-neutral density p(k) = e−k [∂²c/∂k² − ∂c/∂k] can be computed analytically (the e−k prefactor is the log-moneyness Jacobian, derived in full in "From Prices to Densities and Back" below). This is a crucial advantage: by beginning with a smooth, analytical representation of the input volatility curves, we ensure that the densities p₁ and p₂ fed into the FFT pipeline are free of the numerical noise and discretization artifacts that would otherwise corrupt the deconvolution step. The forward probability density p₁₂, recovered numerically via the FFT and IFFT, inherits this stability — the quality of the numerical output is only as good as the quality of the analytical input.

From Prices to Densities and Back: The Breeden–Litzenberger Round Trip

Before fitting anything, it is worth being explicit about the two-way relationship the rest of this paper relies on: given a curve of call prices, how do we recover a probability density, and given a density, how do we recover the call prices it implies? Both directions are used throughout — the first to extract p₁ and p₂ from quoted option markets, the second every time a fitted density is priced back into a call curve as a consistency check.

Start with why differentiating a call-price curve twice produces a density at all. As its width shrinks to zero, a butterfly spread's payoff — a narrow spike (triangular) or a narrow flat-topped bump (digital) centered at a strike — converges, in the distributional sense, to a Dirac delta function: a payoff of $1 if the terminal spot lands exactly at that point, and $0 everywhere else. A continuum of such delta-function bets, one at every strike, is enough to price any payoff — replicate the payoff as a weighted sum of delta functions, and its price is the same weighted sum of butterfly prices. The risk-neutral density is nothing more than this weighting function: its value at a point, times a small width, is the market price of the bet "the spot lands within that width of here." Breeden–Litzenberger is the rule for reading that weighting function off a quoted call curve; the reverse direction is the rule for pricing a call off it.

In strike space. Writing K for strike normalized by the forward (K=Strike/F, so that C(K) is the undiscounted call price per unit of forward) and Q(K) for the risk-neutral density in K (∫Q(K) dK=1), the classic Breeden–Litzenberger formula recovers the density from the price curve by differentiating twice — literally the continuum limit of a discrete symmetric butterfly, divided by its width squared: Q(K) ≈ [C(K−dK) − 2C(K) + C(K+dK)] / dK², so that

Q(K)  =  ∂²C/∂K².

The reverse direction — price from density — integrates instead of differentiating, and is exactly the statement that a call is the expected value of its payoff under the risk-neutral density:

C(K)  =  ∫K∞ (S−K) Q(S) dS.

The two are literal inverses of each other — differentiate the second equation twice with respect to K and the first falls out; integrate the first twice and the second falls out. Nothing here involves log-moneyness; this is Breeden–Litzenberger in its cleanest form, entirely in strikes.

The one fact needed to carry this into log-moneyness. This paper works in log-moneyness k=ln(K/F) — i.e. K=ek — because that is where the convolution identity p₂=p₁₂∗p₁ is clean (used throughout "The Forward Probability Density" section below). But K=ek is an exponential reparametrization, not a linear one, and its differential is exact:

dK  =  ek dk.

Defining p(k). Write p(k) dk for the density in log-moneyness, defined so that it preserves probability mass under the change of variables: p(k) dk := Q(K) dK. This is the p(k) used throughout the rest of this paper (and p₁, p₂, p₁₂ for the specific densities in "The Forward Probability Density" section below). Substituting dK=ekdk gives p(k) = K Q(K) = ekQ(ek) — note this is not the same as simply evaluating Q at K=ek with no adjustment; the ek factor is required for p(k)dk to integrate to 1 over k the way Q(K)dK integrates to 1 over K.

Density from price, in log-moneyness. Working through the chain rule on C(K)=c(k) (with c(k):=C(K)/1, and using K² ∂²C/∂K² = ∂²c/∂k² − ∂c/∂k, the log-moneyness form of the same second-derivative operator) gives

p(k)  =  K Q(K)  =  e−k [ ∂²c/∂k² − ∂c/∂k ].

The e−k prefactor and the extra −∂c/∂k term are not independent corrections layered onto the strike-space formula — both are the single Jacobian dK=ekdk, encountered once when converting a second derivative from K to k. This is exactly what the live SVI fits in this paper compute: the analytic density code multiplies by e−k explicitly, term for term with the formula above.

Price from density, in log-moneyness. Substituting S=ex into the strike-space integral above turns it into the same expected-payoff statement in log-moneyness:

c(k)  =  ∫k∞ (ek′−ek) p(k′) dk′.

This is exactly what the live tool suite computes whenever a fitted density needs to be priced back into a call curve — the discrete Riemann-sum version of this integral, evaluated against the same p(k) grid the SVI fit produces, is how every call-price check in this paper (including Figure 4 below) is actually computed.

With both directions established, the rest of this paper moves freely between implied-volatility curves, call prices, and densities: the SVI fit in the previous section is exactly the c(k)/C(K) curve this section has been calling generic, and its p(k) formula (above) is this round trip's density-from-price direction applied to that specific fit; the forward density construction two sections ahead inverts a convolution built entirely out of these same c(k)/p(k) pairs; and "The Fundamental Equation" section at the end applies this same Jacobian fact twice more — once to a butterfly built directly in k, and once to the density that prices a forward call.

Probability Densities and Quasi-Arbitrage

Every point on the risk-neutral probability density p(k) has a direct interpretation in terms of traded instruments. Recall that p(k) dk is the price of an infinitesimal butterfly spread centered at log-moneyness k: three options equally spaced in strike — long one at K−dK, short two at K, long one at K+dK, where K=Fek — in the limit as dK→0. (Equal spacing in strike, not in k, matters here: the "Fundamental Equation" section below works out exactly what changes if the three strikes are instead equally spaced in log-moneyness, which turns out not to be the same butterfly.) Since a butterfly has a non-negative payoff at expiry, its price must be non-negative in the absence of arbitrage. Therefore p(k)≥0 for all k is a necessary condition for the options market to be free of butterfly arbitrage. Wherever the density goes negative, there exists a static position — a butterfly spread — that costs a negative amount today and pays off non-negatively at expiry. This is a pure arbitrage, and it is directly readable from the shape of the density curve.

Quasi-arbitrage. The absence of negative densities is a necessary but not sufficient condition for the market to be free of exploitable mispricings. Even when p(k)>0 everywhere, the shape of the density can give rise to what we call quasi-arbitrage: static trades that carry a capped maximum loss and a significant positive expected value under a wide range of probabilistic assumptions.

The Envelope. To identify these opportunities systematically, we introduce the Envelope — the pointwise supremum of the lognormal density family over all volatility levels:

env(k)  =  supσ>0  n(k; σ),

where n(k; σ) is the lognormal density at flat (total) volatility σ. The supremum is achieved at

σ*(k)  =  √( 2( √(1+k²) − 1 ) ),

giving

env(k)  =  (1 / σ*(k)) · φ(d₂),    d₂  =  −(k + ½σ*(k)²) / σ*(k),

where φ denotes the standard normal density and σ*(k) is the volatility that achieves the supremum at each k. Because it is a supremum over total-volatility lognormals, the Envelope is expressed directly in k-space with no separate time-to-expiry factor. The envelope is highest near k=0 and decays in both tails, forming an upper boundary that no single lognormal density can exceed at any point. Any market-implied density that rises above it is assigning more probability mass at that strike than any flat-vol lognormal model could justify.

Illustration: the SPX T₁ density. Figure 2 shows the risk-neutral density p(k) for the selected SPX expiry (navy), the envelope (orange), and a family of lognormal densities at flat vols of 5%, 10%, 20%, 30%, and 40% (grey dashed). Each flat-vol curve lies everywhere below the orange envelope by construction. Where the navy PDF rises above the envelope — the green highlighted region — the market is assigning more probability mass to those strikes than any flat-vol lognormal model can justify. Choose an observation date and expiry to see where that happens; the caption, the statistics beneath the chart and Table 1 below all recompute from the same fit.

Figure 2 — the market density against the lognormal envelope

The envelope is the pointwise supremum of the flat-vol lognormal densities: no single lognormal, at any volatility, can lie above it anywhere. Where the fitted market density crosses it, the market is pricing more probability into those strikes than any lognormal model admits.

The area under p(k) over any interval [ka,kb] is the price of the digital call spread over that interval — the risk-neutral probability of the spot landing in that range. The green area ∫(p(k)−env(k))+ dk therefore represents the amount by which the market price of the digital call spread over the quasi-arbitrage region exceeds the maximum value that spread could have under any lognormal model, regardless of the volatility assumed. The maximum loss on the trade is bounded by the payoff of the spread itself, which is capped.

Quasi-arbitrage table. Table 1 quantifies the opportunity for the region currently highlighted. For each flat-vol scenario it shows the lognormal probability of the spot landing in that region — the fair value of the digital call spread under that assumption — and the resulting expected value, premium minus fair value. A positive figure in every row means the trade carries positive expected value under any of these volatility assumptions, not merely under a favourable one.

Volatility assumptionLognormal probabilityExpected value

Arbitrage by a thousand paper cuts. Quasi-arbitrage opportunities — static trades with a capped maximum loss and high expected value relative to that cap — can take many forms. The more such trades one can identify and execute, the better the aggregate risk profile. Provided the trades are sufficiently independent, the law of large numbers works in the trader's favor: the positive expected value of each position accumulates while the idiosyncratic risks diversify away. In the limit of many independent quasi-arbitrage positions, the portfolio converges to a near-certain profit. This is why the ability to identify quasi-arbitrage opportunities in a disciplined, model-free way is of significant practical value even when any single trade carries meaningful risk.

The Forward Probability Density

We have in hand two risk-neutral densities, p₁(k) and p₂(k), extracted from the T₁ and T₂ implied volatility smiles. We now seek a third density — the forward probability density p₁₂(k) — which describes the risk-neutral distribution of log-returns over the forward period (T₁, T₂) alone.

The natural condition to impose is the Markov property: the distribution of ST₂ given ST₁ depends only on ST₁, not on the path taken to reach it. Under this condition, the T₂ density must be recoverable from the T₁ density and the forward density by the Chapman–Kolmogorov relation:

p₂(k)  =  ∫−∞∞ p₁₂(k−k′) p₁(k′)  dk′.

This is the fundamental equation of the paper. It says that to land at log-moneyness k at T₂, the market must first move to some intermediate level k′ by T₁ — with probability p₁(k′) — and then move a further k−k′ over the forward period — with probability p₁₂(k−k′). Integrating over all possible intermediate levels k′ gives p₂(k).

Convolution. The integral on the right-hand side is a convolution. We write it compactly as

p₂  =  p₁₂ ∗ p₁,

where the ∗ operator denotes (f∗g)(k) = ∫ f(k−k′) g(k′) dk′.

The Fourier transform and its inverse. The Fourier transform of a density p(k) is its characteristic function φ(ξ), defined by

φ(ξ)  =  F{p}(ξ)  =  ∫−∞∞ e−iξk p(k) dk.

The original density is recovered from its characteristic function by the inverse Fourier transform:

p(k)  =  F−1{φ}(k)  =  (1/2π) ∫−∞∞ eiξk φ(ξ) dξ.

The Fourier approach. The Fourier transform converts convolutions into pointwise multiplications. Specifically, if φ₁(ξ), φ₂(ξ), and φ₁₂(ξ) are the characteristic functions of p₁, p₂, and p₁₂ respectively, then the convolution equation p₂=p₁₂∗p₁ becomes simply

φ₂(ξ)  =  φ₁₂(ξ) · φ₁(ξ),

which immediately yields the forward characteristic function by division:

φ₁₂(ξ)  =  φ₂(ξ) / φ₁(ξ).

The forward density p₁₂ is then recovered by applying the inverse Fourier transform to φ₁₂.

Example: flat volatility. To verify the framework and build intuition, we work through the case of flat implied volatility — σ₁ and σ₂ constant across all strikes. In this case p₁ and p₂ are Gaussian (with the usual Itô mean correction). We use the key fact that the Fourier transform of a Gaussian is a Gaussian. Specifically, if we denote by n(k; v) a zero-mean Gaussian density with variance v, then

F{n(·; v)}(ξ)  =  e−½vξ².

With flat vols we have p₁=n(·; σ₁²T₁) and p₂=n(·; σ₂²T₂), so

φ₁(ξ)  =  e−½σ₁²T₁ξ²,    φ₂(ξ)  =  e−½σ₂²T₂ξ².

Dividing:

φ₁₂(ξ)  =  φ₂(ξ)/φ₁(ξ)  =  e−½(σ₂²T₂−σ₁²T₁)ξ².

This is again a Gaussian characteristic function, with variance σ₂²T₂−σ₁²T₁. Inverting, the forward density is

p₁₂  =  n(·; σ₂²T₂−σ₁²T₁),

which we can write as n(·; σ₁₂² ΔT) where the forward volatility σ₁₂ is defined by

σ₁₂² ΔT  =  σ₂²T₂ − σ₁²T₁.

This is precisely the textbook forward variance formula — reassuring confirmation that the framework is consistent with the standard result in the flat-vol case.

This example also illuminates a general and important regularity property. Since T₂>T₁, we have σ₂²T₂>σ₁²T₁ in the absence of arbitrage, so φ₂ decays faster than φ₁ as ξ→∞. Concretely:

φ₂(ξ)/φ₁(ξ)  =  e−½(σ₂²T₂−σ₁²T₁)ξ²  →  0  as ξ→∞,

so φ₁₂ decays to zero at both ends of the frequency axis — exactly as a well-behaved characteristic function should. In the general non-flat case this requires light smoothing, confirmed by convolution, as discussed in the next section.

Numerical implementation. In practice, p₁ and p₂ are known numerically on a discrete grid in k-space, and the Fourier transform and its inverse are computed via the Fast Fourier Transform (FFT) and its inverse (IFFT) — one of the most powerful numerical techniques in our toolbox. The pipeline is:

1.  Compute φ₁=FFT(p₁) and φ₂=FFT(p₂).
2.  Form φ₁₂=φ₂/φ₁.
3.  Recover p₁₂=IFFT(φ₁₂).

There are important numerical considerations at each step — in particular, the division in step 2 requires care where φ₁(ξ) is small, which may occur at intermediate frequencies when p₁ is smooth; the convolution check in the next section is the practical test of whether that care was sufficient — and of whether it went too far. Damping or regularization heavy enough to tame the division also smooths p₁₂ itself, and a p₁₂ that has been smoothed too hard no longer reconvolves with p₁ to reproduce p₂. The check fails at both ends: too little care and the noise from small φ₁(ξ) survives into the forward density, too much and the signal does not.

Figure 3 below is interactive: it runs this pipeline live against the same five months of real SPX data as Figure 1. Choose an observation date and two listed expiries T₁ (near) and T₂ (far) — defaulted to the first two terms by term-structure position — and the widget fits SVI to each, builds each analytical risk-neutral density via Breeden–Litzenberger, and recovers the forward density p₁₂. For numerical stability the widget prefers a regularized construction — an analytic SVI fit to the forward density itself — falling back to the raw FFT deconvolution derived above only when that regularized construction is not available for a given date/term pair; the note beneath the chart reports which path was used. Each of the three curves is plotted in its own natural log-moneyness frame k=ln(K/F) using that leg's own forward F; internally, recovering p₁₂ requires resampling p₂ onto p₁'s frame first (a small drift shift, ln(F₂/F₁)), the numerical analogue of the k−k′ argument in the Chapman–Kolmogorov relation above.

A toggle above the chart switches between two views of the same underlying fits. Densities p(k) shows p₁, p₂, and the recovered p₁₂ as described above. Implied vol σ(k) shows the corresponding three curves in vol space: σ₁ and σ₂ are the market-fitted SVI curves p₁ and p₂ were built from in the first place — the same curves Figure 1 fits, restricted to this pair's two expiries — and σ₁₂ is the implied vol of the forward density p₁₂ itself. Unlike σ₁ and σ₂, σ₁₂ is not read off a quoted market smile — there is no market that trades the forward directly — but it is nonetheless well defined and computed directly from p₁₂: price calls off the density and Black–Scholes-invert each price at time-to-expiry T₂−T₁, the forward period. Plotting all three together makes it easy to see how the shape of each smile (skew, curvature, term structure) propagates into the shape of the forward smile and the forward density alike.

The forward density p₁₂(k), extracted by deconvolution

Pick an observation date and two listed expiries T₁ < T₂. p₁(k) and p₂(k) come from the same live SVI fits as Figure 1; p₁₂(k) is recovered from them by dividing characteristic functions and inverting.
Drag across the chart to zoom in; double-click to reset.

Figure 3 — Live forward-density recovery against real SPX market quotes. p₁(k) (teal), p₂(k) (plum), and the deconvolved forward density p₁₂(k) (orange), each in its own native log-moneyness frame. Use the toggle above the chart to switch to the corresponding implied-vol view, including σ₁₂(k), the forward density's own implied vol. Click a chip to isolate or hide a curve. Drag to zoom; double-click or use the reset button to return to full view.

The proof is in the pudding: reconstructing p₂ by convolution

The most direct test of the pipeline above is the convolution identity itself: if p₁₂ has been correctly recovered, then (p₁₂ ∗ p₁)(k) should reproduce p₂(k) to high accuracy. This is the numerical proof that dividing and inverting characteristic functions actually recovered a valid forward density — it is also, notably, not a test of whether p₁₂ looks like a typical density. An unusual-looking p₁₂ — bimodal, skewed, or otherwise unexpected in shape — is not by itself evidence of a problem; what matters is that convolving it back with p₁ returns p₂.

Because convolution requires both densities on a shared numerical grid, this check runs in T₁'s own log-moneyness frame k₁=ln(K/F₁) throughout — unlike Figure 3 above, which re-expresses each curve in its own native frame for display. Here p₂ is the same drift-shifted resampling used internally to build p₁₂ (p₂ evaluated at k₁−drift, drift=ln(F₂/F₁)), and the reconstruction (p₁₂∗p₁)(k) is computed by direct numerical summation of the convolution integral — a brute-force grid sum, not the FFT machinery used elsewhere in the pipeline — so this check is not simply re-running the same fast-Fourier computation that produced p₁₂ in the first place.

The widget reports the reconstruction error two ways. The tool suite's own default diagnostic is the L¹ residual ∫|(p₁₂∗p₁)(k)−p₂(k)| dk, used elsewhere in the Volatility Studio to flag numerically unreliable forward densities (values below 0.01 are considered tight). This paper's own criterion for this check instead frames it as a maximum absolute error relative to the peak of p₂, with an error below 10&supminus;³ (0.1%) considered acceptable — a related but distinct criterion. Both are reported below so the two can be compared directly; on the default date/term pair they largely agree (L¹ residual well under 0.01; max-error/peak modestly above 0.1%), consistent with a faithful but not perfect reconstruction.

The toggle's call-price view is not this same density reconstruction converted to price units — it is two separate numerical routes to c₂(k), neither of which integrates a density into a call curve. Conditioning on the T₁ leg first — S₂=S₁·S₁₂, so max(S₂−K,0) = S₁·max(S₁₂−K/S₁,0), and taking expectations, E[max(S₂−K,0)] = ES₁[S₁·ES₁₂[max(S₁₂−K/S₁,0)]] — gives the fundamental pricing identity used throughout this paper for the reconstruction:

c₂recon(k)  =  ∫ ek′·c₁₂(k−k′)·p₁(k′) dk′,

where c₁₂ is p₁₂ priced into a call curve once (the same undiscounted, per-unit-forward pricing used everywhere in this paper), then integrated against p₁ with the ek′ weight the conditioning step produces — ek′ is S₁/F₁, the T₁ dollar level relative to forward, left over from the S₁ factored out of the max(·) above. The curve it is checked against, c₂(k) itself, is not obtained from this identity either: because p₂'s Breeden-Litzenberger construction already runs through an SVI total-variance curve (σ₂(k)=√(w(k)/T₂)), the widget prices c₂ directly off that same vol curve via Black-Scholes — the identical shortcut the Volatility Studio's own Three-Way Comparison table takes for its target column — rather than integrating p₂'s density into a call curve. So the two curves plotted are two independent numerical paths to the same theoretical price — one a conditioning-formula convolution, the other closed-form Black-Scholes off a vol curve — and neither is a reconstruction of the other converted to matching units.

Convolution check: p₂(k) vs. (p₁₂∗p₁)(k)

Same date and term pickers as Figure 3, defaulted to the first two terms. Both curves are shown in the shared k₁=ln(K/F₁) frame the deconvolution actually runs in.
Drag across the chart to zoom in; double-click to reset.

Figure 4 — Convolution check against real SPX market quotes. p₂(k) (plum, solid) vs. the directly-convolved reconstruction (p₁₂∗p₁)(k) (orange, dashed), both in the shared k₁ frame. On most date/term pairs the two curves overlap almost exactly — the orange dashes are hidden directly underneath the plum line — which is the point of the check, not a rendering issue; use a pill to hide one curve, or drag-zoom into the wings, to see the (typically very small) gap between them. Use the toggle above the chart to view a genuinely separate call-price check instead — c₂(k), priced via Black-Scholes off p₂'s own SVI vol curve, against the conditioning-formula reconstruction ∫ek′c₁₂(k−k′)p₁(k′)dk′; neither side is the density reconstruction above converted to price units. Click a chip to isolate or hide a curve. Drag to zoom; double-click or use the reset button to return to full view.

The Fundamental Equation: Locking in a Forward Implied Volatility

The "From Prices to Densities and Back" section above derived the exact fact this section uses once more: dK=ekdk, and its consequence for the log-moneyness Breeden–Litzenberger pair, p(k) = e−k[∂²c/∂k²−∂c/∂k]. This section applies it to the density that prices a forward call, and states the resulting static hedge as the Fundamental Equation.

Bracket notation for traded positions. It is important to distinguish between a price — a number read off the options market — and a position — an instrument actually held in the book. We adopt the convention, used throughout the remainder of this paper, that square brackets denote traded instruments:

• [p₁(k′) dk′] denotes a T₁ digital butterfly position centered at k′, with price p₁(k′) dk′ per unit of forward F₁.
• [c₂(k)] denotes a T₂ call position at log-moneyness k, with price c₂(k) per unit of forward F₂.
• Quantities without brackets — such as c₁₂(k−k′) — are prices or weights, not positions.

The distinction matters because positions can be held, traded, and combined; prices cannot. The integral ∫ c₁₂(k−k′) · [ek′p₁(k′) dk′] is a continuum of weighted positions — a strip of forward-weighted butterflies, each scaled by a weight — whereas c₁₂(k−k′)·ek′p₁(k′) is merely a product of two numbers.

The Fundamental Equation. Write X₂=ln(ST₂/F₂) as the sum X₁+X₁₂ (T₁'s log-moneyness plus the forward-period log-return — the same additive relationship behind the convolution identity p₂=p₁₂∗p₁). Conditioning the T₂ call payoff on X₁ first,

c₂(k)  =  E[max(eX₁+X₁₂−ek,0)]  =  EX₁ [ eX₁ · EX₁₂[max(eX₁₂−ek−X₁,0)] ]  =  ∫ c₁₂(k−k′) · ek′p₁(k′) dk′.

A note on the notation. The expectations E[·] and the step of “conditioning on X₁ first” borrow the language of probability theory because it makes the derivation short to write down. Nothing in the result depends on that language: the calculation is in reality a simple iterated integral. Substituting the convolution p₂=p₁₂∗p₁ into c₂(k)=∫ max(eu−ek,0) p₂(u) du and writing u=k′+x gives

c₂(k)  =  ∫∫ max(ek′+x−ek,0) p₁₂(x) p₁(k′) dx dk′  =  ∫ ek′ [ ∫ max(ex−ek−k′,0) p₁₂(x) dx ] p₁(k′) dk′.

“Conditioning on X₁” is nothing more than the choice to carry out the inner x-integral first, holding k′ fixed; the integrand is non-negative, so the order of integration is free. That inner integral is, by definition, the forward call price c₁₂(k−k′), which gives the right-hand side above.

The ek′ here is the same dK=ekdk fact once more — conditioning on the dollar level S₁ forces a factor of S₁/F₁=ek′ to survive. Group it with the density, as ek′p₁(k′) — a butterfly whose notional carries the T₁ dollar level S₁/F₁, a forward-weighted butterfly — and the statement is entirely in traded positions:

[c₂(k)]  =  ∫ c₁₂(k−k′)  ·  [ek′p₁(k′) dk′].

This is the Fundamental Equation: the T₂ call decomposes as a strip of forward-weighted T₁ butterflies [ek′p₁(k′)dk′] — not the plain digital butterfly [p₁(k′)dk′] — weighted by the forward call c₁₂(k−k′) at the relative moneyness k−k′.

As a difference, set to zero. Moving everything to one side states the same content as a static trade with no cost today:

[c₂(k)]  −  ∫ c₁₂(k−k′) · [ek′p₁(k′) dk′]  =  0.

Both terms are traded positions — the brackets make that explicit — so this is not an abstract identity between prices; it is a real portfolio: long one T₂ call, short a continuum of forward-weighted T₁ butterflies, weighted by today's forward call prices, and its value today is exactly zero. No model, no volatility assumption, and no rebalancing is required to construct it — every ingredient (c₁₂, p₁) is read directly off currently traded option prices.

Terminal value at T₁. The two sides of this zero-cost position evolve very differently between now and T₁. The left side, [c₂(k)], is a live T₂ call throughout — at T₁ it is simply repriced at whatever T₂ volatility the market is then quoting, at the log-moneyness k−k∗ realized by that date (k∗=ln(ST₁/F₁)). The right side collapses: each forward-weighted T₁ butterfly in the strip converges to a delta function exactly at T₁, so the entire continuum — every k′ except k′=k∗ — pays nothing, and the strip's value reduces to the single surviving term ek∗c₁₂(k−k∗) — the forward-weighted butterfly pays ek∗, and ek′c₁₂(k−k′) = c₂(k−k′; σ₁₂(k−k′)) is the same forward call re-quoted from the forward prevailing at T₁, namely F₂ek∗, onto F₂. So the strip settles into precisely the T₂ call at the locked-in forward volatility σ₁₂(k−k∗) constructed today. Because the position had zero cost at inception, its value at T₁ is pure P&L:

P&L(k∗)  =  c₂(k−k∗; σ̂₁₂)  −  c₂(k−k∗; σ₁₂),

the same T₂ call at the volatility the market actually quotes at T₁ minus the forward call locked in today. Everything else — parallel shifts in the vol surface, skew changes, term-structure moves, even the realized k∗ itself — has cancelled between the two sides. What survives is a single, clean comparison: the forward implied volatility this construction locks in today, against whatever the market is actually quoting once T₁ arrives. This is the exact analogue of a stock forward locking in a delivery price by no-arbitrage — except the instrument being locked in is not a price, but an entire implied volatility curve over the forward period [T₁,T₂].

What comes next. Locking an entire curve, rather than a single price, is what makes the rest of this series possible. Vega as ordinarily reported is an indeterminate measure: the sensitivity of a three-month option and of a three-year option to “a point of volatility” are added together as though they were the same quantity, when the markets that price them are not the same market. Once the forward period [T₁,T₂] is itself a tradeable object, that sum can be taken apart. Exposure at one expiry can be hedged without disturbing the others — three-month vega hedged one month out, a one-year exposure hedged six months out — and because the surviving weight in the strip depends on the realized k∗, the hedge can be concentrated over chosen regions of the future underlying price rather than spread uniformly across all of them. Paper II takes this up directly. It shows that a portfolio’s unrealized P&L over [T₁,T₂] separates into a term carrying no volatility dependence at all and a term of pure volatility dependence conditional on the future spot, and that the second term is precisely what the zero-cost contract constructed here is able to hedge — with the continuum of forward-weighted butterflies replaced, in practice, by a small discrete strip of traded options.