Unit 7, lesson 50

Static arbitrage and volatility surfaces

How call spreads and butterflies give strike monotonicity and convexity, why calendar consistency holds for carry-normalized prices, and how to read and interpolate a volatility surface without static arbitrage.

  • Video 50
  • Implied volatility and arbitrage-free surfaces

Three one-year calls on a stock at 100, with zero rates and dividends and strikes 90, 100 and 110, trade at 15, 10 and 4, and each price on its own has a perfectly good implied volatility. Yet buying the two outer calls and selling two of the middle one brings in money today and can never lose at expiry. This lesson derives the inequalities that rule out such trades across strikes, from call spreads and butterflies, and across maturities, from Jensen’s inequality for a martingale, and shows how to interpolate prices without breaking them.

Key terms

Static arbitrage

Definition Consider a frictionless market in which the stock, zero-coupon bonds and a set of European options on the stock trade at their quoted prices, with no limits on short sales. A static arbitrage is a portfolio of these instruments that is chosen at time 00 and then held without trading until the options expire, such that its cost is at most zero, its payoff is nonnegative in every state, and either its cost is negative or its payoff is positive with positive probability. A set of quotes is free of static arbitrage when no such portfolio exists. Throughout, D(T)=P(0,T)>0D(T) = P(0, T) > 0 is the time-00 price of a zero-coupon bond paying 11 at TT, which the strike tests use as a traded price and which equals the discount factor to TT when rates are deterministic, and C(K,T)C(K, T) is the time-00 price of a European call with strike K≥0K \ge 0 and maturity TT, all calls having the same underlying, settlement and exercise style. If rates are deterministic and there is a pricing measure Q\mathbb{Q}, equivalent to P\mathbb{P}, with EQ[ST]<∞\mathbb{E}^{\mathbb{Q}}[S_T] < \infty and

C(K,T)=D(T) EQ[(ST−K)+]\begin{aligned} &C(K, T) \\[0.4em] &\quad = D(T)\,\mathbb{E}^{\mathbb{Q}}\bigl[(S_T - K)^{+}\bigr] \end{aligned}

for every strike, then every portfolio of these calls and the bond of maturity TT costs D(T)D(T) times the Q\mathbb{Q}-expectation of its payoff, and none of them is a static arbitrage. The tests in the next cards are necessary conditions for this. They concern executable prices of identical contracts, so with bid and ask quotes a test uses the ask for every option bought and the bid for every option sold.

In plain words A static arbitrage is money locked in today by a fixed portfolio of options, stock and bonds, with no model for the stock and no trading along the way. The strike tests below look only at payoffs, so they hold whatever the dynamics of the stock are.

Example Suppose calls of one maturity with strikes 100 and 110 have midpoint quotes 9.00 and 9.20. Buying the call at 100 and selling the call at 110 would bring in 0.20, and the payoff (ST−100)+−(ST−110)+(S_T - 100)^{+} - (S_T - 110)^{+} is never negative. If the call at 100 is offered at 9.15 and the call at 110 is bid at 9.05, the same trade costs 0.10 at executable prices, and there is no arbitrage. The midpoints are inconsistent, but they cannot be traded.

Call spread and strike monotonicity

Definition For strikes K1<K2K_1 < K_2 with the same maturity TT, the call spread that is long the call at K1K_1 and short the call at K2K_2 pays

(ST−K1)+−(ST−K2)+=min⁡((ST−K1)+,K2−K1),\begin{aligned} &(S_T - K_1)^{+} - (S_T - K_2)^{+} \\[0.4em] &\quad = \min\bigl((S_T - K_1)^{+}, \\[0.4em] &\qquad\quad K_2 - K_1\bigr), \end{aligned}

which lies between 00 and K2−K1K_2 - K_1. In a market free of static arbitrage this gives strike monotonicity together with a slope bound,

0≤C(K1,T)−C(K2,T)≤D(T) (K2−K1).\begin{aligned} 0 &\le C(K_1, T) - C(K_2, T) \\[0.4em] &\le D(T)\,(K_2 - K_1). \end{aligned}

If the left inequality failed, buying the spread would bring in cash and leave a nonnegative payoff. If the right one failed, selling the spread and buying K2−K1K_2 - K_1 bonds would do the same, since the bonds pay K2−K1K_2 - K_1, at least what the spread pays. Dividing by K2−K1K_2 - K_1, every difference quotient of C(⋅,T)C(\cdot, T) lies in [−D(T),0][-D(T), 0], and where the price is differentiable in KK,

−D(T)≤CK(K,T)≤0.-D(T) \le C_K(K, T) \le 0.

Under the pricing representation of the first card the right derivative is CK(K+,T)=−D(T) Q(ST>K)C_K(K+, T) = -D(T)\,\mathbb{Q}(S_T > K), minus the price of a digital call. The inequalities need not be strict. If Q(ST>K1)=0\mathbb{Q}(S_T > K_1) = 0, both calls are worth zero and the spread costs nothing.

In plain words A higher strike can only lower the payoff of a call, so it can only lower the price. A call spread never pays more than the gap between its strikes, so its price is at most that gap paid at TT, and the slope of the call price in strike lies between minus the discount factor and zero.

Example In the constructed grid of this lesson the rate is zero, so D(T)=1D(T) = 1, and the calls with strikes 90, 100 and 110 cost 15, 10 and 7. The adjacent slopes are

10−1510=−0.5,7−1010=−0.3,\begin{aligned} \frac{10 - 15}{10} &= -0.5, \\[0.4em] \frac{7 - 10}{10} &= -0.3, \end{aligned}

both inside [−1,0][-1, 0]. The call spread from 90 to 100 costs 5, half of its largest possible payoff 10.

Butterfly spread and strike convexity

Definition For strikes K1<K2<K3K_1 < K_2 < K_3 of the same maturity let

λ=K3−K2K3−K1,\lambda = \frac{K_3 - K_2}{K_3 - K_1},

so that K2=λK1+(1−λ)K3K_2 = \lambda K_1 + (1 - \lambda) K_3. The butterfly spread is long λ\lambda calls at K1K_1, short one call at K2K_2 and long 1−λ1 - \lambda calls at K3K_3. For each s≥0s \ge 0 the payoff (s−K)+(s - K)^{+} is a convex function of KK, so the butterfly pays a nonnegative amount. Its payoff is zero for ST≤K1S_T \le K_1 and for ST≥K3S_T \ge K_3, rises linearly to λ(K2−K1)\lambda (K_2 - K_1) at ST=K2S_T = K_2 and falls linearly back to zero. In a market free of static arbitrage its price is nonnegative, which is strike convexity,

C(K2,T)≤λC(K1,T)+(1−λ)C(K3,T).\begin{aligned} C(K_2, T) &\le \lambda C(K_1, T) \\[0.4em] &\quad + (1 - \lambda) C(K_3, T). \end{aligned}

For equally spaced strikes K−hK - h, KK, K+hK + h the weights are 12\tfrac12, −1-1, 12\tfrac12, and the condition reads C(K−h,T)−2C(K,T)+C(K+h,T)≥0C(K - h, T) - 2C(K, T) + C(K + h, T) \ge 0. Equivalently, the slopes between adjacent strikes are nondecreasing. Where CC is twice differentiable in KK, CKK(K,T)≥0C_{KK}(K, T) \ge 0. If STS_T has a density pTp_T under Q\mathbb{Q} in the representation of the first card, then CKK(K,T)=D(T) pT(K)C_{KK}(K, T) = D(T)\,p_T(K), so negative curvature would be a negative state-price density. With atoms in the law of STS_T the price has kinks and the inequality holds as a statement about slopes.

In plain words A butterfly pays off only when the stock ends near the middle strike and never costs the holder anything at expiry, so it cannot have a negative price. Its price divided by the area under its payoff estimates the state-price density near the middle strike.

Example For the constructed grid, two units of the butterfly, with weights 11, −2-2 and 11, cost 15−2⋅10+7=215 - 2 \cdot 10 + 7 = 2, and dividing by h2=100h^2 = 100 gives a discrete curvature of 0.020.02 per currency unit. Their payoff is 00 at ST≤90S_T \le 90, 55 at 9595, 1010 at 100100, 55 at 105105 and 00 at ST≥110S_T \ge 110. Now replace only the last price by 4. The second slope becomes −0.6-0.6, below the first, and the butterfly costs

15−2⋅10+4=−1.15 - 2 \cdot 10 + 4 = -1.

Buying the two outer calls and selling two middle calls brings in 1 today and leaves this nonnegative payoff, a static arbitrage if all three prices are executable.

Calendar consistency

Definition Assume a constant rate rr and a constant dividend yield qq, so that D(T)=e−rTD(T) = e^{-rT} and the forward is F(0,T)=S0e(r−q)TF(0, T) = S_0 e^{(r - q)T}. Assume that call prices are given by a pricing measure Q\mathbb{Q} as in the first card, under which St≥0S_t \ge 0 and the value of the stock with dividends reinvested, discounted by the money-market account, eqtSt/Bte^{qt} S_t/B_t with Bt=ertB_t = e^{rt}, is a true martingale with respect to the filtration (Ft)(\mathcal{F}_t). Then Yt=St/F(0,t)Y_t = S_t/F(0, t) is a nonnegative Q\mathbb{Q}-martingale with Y0=1Y_0 = 1. For the normalized strike k=K/F(0,T)≥0k = K/F(0, T) \ge 0 define the normalized call price

c(k,T)=C(K,T)D(T) F(0,T)=EQ[(YT−k)+].\begin{aligned} c(k, T) &= \frac{C(K, T)}{D(T)\,F(0, T)} \\[0.4em] &= \mathbb{E}^{\mathbb{Q}}\bigl[(Y_T - k)^{+}\bigr]. \end{aligned}

For T1≤T2T_1 \le T_2 and every k≥0k \ge 0, the conditional Jensen inequality for the convex function y↦(y−k)+y \mapsto (y - k)^{+} and the martingale property give

EQ[(YT2−k)+∣FT1]≥(EQ[YT2∣FT1]−k)+=(YT1−k)+,\begin{aligned} &\mathbb{E}^{\mathbb{Q}}\bigl[(Y_{T_2} - k)^{+} \mid \mathcal{F}_{T_1}\bigr] \\[0.4em] &\quad \ge \bigl(\mathbb{E}^{\mathbb{Q}}[Y_{T_2} \mid \mathcal{F}_{T_1}] - k\bigr)^{+} \\[0.4em] &\quad = (Y_{T_1} - k)^{+}, \end{aligned}

and taking expectations proves calendar consistency,

c(k,T2)≥c(k,T1).c(k, T_2) \ge c(k, T_1).

The comparison is at the same normalized strike, so the cash strikes are K1=kF(0,T1)K_1 = kF(0, T_1) and K2=kF(0,T2)K_2 = kF(0, T_2), and in cash terms it reads eq(T2−T1)C(K2,T2)≥C(K1,T1)e^{q(T_2 - T_1)} C(K_2, T_2) \ge C(K_1, T_1). The raw price at a fixed cash strike need not increase with maturity when q>0q > 0. When the inequality fails in a frictionless market, selling the call at (K1,T1)(K_1, T_1) and buying eq(T2−T1)e^{q(T_2 - T_1)} calls at (K2,T2)(K_2, T_2) brings in cash. If the sold call ends in the money, shorting one share at T1T_1 to pay its payoff ST1−K1S_{T_1} - K_1, paying the dividends on the short by shorting more, and investing the remaining K1K_1 until T2T_2 leaves the payoff eq(T2−T1)(K2−ST2)+≥0e^{q(T_2 - T_1)}(K_2 - S_{T_2})^{+} \ge 0 at T2T_2, and otherwise the bought calls are simply held. This calendar spread trades the stock once, at T1T_1. A surface is usually called free of static arbitrage when it passes the strike tests and this calendar test. Stochastic rates, discrete dividends or different settlement conventions need their own numeraire and carry treatment, which this lesson does not cover.

In plain words Once strikes and prices are measured relative to the forward, a later call is a call on a martingale that has had more time to spread out, and a convex payoff never loses from that. Without the normalization, dividends and discounting can make a later call cheaper, and that is not an arbitrage.

Example For a constructed stock with S0=100S_0 = 100, r=0r = 0 and q=0.05q = 0.05, a call with the fixed cash strike 5050 and Black-Scholes volatility 0.20.2 costs about 45.12534245.125342 at T=1T = 1 and 40.60680740.606807 at T=2T = 2. The raw price falls with maturity, because the prepaid forward S0e−qTS_0 e^{-qT} falls and this deep in-the-money call behaves almost like it. The normalized strikes are 50/(100e−0.05)≈0.525650/(100e^{-0.05}) \approx 0.5256 and 50/(100e−0.1)≈0.552650/(100e^{-0.1}) \approx 0.5526, so the two calls are not at the same normalized strike, and the calendar test does not compare them.

Volatility surface

Definition Fix S0S_0, a constant rate rr and dividend yield qq as in the calendar card, and the contract conventions. For each strike KK and maturity TT whose call price lies strictly inside the arbitrage bounds D(T)(F(0,T)−K)+<C(K,T)<D(T)F(0,T)D(T)(F(0, T) - K)^{+} < C(K, T) < D(T)F(0, T), the implied volatility σimp(K,T)\sigma_{\mathrm{imp}}(K, T) is the unique Black-Scholes volatility that reproduces C(K,T)C(K, T). The function (K,T)↦σimp(K,T)(K, T) \mapsto \sigma_{\mathrm{imp}}(K, T) on the quoted points is the volatility surface. It is often written in the normalized strike k=K/F(0,T)k = K/F(0, T) together with the total implied variance

w(k,T)=σimp2 T.w(k, T) = \sigma_{\mathrm{imp}}^2\, T .

The normalized Black-Scholes call price cBS(k,w)=Φ(d1)−k Φ(d2)c_{\mathrm{BS}}(k, w) = \Phi(d_1) - k\,\Phi(d_2), with d1=(−ln⁡k+w/2)/wd_1 = (-\ln k + w/2)/\sqrt{w} and d2=d1−wd_2 = d_1 - \sqrt{w}, is strictly increasing in ww, so the calendar test of the previous card is equivalent to w(k,T)w(k, T) being nondecreasing in TT at each fixed kk. At each point the surface and the price carry the same information, but the conditions of this lesson are linear in prices and nonlinear in volatilities. A flat surface comes from one Black-Scholes model and is free of static arbitrage, while a smooth-looking surface that is not flat may still violate a butterfly or calendar test. The surface is a set of coordinates for European prices. It is not a model of how the stock moves, and it does not say how the surface itself will move.

In plain words The surface stores option prices in the units of volatility, one number per strike and maturity. Each number can be fine on its own while the prices they stand for still contain an arbitrage, so the tests have to be run on prices, or on equivalent conditions such as nondecreasing total variance.

Example If the constructed grid is also given S0=100S_0 = 100, T=1T = 1 and q=0q = 0, which the grid itself does not fix, the prices 15, 10 and 7 have implied volatilities of about 0.2420610.242061, 0.2513230.251323 and 0.2708670.270867. Replacing 7 by 4 changes the last value to about 0.1921070.192107. All four numbers are valid implied volatilities, yet the second set contains the butterfly arbitrage of the butterfly card. For calendar consistency, an implied volatility that falls with maturity is allowed, as long as total variance does not fall.

Arbitrage-free interpolation

Definition Let calls of one maturity be quoted at strikes K1<⋯<KnK_1 < \dots < K_n, with prices Cj=C(Kj,T)C_j = C(K_j, T) and adjacent slopes mj=(Cj+1−Cj)/(Kj+1−Kj)m_j = (C_{j+1} - C_j)/(K_{j+1} - K_j) that pass the strike tests,

−D(T)≤m1≤m2≤…≤mn−1≤0.\begin{aligned} -D(T) &\le m_1 \le m_2 \le \dots \\[0.4em] &\le m_{n-1} \le 0. \end{aligned}

An interpolation C(K)C(K) between the quoted strikes is arbitrage-free in strike when it is convex and has every slope in [−D(T),0][-D(T), 0]. The piecewise linear interpolation has exactly the slopes mjm_j, so it qualifies. Its curvature is zero between the grid points, so as a state-price distribution it puts the Q\mathbb{Q}-mass (mj−mj−1)/D(T)(m_j - m_{j-1})/D(T) at each interior strike KjK_j and none in between. These are atoms, not a smooth density. A smooth interpolation must keep CKK≥0C_{KK} \ge 0 and −D(T)≤CK≤0-D(T) \le C_K \le 0 everywhere, and a smooth curve of implied volatilities guarantees neither, because the map from volatility to price is nonlinear and depends on the strike. Extrapolation beyond the grid must stay consistent with total probability one and with the forward, since C(0,T)=D(T)F(0,T)C(0, T) = D(T)F(0, T) and C(K,T)→0C(K, T) \to 0 as K→∞K \to \infty when EQ[ST]<∞\mathbb{E}^{\mathbb{Q}}[S_T] < \infty. Across maturities, under the assumptions of the calendar card, linear interpolation of normalized prices in TT at fixed kk keeps all the tests, because a convex combination of c(⋅,T1)c(\cdot, T_1) and c(⋅,T2)c(\cdot, T_2) is the normalized call price of a mixture of the two laws of YY, which still has mean one, and it moves monotonically from one slice to the other. When bid and ask quotes allow several consistent fits, choosing one of them is a choice of regularization.

In plain words Connecting valid prices with straight lines never creates an arbitrage, but it places all the probability on the grid strikes. Smoother curves have to be checked for nonnegative curvature and the slope bounds, and the tails have to be checked separately, because a surface can look fine between quotes and imply impossible probabilities beyond them.

Example Give the constructed grid S0=100S_0 = 100, D(T)=1D(T) = 1 and q=0q = 0 again, so C(0,T)=100C(0, T) = 100. Interpolate linearly from (0,100)(0, 100) through the three quotes, and continue the last slope −0.3-0.3 until the price reaches zero at K=110+7/0.3=400/3K = 110 + 7/0.3 = 400/3. The slopes are −17/18-17/18, −1/2-1/2, −3/10-3/10 and 00, so this function is exactly the call price of the law with the atoms

Q(ST=0)=1/18,Q(ST=90)=4/9,Q(ST=100)=1/5,Q(ST=400/3)=3/10.\begin{aligned} \mathbb{Q}(S_T = 0) &= 1/18, \\[0.4em] \mathbb{Q}(S_T = 90) &= 4/9, \\[0.4em] \mathbb{Q}(S_T = 100) &= 1/5, \\[0.4em] \mathbb{Q}(S_T = 400/3) &= 3/10. \end{aligned}

The masses add to one and the mean is 40+20+40=10040 + 20 + 40 = 100, the forward. At K=90K = 90, for example, 10⋅15+1303⋅310=1510 \cdot \tfrac15 + \tfrac{130}{3} \cdot \tfrac{3}{10} = 15. The interpolation is free of arbitrage, yet it invents a probability of 1/181/18 that the stock ends at zero, an artifact of the straight left tail.

Check yourself

  1. Calls of one maturity with strikes 95, 100 and 105 are quoted at 9.20, 4.20 and 1.50, and the zero-coupon bond to that maturity costs D(T)=0.98D(T) = 0.98. Which test fails, and what trade exploits it?
Show the answer

The slopes are (4.20−9.20)/5=−1.00(4.20 - 9.20)/5 = -1.00 and (1.50−4.20)/5=−0.54(1.50 - 4.20)/5 = -0.54. They increase and are at most zero, and the butterfly costs 9.20−8.40+1.50=2.30≥09.20 - 8.40 + 1.50 = 2.30 \ge 0. The first slope is below −D(T)=−0.98-D(T) = -0.98, so the call spread from 95 to 100 costs 5.005.00, more than the price 0.98⋅5=4.900.98 \cdot 5 = 4.90 of its largest payoff paid at TT. Sell the call at 95, buy the call at 100 and buy 5 bonds. This brings in 9.20−4.20−4.90=0.109.20 - 4.20 - 4.90 = 0.10 today, and at TT the position pays 5−min⁡((ST−95)+,5)≥05 - \min((S_T - 95)^{+}, 5) \ge 0. With D(T)=1D(T) = 1 the same slope would just pass, which is why the bound must use the discount factor.

  1. Calls of one maturity with strikes 90, 100 and 120 cost 15, 9 and 2.5, with D(T)=1D(T) = 1. A classmate computes 15−2⋅9+2.5=−0.515 - 2 \cdot 9 + 2.5 = -0.5 and reports a butterfly arbitrage. Is the classmate right?
Show the answer

No. The strikes are not equally spaced, so the weights 11, −2-2, 11 do not form a butterfly. That position pays (ST−90)−2(ST−100)=110−ST(S_T - 90) - 2(S_T - 100) = 110 - S_T for 100≤ST≤120100 \le S_T \le 120, which is −10-10 at ST=120S_T = 120 and stays −10-10 above it, so receiving 0.50.5 for it is not an arbitrage. The correct weight is λ=(120−100)/(120−90)=2/3\lambda = (120 - 100)/(120 - 90) = 2/3, and the convexity test is

23⋅15+13⋅2.5−9=10+56−9=116>0,\begin{aligned} &\tfrac23 \cdot 15 + \tfrac13 \cdot 2.5 - 9 \\[0.4em] &\quad = 10 + \tfrac56 - 9 = \tfrac{11}{6} > 0, \end{aligned}

which passes. Equivalently, the slopes (9−15)/10=−0.6(9 - 15)/10 = -0.6 and (2.5−9)/20=−0.325(2.5 - 9)/20 = -0.325 increase and lie in [−1,0][-1, 0]. The real butterfly, long two calls at 90, short three at 100 and long one at 120, costs 5.55.5 and pays 2020 at ST=100S_T = 100.

  1. A constructed stock has S0=100S_0 = 100, r=0.03r = 0.03 and q=0.01q = 0.01. A call with T1=0.5T_1 = 0.5 struck at the forward F(0,0.5)≈101.005017F(0, 0.5) \approx 101.005017 has implied volatility 0.250.25. A call with T2=1T_2 = 1 struck at F(0,1)≈102.020134F(0, 1) \approx 102.020134 has implied volatility 0.200.20 in one quote set and 0.170.17 in another. Which set passes the calendar test, and how is the other one exploited?
Show the answer

Both calls have normalized strike k=1k = 1, so compare total variances. At T1T_1 it is 0.252⋅0.5=0.031250.25^2 \cdot 0.5 = 0.03125. At T2T_2 it is 0.040.04 in the first set and 0.02890.0289 in the second. The first set passes even though the implied volatility falls, and the second fails. In normalized prices, c(1,T)=2Φ(w/2)−1c(1, T) = 2\Phi(\sqrt{w}/2) - 1 gives about 0.0704320.070432 at T1T_1 and 0.0796560.079656 or 0.0677390.067739 at T2T_2. In cash the calls cost about 7.0080707.008070 at T1T_1 and 6.7064606.706460 at T2T_2 in the second set. Sell the call at T1T_1 and buy e0.005≈1.005013e^{0.005} \approx 1.005013 calls at T2T_2, which brings in about 7.008070−6.740076=0.2679947.008070 - 6.740076 = 0.267994. If the sold call ends in the money at T1T_1, pay its payoff by shorting one share, keep the short growing at the dividend yield, and invest K1≈101.005017K_1 \approx 101.005017 until T2T_2, where it has grown to 1.005013⋅K21.005013 \cdot K_2. At T2T_2 the position pays 1.005013 (K2−ST2)+≥01.005013\,(K_2 - S_{T_2})^{+} \ge 0, and if the sold call ends out of the money the bought calls are kept at no further cost.

How this lesson connects