量化金融 · 第 19 册 · 职业发展

Interviews II: Markets, Trading Games and the Final Round

本书仅提供英文版。

Interviews II: Markets, Trading Games and the Final Round · 职业发展

8Pricing and Numerics

Deriving a price three ways, pricing what has no formula, and knowing how wrong a tree, a grid or a simulation is, and why. Unless a stem says otherwise, the model is Black-Scholes, with a constant rate and a constant volatility and no dividends.

8.1 Warm-ups

Question 8.1 ★ QR, QT, QD • any • junior

Write down the Black-Scholes price of a call. With a stock and strike at 100, 20% volatility, one year and a zero rate, give the price in your head by a rule of thumb, and say what the exact value is. Do the same at 30% and three months.

Answer

Answer to Question 8.1.

The price is C=SΦ(d1)−Ke−rTΦ(d2)C = S\Phi(d_1) - Ke^{-rT}\Phi(d_2), with d1,2=[ln⁡(S/K)+(r±σ2/2)T]/(σT)d_{1,2} = [\ln(S/K) + (r \pm \sigma^2/2)T]/(\sigma\sqrt T). The rule of thumb gives $8, against an exact 7.97. At 30% and three months, it gives $6, against 5.98.

The rule of thumb for an at-the-money call is 0.4 SσT0.4\,S\sigma\sqrt T, where 0.4 stands for 1/2π1/\sqrt{2\pi}.

Classic wrong answer. Forgetting the root of time, and scaling price with TT. A move grows with T\sqrt T, and so does the option’s value.

Question 8.2 ★ QR, QT, QD • any • junior

Two stocks are both at 100, with the same volatility. Everyone expects one to return 20% a year, and the other 2%. The rate is the same for both. Which has the dearer one-year call in the Black-Scholes model? Why does a trader feel this must be wrong, and what do you answer?

Answer

Answer to Question 8.2.

They cost the same. The expected return does not appear in the formula, because the hedge removes all exposure to it. If a trader objects, say that the option can be replicated, and the cost of replicating depends only on how much the stock moves, and not on where it is expected to go.

Delta-hedging leaves a portfolio with no first-order stock risk. The cost of that hedge depends on volatility. So the same price holds under any drift. A simulation of the hedged book, with drifts of 20% and 2%, gives the same mean result of about zero.

The objection does have one correct part: a high expected return does make the unhedged call a better bet. It just does not change the price at which it can be replicated.

Classic wrong answer. “The stock with a higher return must have dearer calls.” Holding the price of the stock fixed, the higher return is already in that price.

Question 8.3 ★ QR, QT, QD • any • junior

A stock at 100 goes to 120 or to 90 tomorrow, and the rate is zero. Price a call struck at 100 by building a portfolio of stock and cash that pays the same in both states. What is the risk-neutral chance of going up? What changes if the true chance of going up is 80%?

Answer

Answer to Question 8.3.

The call is worth about $6.67. The risk-neutral chance of going up is 1/3. If the true chance is 80%, the price does not change.

The call pays 20 or 0. Hold Δ\Delta shares and a loan LL: 120Δ−L=20120\Delta - L = 20 and 90Δ−L=090\Delta - L = 0. So Δ=2/3\Delta = 2/3 and L=60L = 60. The cost is 100×2/3−60=6.67100 \times 2/3 - 60 = 6.67.

For the probability, 120q+90(1−q)=100120q + 90(1 - q) = 100, which gives q=1/3q = 1/3. And 20×1/320 \times 1/3 is the same 6.67.

Classic wrong answer. Pricing with the 80%. That gives $16, and at that price you sell the call and replicate it for $6.67, whichever way the stock goes.

Question 8.4 ★ QR, QD, Risk • any • junior

Your payoff has a standard deviation of $15. With 10,000 Monte Carlo paths, what is the standard error of the price? How many paths do you need for a standard error of 1 cent?

Answer

Answer to Question 8.4.

The standard error is 15 cents, and you need 2.25 million paths for 1 cent.

It is σ/N=15/100\sigma/\sqrt N = 15/100. For 0.01, N=(15/0.01)2=2,250,000N = (15/0.01)^2 = 2{,}250{,}000. A tenth of the error takes a hundred times the paths, so people turn to variance reduction.

Classic wrong answer. Thinking that doubling the paths halves the error. It takes four times the paths.

Question 8.5 ★ QR, QT, QD • any • junior

A one-year call is worth $8. The same call that dies if the stock ever trades below 90 is worth $6. What is the same call worth if it only comes alive once the stock trades below 90? Why is this true in any model? What does the $6 tend to if the barrier falls toward zero?

Answer

Answer to Question 8.5.

It is worth $2. This is true in any model, because on every path exactly one of the two is alive, and together they pay what the plain call pays. As the barrier falls toward zero, the $6 tends to $8.

That is the in-out parity. It holds path by path, and so it does not rest on a model of the stock. It does need the two to watch the barrier in the same way.

Classic wrong answer. Using this when the two contracts differ on rebate or monitoring. A rebate paid at the touch has to be added separately.

Question 8.6 ★ QR, QT, QD • any • junior

A contract pays $1 if a stock finishes above 100 in a year, and it is worth $0.46. The rate is 5%, compounded continuously. What is the contract that pays $1 if the stock finishes below 100 worth? What assumption do you need about the stock? Which volatility did you use?

Answer

Answer to Question 8.6.

It is worth about $0.49. The two together pay $1 for sure, so together they are worth e−0.05≈0.951e^{-0.05} \approx 0.951. And 0.951−0.46=0.4910.951 - 0.46 = 0.491. You used no volatility.

You need the stock not to finish exactly at 100 with positive probability, or at least the two contracts must cover that case between them.

Classic wrong answer. Saying the two must add to 1. That forgets the discounting, since $1 is paid in a year.

Question 8.7 ★ QR, QT, QD • any • junior

An at-the-money one-year option pays on the continuous average of a stock over the year, and not on its final price. The stock is at 100 with 30% volatility and a zero rate. Is it dearer or cheaper than the ordinary call? Roughly what volatility should you use for the average, and what is the price by the rule of thumb?

Answer

Answer to Question 8.7.

It is cheaper, because an average moves less than a final price. Use a volatility of σ/3≈17.3%\sigma/\sqrt 3 \approx 17.3\%, and the rule of thumb gives about $6.93, compared with about $12 for the ordinary call.

The variance of the average of a Brownian motion over a period TT is σ2T/3\sigma^2T/3. The start of the year counts toward the average at once, and it adds to every later point, and the end of the year counts for little. So the option’s volatility falls by a factor of 3\sqrt 3.

Classic wrong answer. Using half the volatility on the grounds that the average sits midway. It is the variance that matters, and the answer is 1/3 of the variance.

Question 8.8 ★ QD, QR • any • junior

You build a binomial tree with 20 time steps. How many nodes does it have if up then down lands on the same price as down then up? How many if it does not? Why does this matter for barrier-free, path-independent options, and which options lose this saving?

Answer

Answer to Question 8.8.

It has 231 nodes if it recombines, and 2,097,151 if it does not. So a recombining tree is workable and the other is not. Path-dependent options, such as a lookback or an average, lose the saving.

With nn steps, a recombining tree has (n+1)(n+2)/2(n + 1)(n + 2)/2 nodes, and a bushy tree has 2n+1−12^{n+1} - 1. For a path-independent option, it does not matter how you got to a price, so you only need one value per price.

Classic wrong answer. Thinking any barrier option loses the saving. A barrier is fine on a recombining tree, since a node can be knocked out. It is only slow to converge.

Question 8.9 ★ QR, QD • any • junior

You use antithetic paths: every normal draw ZZ is used with −Z-Z. What happens when you estimate E[Z]E[Z]? What happens for E[Z2]E[Z^2]? For which kinds of payoff does the trick help?

Answer

Answer to Question 8.9.

For E[Z]E[Z], each pair gives exactly zero, so the estimate has no error. For E[Z2]E[Z^2], each pair gives the same number twice, so half your draws are wasted. The trick helps when the payoff is close to monotonic in ZZ.

The pair’s values are negatively correlated if the payoff is monotonic, so the errors cancel. For an even payoff, they are perfectly positively correlated, and it costs you twice as much for no more information. For an at-the-money call, the variance falls by about 37% at the same cost.

Classic wrong answer. Using it everywhere as a free gain. A straddle is nearly even in ZZ, so antithetics hardly help or even hurt it.

Question 8.10 ★ QR, QD • any • junior

You have two independent standard normals, Z1Z_1 and Z2Z_2. Build two normals with a correlation of 0.6. What do you get for the second if Z1=1Z_1 = 1 and Z2=−1Z_2 = -1? What does this have to do with a Cholesky factor?

Answer

Answer to Question 8.10.

Take X=Z1X = Z_1 and Y=0.6Z1+0.8Z2Y = 0.6Z_1 + 0.8Z_2. With those draws, Y=0.6−0.8=−0.2Y = 0.6 - 0.8 = -0.2. The coefficients are the second row of a Cholesky factor of the correlation matrix.

The variance of YY is 0.36+0.64=10.36 + 0.64 = 1, and its covariance with XX is 0.6. Generally, if LL⊤=ΣLL^\top = \Sigma, then LZLZ has covariance Σ\Sigma.

Classic wrong answer. Using Y=0.6Z1+0.4Z2Y = 0.6Z_1 + 0.4Z_2. That has variance 0.52, and the wrong correlation. The two squares have to add to 1.

Question 8.11 ★ QR, QT, QD, Risk • any • junior

A stock is at 100, pays no dividends, and the rate is 5%, compounded continuously. What is the fair one-year forward price? You hold a contract to buy at 100 in one year. What is it worth today? Why do you need no volatility?

Answer

Answer to Question 8.11.

The forward is about 105.13. Your contract is worth about $4.88 today. You need no volatility, because you can replicate a forward with a position that never changes.

To get the stock at 100 in a year, you buy it now and borrow. The forward price is 100e0.05100e^{0.05}. A contract with K=100K = 100 pays ST−100S_T - 100, which is worth S−Ke−rT=100−95.12S - Ke^{-rT} = 100 - 95.12.

Classic wrong answer. Thinking that the forward is the market’s forecast. It comes from replication, and it has no view of the stock.

Question 8.12 ★ QD, QR • any • junior

You solve the pricing equation with an explicit finite-difference grid, in time and one price. You halve the price step. By what factor does the work go up, and why not just by two?

Answer

Answer to Question 8.12.

The work goes up by about 8. Twice as many price points, and four times as many time steps, since stability needs Δt\Delta t to shrink with the square of the price step.

So going from 100 to 200 points costs 8 times as much. An implicit scheme has no such limit, and it solves a tridiagonal system in time linear in the number of points, so it is the usual choice.

Classic wrong answer. Saying a factor of 2. The stability limit is the hidden cost of an explicit scheme.

Question 8.13 ★ QD, QR • any • junior

You can draw uniform random numbers. How do you draw an exponential with rate 2? What value do you get from U=0.5U = 0.5? What is the general method, and why is it not the usual way of drawing a normal?

Answer

Answer to Question 8.13.

Use X=−ln⁡(1−U)/2X = -\ln(1 - U)/2. From U=0.5U = 0.5, that is about 0.3466. The method is inverse-transform sampling: F−1(U)F^{-1}(U) has the distribution FF. It is not the usual route for a normal because Φ−1\Phi^{-1} has no closed form, although good numerical versions do exist.

For a normal, Box-Muller or the ziggurat is common in a plain simulation. Quasi-random sequences need the inverse, because each uniform must map to a single normal.

Classic wrong answer. Thinking that U=0.5U = 0.5 gives the mean, which is 0.5 here. It gives the median.

8.2 Deriving prices

Question 8.14 ★★ QR, QT, QD • any • junior

A stock is at 110, with 30% volatility, half a year to expiry and a zero rate. Under the risk-neutral measure, what is the chance it finishes above 100? Derive it from the distribution of the log price, and do not just quote Φ(d2)\Phi(d_2).

Answer

Answer to Question 8.14.

The chance is about 63%.

Under the risk-neutral measure at a zero rate, ln⁡ST=ln⁡S−σ2T/2+σT Z\ln S_T = \ln S - \sigma^2T/2 + \sigma\sqrt T\,Z. The drift has to be −σ2/2-\sigma^2/2 for the stock to be a martingale. So ST>KS_T > K means Z>[ln⁡(K/S)+σ2T/2]/(σT)Z > [\ln(K/S) + \sigma^2T/2]/(\sigma\sqrt T), which is −d2-d_2. Here d2=[ln⁡(1.1)−0.0225]/(0.30.5)≈0.343d_2 = [\ln(1.1) - 0.0225]/(0.3\sqrt{0.5}) \approx 0.343. So P=Φ(0.343)≈0.634P = \Phi(0.343) \approx 0.634.

Classic wrong answer. Forgetting the −σ2/2-\sigma^2/2, or taking the wrong sign. That gives d1d_1, which is about 0.56, and a chance of 71%.

Question 8.15 ★★ QR, QD • any • junior, experienced

Derive the Black-Scholes call price as a risk-neutral expectation, with the rate at zero. In particular, how do you handle E[ST1{ST>K}]E[S_T \mathbf{1}\{S_T > K\}]? Check it for a $110 stock, a 100 strike, 30% volatility and half a year.

Answer

Answer to Question 8.15.

The call is E[ST1{ST>K}]−KP(ST>K)=SΦ(d1)−KΦ(d2)E[S_T\mathbf 1\{S_T > K\}] - KP(S_T > K) = S\Phi(d_1) - K\Phi(d_2). The trick is to complete the square, or to change to the stock measure. For the example: 78.17−63.43=14.7578.17 - 63.43 = 14.75.

The second term comes straight from the previous probability. For the first, write ST=SeσTZ−σ2T/2S_T = Se^{\sigma\sqrt T Z - \sigma^2T/2}, so

E[ST1{Z>−d2}]=S∫−d2∞e−(z−σT)2/22π dz=SΦ(d2+σT)=SΦ(d1).E[S_T\mathbf 1\{Z > -d_2\}] = S\int_{-d_2}^\infty \frac{e^{-(z - \sigma\sqrt T)^2/2}}{\sqrt{2\pi}}\,dz = S\Phi(d_2 + \sigma\sqrt T) = S\Phi(d_1).

The shift by σT\sigma\sqrt T is a change of numeraire. In the measure where the stock is the unit of account, the chance of finishing above KK is Φ(d1)\Phi(d_1).

A simulation of the two terms at a million paths gives the same answer.

Classic wrong answer. Writing E[ST∣ST>K]E[S_T \mid S_T > K] as SS. The conditional mean is much higher than the unconditional one, and that is the entire point.

Question 8.16 ★★ QR, QD • any • junior, experienced

Derive the Black-Scholes equation with a delta-hedged portfolio. Where has the stock’s expected return gone? For an at-the-money one-year call on a $100 stock, with 20% volatility and a zero rate, the gamma is 0.0198. What must the theta be?

Answer

Answer to Question 8.16.

The equation is ∂tV+12σ2S2∂SSV+rS∂SV−rV=0\partial_tV + \tfrac12\sigma^2S^2\partial_{SS}V + rS\partial_SV - rV = 0. The expected return has been cancelled by the hedge. The theta must be −12σ2S2Γ≈−3.97-\tfrac12\sigma^2S^2\Gamma \approx -3.97 a year.

Hold V−ΔSV - \Delta S. By Ito, its change is (∂tV+12σ2S2Γ) dt+(∂SV−Δ) dS(\partial_tV + \tfrac12\sigma^2S^2\Gamma)\,dt + (\partial_SV - \Delta)\,dS. Choosing Δ=∂SV\Delta = \partial_SV removes the dSdS term, which carries the drift. What remains has no risk, so it must earn the rate: r(V−ΔS) dtr(V - \Delta S)\,dt. That gives the equation.

For the number, 12×0.04×10,000×0.0198=3.96\tfrac12 \times 0.04 \times 10{,}000 \times 0.0198 = 3.96, and it is 3.97 with more digits. That is about 1.6 cents a trading day. Gamma and theta are one thing seen in two ways.

Classic wrong answer. Treating theta as a free-standing Greek. In this model, at a zero rate, it is gamma with a different sign.

Question 8.17 ★★ QR, QD • hedge fund, bank, market maker • junior, experienced

A contract pays ST2S_T^2 in one year, on a stock at $100 with 20% volatility and a zero rate. Solve for its value by trying a solution of the form V=S2g(t)V = S^2 g(t) in the Black-Scholes equation. What is gg, and what is the value? Check it with an expectation.

Answer

Answer to Question 8.17.

The function is g(t)=eσ2(T−t)g(t) = e^{\sigma^2(T - t)}, so the value is 10,000e0.04≈10,40810{,}000e^{0.04} \approx 10{,}408.

Substituting V=S2gV = S^2g gives S2g′+12σ2S2⋅2g=0S^2g' + \tfrac12\sigma^2S^2 \cdot 2g = 0, so g′=−σ2gg' = -\sigma^2g. With g(T)=1g(T) = 1, you get the result.

The expectation agrees. E[ST2]=S2E[e2σTZ−σ2T]=S2e2σ2T−σ2T=S2eσ2TE[S_T^2] = S^2E[e^{2\sigma\sqrt T Z - \sigma^2T}] = S^2e^{2\sigma^2T - \sigma^2T} = S^2e^{\sigma^2T}.

Classic wrong answer. Giving S2S^2. That treats E[ST2]E[S_T^2] as E[ST]2E[S_T]^2. The excess is the variance of STS_T, which is 408.

Question 8.18 ★★ QR, QT, QD • any • junior

Show that a call is made of an asset-or-nothing option, which pays the stock if it finishes above the strike, and a cash-or-nothing option. What is each worth for a stock and strike of 100, 20% volatility, a zero rate and one year? Why is the asset one’s value not SS times the cash one’s probability?

Answer

Answer to Question 8.18.

A call pays the stock less the strike if it finishes above the strike, and that is the asset option less KK cash options. Here the asset one is worth $53.98, the cash one $0.4602 per $1, and 53.98−46.02=7.9753.98 - 46.02 = 7.97.

The asset one is worth SΦ(d1)S\Phi(d_1), not SΦ(d2)S\Phi(d_2). When the stock finishes above the strike, it is above its average. So the conditional mean is larger than SS, which is why it is worth more than SS times the chance.

Classic wrong answer. Thinking that delta is the chance. See the same split: Φ(d1)\Phi(d_1) is a chance only under the stock measure.

Question 8.19 ★★ QR, QT, QD • bank, hedge fund, market maker • junior, experienced

With a normal (Bachelier) model in place of a lognormal one, a stock at 100 has a dollar volatility of $20 a year. With a zero rate, what is the at-the-money one-year call worth? Compare it with a lognormal model at 20%. What implied lognormal volatilities does the normal model give at strikes of 80 and 120? Why does it have a skew?

Answer

Answer to Question 8.19.

The call is worth about $7.98, against 7.97 for the lognormal. The normal model’s implied lognormal volatilities are about 22.4% at 80 and 18.3% at 120. So it has a downward skew, simply because a fixed dollar volatility is a higher percentage volatility at a lower price.

At the money, the call is σNT/(2π)=20×0.3989\sigma_N\sqrt{T/(2\pi)} = 20 \times 0.3989. This explains the 0.4 rule, which is exact here. At K=80K = 80, the normal price is 20Φ(1)+20φ(1)≈21.6720\Phi(1) + 20\varphi(1) \approx 21.67. Solving for the lognormal volatility gives the skew.

Classic wrong answer. Thinking that a normal and a lognormal model are the same at the same volatility. At the money they are nearly so. Away from it, one of them has a skew in the other’s terms.

Question 8.20 ★★ QR, QT • any • junior, experienced

A stock with no drift moves as a Brownian motion, with a dollar volatility of $20 a year, starting at 100. What is the chance it touches 120 in a year? Use the reflection argument. If you check only closing prices, on 252 days, what is the chance, roughly?

Answer

Answer to Question 8.20.

The chance is about 32%, which is 2(1−Φ(1))≈0.3172(1 - \Phi(1)) \approx 0.317. With 252 daily checks, it falls to about 30%.

For each path that touches 120 and ends below it, reflecting after the touch gives a path ending above it, with equal probability. So the chance of touching is twice the chance of ending above. The final distance is one standard deviation.

Monitoring only daily misses touches within a day. It is like moving the barrier up by 0.58260.5826 of a daily standard deviation, about $0.73, which gives 2(1−Φ(1.037))≈0.3002(1 - \Phi(1.037)) \approx 0.300.

Classic wrong answer. Giving the 16% chance of ending above 120. A path can touch 120 and fall back.

Question 8.21 ★★ QR, QT, QD • bank, hedge fund, market maker • junior, experienced

A contract pays $1 the first time a stock reaches 110, and it never expires. The stock is at 100, a lognormal martingale with 20% volatility, and the rate is zero. What is it worth? Now it lasts a year: a desk’s rule of thumb is twice the European digital at 110. What is that, and what is the exact answer?

Answer

Answer to Question 8.21.

The perpetual contract is worth 100/110≈$0.909100/110 \approx \$0.909. The one-year rule of thumb gives 0.564, and the exact value is 0.603.

Since SS is a martingale that goes to zero or hits 110, and since optional stopping applies when it is bounded by 110, 100=110p+0100 = 110p + 0.

For one year, the European digital at 110 is Φ(d2)\Phi(d_2), with d2=(−ln⁡1.1−0.02)/0.2=−0.577d_2 = (-\ln 1.1 - 0.02)/0.2 = -0.577, so 0.282. Twice that is 0.564. The exact formula adds a second term. With the drift −σ2/2-\sigma^2/2 on the log, P=Φ(−0.577)+(S/B)Φ(−0.377)≈0.282+0.321=0.603P = \Phi(-0.577) + (S/B)\Phi(-0.377) \approx 0.282 + 0.321 = 0.603. So the rule of thumb is off because the log price has a drift. Reflection would make it exact for a walk with none.

Classic wrong answer. Using the reflection result for a lognormal stock without changing it. Reflection needs a symmetric walk, and the log price has a drift.

Question 8.22 ★★ QR, QT • hedge fund, market maker, bank • junior, experienced

A contract pays ln⁡(ST/S0)\ln(S_T/S_0) at expiry. The stock has 20% volatility, a zero rate and one year to go. What is it worth? Why is it negative, when the stock is a fair bet? What do you get if you sell the contract and hold 1/S1/S shares, rebalancing as you go?

Answer

Answer to Question 8.22.

It is worth −σ2T/2=−0.02-\sigma^2T/2 = -0.02. It is negative because the log is concave, so a fair bet on the stock is a bad bet on its log. Selling the contract and holding 1/S1/S shares gives you half of the realised variance, over a whole path.

By Ito, dln⁡S=dS/S−12σ2 dtd\ln S = dS/S - \tfrac12\sigma^2\,dt. So ln⁡(ST/S0)=∫dS/S−12∫σ2 dt\ln(S_T/S_0) = \int dS/S - \tfrac12\int\sigma^2\,dt. The first term is the gain on holding 1/S1/S shares, with zero expected value. So that gain, less the log contract’s payoff, is 12∫σ2 dt\tfrac12\int\sigma^2\,dt. That is the idea behind the variance swap, which holds for any path of volatility.

Classic wrong answer. Giving zero, by saying that the log’s mean is the log of the mean. That is the error Jensen’s inequality corrects.

Question 8.23 ★★ QR, QT, QD • bank, hedge fund, market maker • junior, experienced

In six months, you will be given a six-month at-the-money call with a strike set at that day’s stock price. The stock is at 100, with 20% volatility and a zero rate. What is it worth today? Why does the price not depend on the stock’s level in six months?

Answer

Answer to Question 8.23.

It is worth about $5.64, the same as a six-month at-the-money call today. It does not depend on the future stock level, because the value then is proportional to that level, and the expected level is today’s.

At the start date, the call is worth StfS_tf, where ff is the value of a six-month at-the-money call on a stock worth 1. Under the risk-neutral measure, E[St]=S0E[S_t] = S_0. So the value today is S0f=5.64S_0f = 5.64.

Classic wrong answer. Forgetting what makes this work. The value on the start date scales with the level, and the level’s expected value is today’s. A volatility that depends on the level breaks the scaling, and with it the result.

Question 8.24 ★★ QR, QT, QD • bank, hedge fund, market maker • junior, experienced

You hold a contract that lets you decide in six months whether it is a call or a put, both struck at 100 and both expiring in a year. The stock is at 100, with 20% volatility and a zero rate. Show that it is worth the same as a one-year call plus a six-month put. What is the value? How does that compare with a one-year straddle?

Answer

Answer to Question 8.24.

It is worth about $13.60, made up of 7.97 and 5.64. A one-year straddle would cost 15.93, so the chooser is cheaper, as you must decide early.

At the choice date, you take the larger of the call and the put. By parity with a zero rate, P=C−S+KP = C - S + K. So max⁡(C,P)=C+max⁡(K−St,0)\max(C, P) = C + \max(K - S_t, 0). The second term is a put expiring at the choice date, and you hold the call for the whole time.

Classic wrong answer. Thinking a chooser is the same as a straddle. If you decide at the outset, you have a single option, and if you decide at the end, you have a straddle. A chooser is between them.

8.3 Discretising

Question 8.25 ★★ QD, QR • any • junior, experienced

You simulate a lognormal stock by Euler, Si+1=Si(1+σΔt Z)S_{i+1} = S_i(1 + \sigma\sqrt{\Delta t}\,Z), with σ=100%\sigma = 100\% over one year and four steps, and no drift. What is the chance of a negative price at one step? What is E[ST2]/S02E[S_T^2]/S_0^2 in this scheme, and what is the true value? What should you simulate instead?

Answer

Answer to Question 8.25.

A negative price has a 2.3% chance at each step. The Euler scheme gives E[ST2]/S02=1.254≈2.44E[S_T^2]/S_0^2 = 1.25^4 \approx 2.44. The true value is e≈2.72e \approx 2.72. Simulate the log instead, as this is exact for a constant volatility.

Each step multiplies by 1+0.5Z1 + 0.5Z. That is below zero if Z<−2Z < -2, and Φ(−2)=0.023\Phi(-2) = 0.023. For the second moment, E[(1+0.5Z)2]=1.25E[(1 + 0.5Z)^2] = 1.25 per step. In the log scheme, Si+1=SieσΔtZ−σ2Δt/2S_{i+1} = S_ie^{\sigma\sqrt{\Delta t}Z - \sigma^2\Delta t/2} cannot go negative, and it has the right distribution for any step size.

Classic wrong answer. Using more steps first. That does cure it, but slowly, and the exact scheme costs nothing extra. Euler is for when no exact scheme exists.

Question 8.26 ★★ QD, QR • any • junior, experienced

Give the standard binomial tree’s parameters for 20% volatility, with a zero rate. For Δt=0.25\Delta t = 0.25, what are uu, dd and the probability of an up-move? For an at-the-money one-year call, the exact value is 7.9656. The tree gives 7.7692 with 10 steps, 8.1472 with 11, 7.9457 with 100, and 7.9852 with 101. Why does it oscillate? What cheap fix do these numbers suggest?

Answer

Answer to Question 8.26.

Use u=eσΔt≈1.105u = e^{\sigma\sqrt{\Delta t}} \approx 1.105, d=1/u≈0.905d = 1/u \approx 0.905 and q=(1−d)/(u−d)≈0.475q = (1 - d)/(u - d) \approx 0.475. It oscillates because the strike sits on a node for an even number of steps and between nodes for an odd number. Averaging two adjacent values cancels it: (7.9457+7.9852)/2=7.9655(7.9457 + 7.9852)/2 = 7.9655, which is very nearly exact.

The error falls like 1/n1/n, but it changes sign with the parity of nn. Ten and eleven steps average to 7.958. So you can get three-digit accuracy from a tree too small to give it directly. For a strike off the node, the error also depends on where the strike falls between nodes.

Classic wrong answer. Trusting one tree price. Here each is off with a sign set by the parity of its steps, and 100 and 101 steps bracket the answer.

Question 8.27 ★★ QD, QR • any • junior, experienced

You use an explicit finite-difference scheme on prices from 0 to 200, in steps of $1, for a stock with 20% volatility and a zero rate. What is the largest stable time step, and how many steps for a year? What happens if you go a little beyond it? Why is this a reason to go implicit?

Answer

Answer to Question 8.27.

The largest stable step is Δt=1/1,600\Delta t = 1/1{,}600 of a year, so 1,600 steps for a year. A little beyond that, the top of the grid develops a sawtooth and blows up.

The update is Vjnew=Vj+aj(Vj+1−2Vj+Vj−1)V_j^{\text{new}} = V_j + a_j(V_{j+1} - 2V_j + V_{j-1}), with aj=12σ2Sj2Δt/ΔS2a_j = \tfrac12\sigma^2S_j^2\Delta t/\Delta S^2. For stability, aj≤12a_j \leq \tfrac12. That is tightest at S=200S = 200: Δt≤1/(0.04×2002)\Delta t \leq 1/(0.04 \times 200^2).

The limit is set by the largest prices on the grid, far from anywhere you care about. An implicit scheme has no such limit, and it costs the same per step, up to a constant.

Classic wrong answer. Choosing the time step from the price level of interest, S=100S = 100. That gives four times the limit, and the far edge blows up.

Question 8.28 ★★ QR, QD, Risk • any • junior, experienced

You are given a correlation of 0.9 between A and B, and 0.9 between A and C, and someone sets the correlation of B and C to zero. What goes wrong when you take a Cholesky factor? Show it with a number. What is the lowest correlation of B and C that is allowed? How would you repair a matrix like that in practice?

Answer

Answer to Question 8.28.

The Cholesky fails with a negative pivot, since no such three variables exist. The determinant is −0.62-0.62, and the smallest eigenvalue is about −0.27-0.27. The lowest allowed correlation of B and C is 0.62. In practice, you take the nearest valid matrix.

If two variables each correlate 0.9 with A, they cannot be unrelated. The bound is ρBC≥0.92−0.19=0.62\rho_{BC} \geq 0.9^2 - 0.19 = 0.62, since (1−0.81)(1−0.81)=0.19\sqrt{(1 - 0.81)(1 - 0.81)} = 0.19.

To repair it, take the eigenvalues, clip the negative ones to a small positive value, and rescale so that the diagonal is 1. A better method is Higham’s nearest correlation matrix.

Classic wrong answer. Thinking that any symmetric matrix of numbers between −1-1 and 1 is a correlation matrix. This is a frequent bug in a risk system after someone overrides a single pair.

Question 8.29 ★★ QD, QR, QT • any • junior, experienced

An at-the-money one-year call on a $100 stock with a zero rate trades at $12. Find the implied volatility using a first guess from the rule of thumb, then Newton’s method. How many steps do you need for six digits? Where does Newton’s method fail in practice, and what is the safeguard?

Answer

Answer to Question 8.29.

The rule of thumb gives 12/40=30%12/40 = 30\%. One Newton step gets to 30.194%, and a second to 30.1938%, already enough for six digits.

The step is σnew=σ−(C(σ)−12)/vega\sigma_{\text{new}} = \sigma - (C(\sigma) - 12)/\text{vega}. The price at 30% is 11.9235, and the vega is 39.4. So the step is +0.00194+0.00194. It is so quick because an at-the-money price is nearly linear in volatility.

It fails where the vega is small: deep in or out of the money, or close to expiry. There it can overshoot to a negative volatility. So you keep a bracket and fall back on bisection, or Brent, and first check that the price lies within the no-arbitrage bounds.

Classic wrong answer. Skipping the bounds check. No volatility gives a price below intrinsic value, and the iteration then runs forever on a bad quote.

Question 8.30 ★★ QD, QR, Risk • any • junior, experienced

You estimate an at-the-money call’s delta on a $100 stock, with 20% volatility, one year and a zero rate, by bumping the stock $1 up and $1 down. You use 100,000 paths. The payoff’s standard deviation is about $13.15. What is the standard error of the delta if the up-run and the down-run use different random numbers? What about the same random numbers? Roughly what does that do?

Answer

Answer to Question 8.30.

With different random numbers, the standard error is about 0.029. With the same ones, it is about 0.002, which is about 16 times less. That is 250 times less variance, for nothing.

With independent runs, the estimate is (A−B)/2(A - B)/2, where each has an error of 13.15/100,000=0.041613.15/\sqrt{100{,}000} = 0.0416. So the error is 2×0.0416/2=0.029\sqrt 2 \times 0.0416/2 = 0.029. That is useless if delta is about 0.54.

With the same draws, the two payoffs nearly cancel path by path. What remains is a value of 0 or about 1 on each path. Its standard deviation is about 0.59, and 0.59/100,000≈0.00190.59/\sqrt{100{,}000} \approx 0.0019.

Classic wrong answer. Making the bump smaller to get precision. With independent runs, the error grows as the bump falls, in proportion to 1/h1/h.

Question 8.31 ★★ QR, QT, QD • any • junior, experienced

A basket holds equal weights in two stocks at 100, both with 30% volatility and with a correlation of 0.5. What is the basket’s volatility? Price an at-the-money one-year call on it, with a zero rate, using a single lognormal. How would you check that? What is the call worth with a correlation of 0 and of 1?

Answer

Answer to Question 8.31.

The basket’s volatility is about 26%, and the single-lognormal price is about $10.34. A simulation gives about 10.37. With a correlation of 0, it is about $8.45, and with a correlation of 1, about $11.92.

The volatility: 0.25×0.09×2+2×0.25×0.5×0.09=0.06750.25 \times 0.09 \times 2 + 2 \times 0.25 \times 0.5 \times 0.09 = 0.0675, whose root is 0.2598. Matching the true second moment, E[B2]/10,000=12e0.09+12e0.045E[B^2]/10{,}000 = \tfrac12e^{0.09} + \tfrac12e^{0.045}, gives 26.03% and about 10.35. The basket is a sum of lognormals and not itself lognormal, so the approximation is close but not exact, and a simulation is the check.

Classic wrong answer. Averaging the two volatilities, 30%. That is the correlation-of-1 case, and the diversification is what you are being paid for.

Question 8.32 ★★ QR, QD • any • junior, experienced

You price an at-the-money call by simulation, and you use the final stock price as a control variate, since you know its mean. If the correlation between the call’s payoff and the stock is 0.89, by how much does the variance fall? What is the optimal multiplier, and how do you estimate it? How would the correlation change for a deep in-the-money call?

Answer

Answer to Question 8.32.

The variance falls by the fraction ρ2\rho^2, so about 79%. So what remains is about 21%, and the error is about 46% of what it was, or the same as using about 4.8 times the paths. The optimal multiplier is Cov(payoff,ST)/Var(ST)\text{Cov}(\text{payoff}, S_T)/\text{Var}(S_T), about 0.58. You estimate it by a regression on a pilot sample.

The new estimate is Yˉ−β(Xˉ−E[X])\bar Y - \beta(\bar X - E[X]). Its variance is Var(Y)(1−ρ2)/N\text{Var}(Y)(1 - \rho^2)/N. So an at-the-money call has a standard deviation of 13.15 per path before, and about 6.0 after.

A deep in-the-money call nearly equals the stock, so its correlation is close to 1, and the gain is enormous. A deep out-of-the-money call behaves like a rare event, so the correlation falls, and the gain shrinks.

Classic wrong answer. Fitting β\beta on the same paths and saying nothing about it. That leaves a small bias, and with few paths you should use a pilot sample.

8.4 Exotics and schemes

Question 8.33 ★★★ QR, QD • any • junior, experienced

An option pays on the continuous geometric average of a stock over one year. The stock and strike are at 100, with 30% volatility and a zero rate. Show that the average is lognormal, and find its volatility and forward. What is the price? Why is there a closed form here, and not for an arithmetic average?

Answer

Answer to Question 8.33.

The volatility is σ/3≈17.3%\sigma/\sqrt 3 \approx 17.3\%, the forward is Se−σ2T/12≈99.25Se^{-\sigma^2T/12} \approx 99.25, and the price is about $6.51. There is a closed form since a sum of normals is normal, while a sum of lognormals has no simple law.

The log of the average is ln⁡S+1T∫0T(σWt−12σ2t) dt\ln S + \frac1T\int_0^T(\sigma W_t - \tfrac12\sigma^2t)\,dt. It is normal. Its mean is ln⁡S−σ2T/4\ln S - \sigma^2T/4, and the variance of the integral is σ2T/3\sigma^2T/3. So the forward is Sexp⁡(−σ2T/4+σ2T/6)=Se−σ2T/12S\exp(-\sigma^2T/4 + \sigma^2T/6) = Se^{-\sigma^2T/12}.

Apply Black’s formula to a forward of 99.25, a volatility of 17.3% and a strike of 100. On 252 daily closes, the discrete version has a slightly higher volatility and is about 6.53.

Classic wrong answer. Using SS as the forward. A geometric average is below an arithmetic one, and its mean falls with variance. Here it matters by about 0.4.

Follow-up. What are the ways to price the arithmetic option? Three are common: a matched lognormal, which is quick but gets the tails wrong at high volatility; a simulation with this geometric option as a control; and a partial differential equation with the average as an extra variable, which a change of variable can bring back to one dimension.

Question 8.34 ★★★ QR, QD • any • junior, experienced

An option pays on the continuous arithmetic average of a stock over one year. The stock and strike are at 100, with 30% volatility and a zero rate. Match a lognormal to the first two moments. The second moment of the continuous average is E[A2]=2S2(eσ2T−1−σ2T)/(σ2T)2E[A^2] = 2S^2(e^{\sigma^2T} - 1 - \sigma^2T)/(\sigma^2T)^2. What is the price? How do you check it by simulation with few paths, and what does an option on the geometric average do for you? By what factor does the standard error fall if the two payoffs correlate at 0.9992?

Answer

Answer to Question 8.34.

The moment-matched price is about $6.93. A simulation with the geometric option as a control variate confirms this at about 6.92 for daily averaging, with few paths. The standard error falls by about 25 times.

The first moment is E[A]=SE[A] = S at a zero rate. The second gives E[A2]=10,306.9E[A^2] = 10{,}306.9. So the matched volatility is ln⁡(1.03069)≈17.39%\sqrt{\ln(1.03069)} \approx 17.39\%.

For the check, simulate both payoffs with the same paths. The known geometric price is the control: PˉA−β(PˉG−G)\bar P_A - \beta(\bar P_G - G). The residual standard deviation is 1−0.99922≈0.04\sqrt{1 - 0.9992^2} \approx 0.04 of the original, so a factor of 25. So 100,000 paths give a standard error of 0.0014, where plain paths would give 0.036.

Classic wrong answer. Using the geometric price as the answer. Its forward is lower, and so it is too low by about 0.4. It is a control, and not an estimate.

Why it matters. Finding a related problem with a known answer is the most useful skill in simulation, and a desk uses this one daily.

Question 8.35 ★★★ QR, QT, QD • any • junior, experienced

An option lets you swap stock B for stock A at expiry, paying (SA−SB)+(S_A - S_B)^+. Both are at 100. Their volatilities are 30% and 20%, the correlation is 0.5, and it is a one-year option. What is it worth? Show why the rate does not enter. What is the trick? Check it in the limit where B has no volatility.

Answer

Answer to Question 8.35.

It is worth about 10.52. The volatility of the ratio is 0.09+0.04−2×0.5×0.3×0.2=26.5%\sqrt{0.09 + 0.04 - 2 \times 0.5 \times 0.3 \times 0.2} = 26.5\%. The rate does not enter because neither asset is being financed: this is Margrabe’s formula.

The trick is to measure everything in units of B. Then the contract pays (SA/SB−1)+(S_A/S_B - 1)^+ in shares of B, and the ratio is a martingale. It is a call with strike 1 at the ratio’s volatility, and with a zero rate, since B itself is the unit. So V=SB[ (SA/SB)Φ(d1)−Φ(d2)]V = S_B[\,(S_A/S_B)\Phi(d_1) - \Phi(d_2)], and at equal prices this is 100(2Φ(0.1323)−1)100(2\Phi(0.1323) - 1).

As B’s volatility goes to zero, the formula becomes Black’s with F=SAF = S_A, at A’s volatility, and with K=SBK = S_B. It is a call on A struck at a level that grows with the rate. The price also rises as correlation falls: with no correlation, the ratio’s volatility is 36% and the option is worth about 14.3.

Classic wrong answer. Using the volatilities’ difference, 10%. That is the case of perfect correlation, and it is the lowest possible.

Follow-up. How do you hedge it? Hold Φ(d1)≈0.553\Phi(d_1) \approx 0.553 of A and short Φ(d2)≈0.447\Phi(d_2) \approx 0.447 of B. Those two positions finance each other exactly as the prices move, so no cash account is needed.

Question 8.36 ★★★ QR, QT • bank, hedge fund, market maker • junior, experienced

A one-year call struck at 100 dies if the stock ever trades at 100 or lower. The stock is at 110, with a zero rate. What is it worth, in a model with any continuous martingale for the stock? Why does volatility not come in? Compare it with an ordinary call at 30% volatility, and say what the difference is worth to someone.

Answer

Answer to Question 8.36.

It is worth exactly $10. The volatility does not come in. An ordinary call at 30% is worth about $18.14, so the $8.14 gap is the value of the knock-in part.

As long as the stock has not hit 100, the option pays ST−KS_T - K. On a path that hits the barrier, S−KS - K is zero there. So the payoff is the stopped value of the martingale S−KS - K, which is worth S−KS - K today: optional stopping again.

The down-and-in call comes alive at the strike, when it holds nothing but time value, and that is the $8.14. A dealer can replicate the down-and-out with one share and a loan of KK, both closed at the barrier. This needs no gaps at the barrier, and the rate must be zero, or else equal to the carry.

Classic wrong answer. Trying to compute with the full barrier formula. It works, but it hides the point that no volatility enters. An interviewer asks this to see if you notice.

Follow-up. What if the barrier is at 95, below the strike? The volatility comes back, since a path can touch 100 and finish above it, and that is no longer the end of the matter. A rise in volatility now raises the value of a call that may still be alive at 100.

Question 8.37 ★★★ QR, QT, QD • bank, hedge fund, market maker • junior, experienced

A one-year call struck at 100 dies if the stock ever trades at 130. The stock is at 100, with a zero rate. Use the method of images to price it, taking 20%, 15% and 25% for the volatility. What is the sign of its vega? How does this compare with an ordinary call, and why?

Answer

Answer to Question 8.37.

The prices are about 2.97 at 20%, 3.87 at 15% and 2.08 at 25%. The vega is negative here, unlike an ordinary call, because a rise in volatility makes the knockout likelier.

The image formula is V(S)=U(S)−(S/B)U(B2/S)V(S) = U(S) - (S/B)U(B^2/S), where UU is a European contract with the payoff (ST−K)+(S_T - K)^+ cut off at BB. Thus U(x)=C(x,K)−C(x,B)−(B−K)D(x,B)U(x) = C(x, K) - C(x, B) - (B - K)D(x, B), with DD the digital. This VV meets the equation, and it is zero at the barrier, and its payoff is right. The factor S/BS/B comes from the drift of the log, with a zero rate.

An ordinary call only gains from volatility. Here the ordinary part is 7.97, and the extra probability of knocking out while deep in the money takes away more than the extra volatility adds.

Classic wrong answer. Assuming the vega is positive, since it is an option. The hedger’s risk here is also unusual: near the barrier the option’s value can fall to zero at once, and the delta goes negative.

Question 8.38 ★★★ QR, QD, QT • bank, hedge fund • junior, experienced

A one-year up-and-out call, on a stock at 100, is struck at 100 with a barrier at 130, 20% volatility and a zero rate. The barrier is only watched at the close, on 252 days. Its continuous price is 2.97. Should the daily one be higher or lower? What is the standard shift to the barrier that fixes the formula, and what does it give? How large is the effect on the barrier level?

Answer

Answer to Question 8.38.

It should be higher, because fewer checks mean fewer chances to die. The Broadie-Glasserman-Kou shift moves the barrier away by a factor e0.5826σΔte^{0.5826\sigma\sqrt{\Delta t}}, to about 130.96. The continuous formula at that barrier gives about 3.16. A simulation of daily checks gives about 3.14.

So a barrier move of under a dollar, in the far tail, changes the price by about 6%. That is why you must always ask how a barrier is monitored.

The constant 0.5826 is −ζ(1/2)/2π-\zeta(1/2)/\sqrt{2\pi}. On a daily check, σΔt=0.0126\sigma\sqrt{\Delta t} = 0.0126, so the factor is e0.00734e^{0.00734}.

Classic wrong answer. Pricing a daily barrier by a continuous formula. The error is sizeable, and it is largest where the option has most of its value near the barrier.

Question 8.39 ★★★ QR, QD • bank, hedge fund • junior, experienced

You price a one-year up-and-out call with a continuously watched barrier at 130, with the stock and strike at 100, 20% volatility and a zero rate. With monthly Monte Carlo steps, you get 3.73. The right answer is 2.97. What is the bias? How do you fix it without more steps? Given a month that starts at 120 and ends at 125, with 20% volatility, what is the chance it touched 130 in between?

Answer

Answer to Question 8.39.

The bias is that a path can cross 130 and come back between two monthly points. The fix is a Brownian-bridge correction: you weight each step by the chance of having stayed below. That gives 2.97 at the same monthly steps. For this month, the chance is about 15%.

Given two points, the path between them is a Brownian bridge in the log. The chance of crossing bb is exp⁡[−2(b−x1)(b−x2)/(σ2Δt)]\exp[-2(b - x_1)(b - x_2)/(\sigma^2\Delta t)], in logs. Here b−x1=ln⁡(130/120)=0.0800b - x_1 = \ln(130/120) = 0.0800 and b−x2=ln⁡(130/125)=0.0392b - x_2 = \ln(130/125) = 0.0392, and σ2Δt=0.04/12\sigma^2\Delta t = 0.04/12. So the exponent is −1.884-1.884, and the chance is 0.152.

Multiply each path’s payoff by the product of the survival chances over its steps. That has lower variance than sampling a crossing, and it cures the bias almost completely.

Classic wrong answer. Solving it with daily steps, thinking you have removed the bias. You have reduced it, as a daily simulation’s 3.14 against 2.97 shows, but you have not removed it.

Question 8.40 ★★★ QR, QD, Risk • any • experienced

You want a call’s delta by simulation, for a $100 stock and strike, 20% volatility, one year and a zero rate. Derive the pathwise estimate and the likelihood-ratio estimate. What are their means and standard deviations per path? Which do you use for a digital, and why?

Answer

Answer to Question 8.40.

The pathwise estimate is 1{ST>K}ST/S0\mathbf 1\{S_T > K\}S_T/S_0, with a mean of 0.54 and a standard deviation of 0.59. The likelihood-ratio estimate is (ST−K)+Z/(S0σT)(S_T - K)^+Z/(S_0\sigma\sqrt T), with a mean of 0.54 and a standard deviation of 1.34. For a digital you must use the likelihood ratio, because its payoff is not differentiable.

Pathwise: differentiate the payoff along the path. Since STS_T is proportional to S0S_0, ∂S0(ST−K)+=1{ST>K}ST/S0\partial_{S_0}(S_T - K)^+ = \mathbf 1\{S_T > K\}S_T/S_0.

Likelihood ratio: differentiate the density of the log price. The score is Z/(S0σT)Z/(S_0\sigma\sqrt T). It leaves the payoff alone, so it works with anything. But it has about 5 times the variance here, and much more for short-dated options.

For a digital, the pathwise derivative is zero almost everywhere, and the estimate is wrong: it gives zero. The other way is to smooth the digital into a tight call spread.

Classic wrong answer. Using pathwise on a digital and getting zero without noticing. A test of a Greek should compare with a closed form or with bumping.

Question 8.41 ★★★ QR, QT • any • junior, experienced

A stock follows a Brownian motion with no drift and a dollar volatility of $20 a year. A contract pays the difference between its highest price in the year and its starting price, and it is watched continuously. What is it worth, by reflection? How does that compare with an at-the-money straddle in the same model? What would you expect with daily checks only?

Answer

Answer to Question 8.41.

It is worth about $15.96, by reflection, and this is exactly the at-the-money straddle’s value in this model. With daily checks, expect about 15.2.

By reflection, max⁡WT\max W_T has the same law as ∣WT∣|W_T|. So the mean is σ2T/π=20×0.798\sigma\sqrt{2T/\pi} = 20 \times 0.798. The straddle pays ∣WT∣|W_T| in the same units, so it has the same mean.

Daily checks lower the maximum by about 0.5826σΔt=0.730.5826\sigma\sqrt{\Delta t} = 0.73, and a simulation gives about 15.2. The exact mean with daily checks comes from Spitzer’s identity: E[max⁡]=∑kE[Sk+]/kE[\max] = \sum_k E[S_k^+]/k, which is 15.24. The two contracts are not the same trade. The lookback’s pay is the highest level, and the straddle’s is the final distance from the start. They just have the same price. With a drift, or on a lognormal stock, the equality fails, because reflection needs a symmetric walk.

Classic wrong answer. Thinking the lookback must be worth twice the straddle, since it is “perfect hindsight”. It only gets the highest level, and the straddle gets either side.

Question 8.42 ★★★ QR, QT, QD • market maker, bank, hedge fund • junior, experienced

A $1 digital pays above 100 in a year. The stock is at 100 and the rate is zero. At-the-money implied volatility is 20%, the vega is 39.7 per unit of volatility, and the smile falls 0.2 points of volatility for each $1 of strike. What is the digital worth with no skew, and with it? Derive the correction. What is the sign for most equity indexes? How much does it change the chance?

Answer

Answer to Question 8.42.

With no skew, it is worth 0.460. With the skew, it is about 0.540, up by about 8 cents. Most equity indexes have a downward smile, so this is the sign you usually see.

The digital is −∂KC(K,σ(K))-\partial_KC(K, \sigma(K)), which is −∂KC−vega ∂Kσ-\partial_KC - \text{vega}\,\partial_K\sigma. The first term is Φ(d2)\Phi(d_2). The second is 39.7×0.002=0.07939.7 \times 0.002 = 0.079.

The correction is positive with a downward skew, since a higher strike means lower implied volatility and a lower call value. A call spread built from real quotes gets this automatically. So use the spread, and not a formula with one volatility.

Classic wrong answer. Pricing a digital by plugging the strike’s implied volatility into Φ(d2)\Phi(d_2). The error here is 8 cents on a 46-cent option, and it is the classic error on a digital.

Question 8.43 ★★★ QR, QD • any • experienced

You want the chance that a standard normal exceeds 4. With a million plain Monte Carlo draws, what is the relative standard error? Shift the draws by 4 and reweight. What is the weight, and what is the relative standard error now? What can go wrong with a shift when you do it in many dimensions?

Answer

Answer to Question 8.43.

The chance is about 3.17×10−53.17 \times 10^{-5}, and the plain relative standard error is about 18%. With the shift, the weight is e−4x+8e^{-4x + 8} on a draw xx, and the relative error falls to about 0.21%.

Plain: 1/Np1/\sqrt{Np}, with Np=31.7Np = 31.7 hits. Shifted: draw X=4+ZX = 4 + Z. The density ratio is φ(x)/φ(x−4)=e−4x+8\varphi(x)/\varphi(x - 4) = e^{-4x + 8}. About half of the draws hit, and they carry small, similar weights. The variance falls by a factor of about 7,000.

In many dimensions, a shift can leave weights that are dominated by a few paths, and an estimated standard error can look fine and yet be wrong, if the sample has missed the region that matters. So watch the effective sample size, and think hard about where the rare event really lives.

Classic wrong answer. Shifting too far. Past the threshold, the variance rises again, since the weights become very unequal among the draws.

Question 8.44 ★★★ QR, QD • any • experienced

You price a one-year at-the-money call by one normal draw per path, 2142^{14} paths, with 20% volatility. Compare the error of plain Monte Carlo with a scrambled Sobol sequence, as measured over twenty seeds. Why do the Sobol points do better? In what situations do you lose most of this advantage?

Answer

Answer to Question 8.44.

In this setting, plain Monte Carlo has an error of about 0.097, and a scrambled Sobol about 0.0006, or 150 times less. The Sobol points fill the range evenly, so their errors cancel.

Quasi-Monte Carlo gets near a rate of 1/N1/N on a smooth low-dimensional problem, in place of 1/N1/\sqrt N. Its advantage shrinks with many dimensions and with a discontinuous payoff. It also needs care with how the path’s dimensions are ordered, so the Brownian bridge puts most of the variance into the first few coordinates.

Scramble the sequence, since then you can get an error bar from repeated seeds.

Classic wrong answer. Using one Sobol run and quoting σ/N\sigma/\sqrt N as its error. Plain Monte Carlo’s error bar does not apply, and only repeated scrambles give a real one.

Question 8.45 ★★★ QR, QD • any • junior, experienced

You price a one-year American put on a stock and strike at 100, with 20% volatility and a 5% rate. A very large tree gives 6.0903, and the European is 5.5735. A 100-step tree gives 6.0824, a 101-step tree 6.1046 and a 200-step tree 6.0864. The 100-step European tree gives 5.5536. Compare the plain value, the average of 100 and 101 steps, the European control and doubling with extrapolation. Which is best here? Which is the usual textbook choice? What is the stock price below which you exercise today?

Answer

Answer to Question 8.45.

The extrapolation is the best here, with an error of 0.0001. The usual textbook choice is the European control, and here it is worse than the plain tree: its error is +0.0120+0.0120, against −0.0080-0.0080. The average has an error of +0.0031+0.0031. You exercise today below a level between $81 and $82.

Plain: 6.0824−6.09036.0824 - 6.0903. Average: (6.0824+6.1046)/2−6.0903(6.0824 + 6.1046)/2 - 6.0903. Control: 6.0824−5.5536+5.5735−6.09036.0824 - 5.5536 + 5.5735 - 6.0903. Extrapolation: 2×6.0864−6.0824−6.09032 \times 6.0864 - 6.0824 - 6.0903.

The control assumes the tree’s error for the American and the European are similar. Here, the European’s error is more than twice the American’s. So do not assume it, and test the correction on your own problem against a very large tree. The extrapolation needs steps of the same parity, as the error’s constant differs for odd and even.

Classic wrong answer. Quoting the control variate as a sure gain. The numbers here show that it is not one.

Question 8.46 ★★★ QD, QR • any • experienced

You solve a call with five days to go, T=0.02T = 0.02, by Crank-Nicolson on a fine price grid in steps of $0.25, with five time steps. The price is close enough, but the gamma at the strike comes out as −1.36-1.36. The true gamma is 0.141. What is happening, even though the scheme is unconditionally stable? What is the standard fix? What does it do to this gamma?

Answer

Answer to Question 8.46.

The scheme is stable, but it does not damp the high-frequency error. The kink in the payoff has high frequencies, and they survive as a sawtooth. So the prices look fine, and the gamma, a second difference, is garbage. The standard fix is Rannacher time-stepping: take the first few steps fully implicit. With two such steps, the gamma is 0.141.

Crank-Nicolson’s amplification factor for a high-frequency mode is (1−x)/(1+x)(1 - x)/(1 + x), where xx is large when Δt\Delta t is big compared with ΔS2\Delta S^2. That tends to −1-1, so the mode stays the same in size and flips sign at each step. An implicit step has the factor 1/(1+2x)1/(1 + 2x), which kills the mode.

So on this grid, near the strike, the second differences alternate: 0.870.87, −1.36-1.36, 0.870.87. After two implicit steps, they all lie near 0.141.

Classic wrong answer. Saying unconditional stability means accuracy. It only means the error does not grow. Here it does not shrink either.

Question 8.47 ★★★ QR, QD, Risk • any • junior, experienced

Find the payoff’s exact standard deviation for a one-year call on a $100 stock with 20% volatility and a zero rate, with E[((ST−K)+)2]E[((S_T - K)^+)^2] in closed form, for strikes of 100 and 130. How many paths do you need for a 1-cent standard error? How does the error compare with the price at each strike? What does this say about pricing tail options?

Answer

Answer to Question 8.47.

The standard deviations are about 13.15 at strike 100, and about 4.82 at strike 130. So you need about 1.73 million paths and about 233,000 paths for a 1-cent standard error. But as a share of the price, the error per path is 1.65 at 100 and 4.78 at 130.

The second moment is S2eσ2TΦ(d1+σT)−2SKΦ(d1)+K2Φ(d2)S^2e^{\sigma^2T}\Phi(d_1 + \sigma\sqrt T) - 2SK\Phi(d_1) + K^2\Phi(d_2). It follows from the same change of measure as the price, used once for ST2S_T^2 and once for STS_T. The prices are 7.97 and 1.01.

So for a tail option, the dollar error is smaller, but the relative error is worse by about 3 times here. As a strike moves farther out, it worsens quickly, which leads to importance sampling.

Classic wrong answer. Quoting a dollar standard error for a cheap option. One cent on a $1 option is 1%, and on an option worth 10 cents, it is 10%.

8.5 Three to build

Question 8.48 ★★★★ QR, QD • bank, hedge fund, market maker • experienced

Describe, step by step, the Longstaff-Schwartz regression method for a Bermudan put with 12 monthly exercise dates, struck at 100 on a $100 stock, with 20% volatility and a 5% rate. A tree gives 6.04. What does the method give with 100,000 paths, and what with 400? Which way is it biased when you reuse the fitting paths, and which way on fresh paths? Why do you regress only on in-the-money paths?

Answer

Answer to Question 8.48.

Simulate paths forward, then go backward. At each date, regress the discounted future cash on functions of the stock, using in-the-money paths only. Exercise where the immediate payoff beats the fitted value. With 100,000 paths, you get about 6.04, and on fresh paths about 6.03, each with a standard error of 0.023. With 400 paths, the fit overstates: over many runs, in-sample estimates average about 6.2 and fresh-path ones about 5.9. One run has a plain standard error near 0.37, or a spread of about 0.2 with antithetic pairs, so it cannot show this on its own.

In steps:

  1. Simulate paths at the 12 dates. Set each path’s cash flow to its payoff at expiry.
  2. Step back a date, and discount the cash flow.
  3. For paths in the money, regress that discounted cash on a cubic in SS.
  4. Where K−SK - S is above the fitted value, replace the cash flow by K−SK - S, at this date.
  5. Repeat, then average the discounted cash at time 0.

You use in-the-money paths only for two reasons. Out of the money, exercising is never right, so those paths cannot inform the choice. And including them spoils the fit in the region that matters.

On fresh paths, any rule you use is a valid exercise rule, and none beats the optimal rule. So the estimate is low-biased, up to noise. On the fitting paths, the rule has seen each path’s future, which adds an upward bias. This bias grows as paths fall.

Classic wrong answer. Treating the regression’s fitted value as the cash flow. Its role is only to decide. The estimate uses realised cash flows.

Question 8.49 ★★★★ QD, QR • bank, hedge fund, market maker • experienced

Set up an American put as a finite-difference problem on a grid in the stock price, for a $100 stock struck at 100, with 20% volatility, a 5% rate and a year to expiry. Write the condition that holds at every point, and how to solve it at each step. What do you get with a $1 grid and 100 time steps, against 6.0903? Where is the exercise boundary today? What goes wrong if you solve the linear system and then cut it off at the payoff?

Answer

Answer to Question 8.49.

At every point, V≥K−SV \geq K - S, and ∂tV+LV≤0\partial_tV + \mathcal LV \leq 0, and at least one of these is an equality. This is a linear complementarity problem. At each step, you solve it with projected successive over-relaxation. With a $1 grid and 100 steps, you get about 6.085, against 6.0903. The boundary today is between $81 and $82.

Here LV=12σ2S2VSS+rSVS−rV\mathcal LV = \tfrac12\sigma^2S^2V_{SS} + rSV_S - rV. So either you hold, and the equation holds, or you exercise, and the value is the payoff.

Each step is Ax=bAx = b, with x≥gx \geq g, where gg is the payoff. Projected SOR sweeps through the points, and after each update, it takes the larger of the new value and gg. So the result satisfies all three conditions together.

If you solve the system and then cut it off at the payoff, you are explicit in the exercise decision: the point next to the boundary used a neighbour that was not yet corrected. That has lower accuracy in time, and it can break down at larger time steps with Crank-Nicolson. For a put, the Brennan-Schwartz algorithm is a direct and correct alternative, because the boundary has only one crossing.

Classic wrong answer. Forgetting to take a few fully implicit steps at the start (Rannacher time-stepping). With Crank-Nicolson, the kink in the payoff makes the solution oscillate.

Question 8.50 ★★★★ QR, QD • hedge fund, bank, market maker • experienced

Given a model’s characteristic function for the log price, ϕ(u)=E[eiuln⁡ST]\phi(u) = E[e^{iu\ln S_T}], derive the call price from two probabilities, and write them as integrals. Test it with Black-Scholes at strikes of 100 and 120, with a $100 stock, 20% volatility, a zero rate and one year. What does it give, and how much do you lose to the upper limit of integration? Why would anyone do this if a formula exists?

Answer

Answer to Question 8.50.

The call is C=SP1−Ke−rTP2C = SP_1 - Ke^{-rT}P_2, where

P2=12+1π∫0∞Re⁡e−iuln⁡Kϕ(u)iu du,P1=12+1π∫0∞Re⁡e−iuln⁡Kϕ(u−i)iu ϕ(−i) du.P_2 = \tfrac12 + \frac1\pi\int_0^\infty\operatorname{Re}\frac{e^{-iu\ln K}\phi(u)}{iu}\,du, \quad P_1 = \tfrac12 + \frac1\pi\int_0^\infty\operatorname{Re}\frac{e^{-iu\ln K}\phi(u - i)}{iu\,\phi(-i)}\,du.

For the test, at 100 it gives 7.965567, with P1=0.539828P_1 = 0.539828 and P2=0.460172P_2 = 0.460172. At 120 it gives 2.147299. At an upper limit of 200 in uu, the loss is under 10−710^{-7}.

P2P_2 is the chance of finishing above KK, and P1P_1 is that same chance in the stock measure, where the characteristic function is ϕ(u−i)/ϕ(−i)\phi(u - i)/\phi(-i). This is the Gil-Pelaez inversion formula.

In Black-Scholes, ϕ(u)=exp⁡(iu(ln⁡S−σ2T/2)−σ2u2T/2)\phi(u) = \exp(iu(\ln S - \sigma^2T/2) - \sigma^2u^2T/2). The tail in uu decays like a Gaussian with the scale 1/(σT)1/(\sigma\sqrt T), so a short-dated option needs a larger limit.

You would never do this for Black-Scholes. You test the code on it, as the exact answer is known. Then it applies to a model with no closed-form density, such as Heston or a jump-diffusion, whose ϕ\phi is explicit.

Classic wrong answer. Taking the integral from u=0u = 0 without care. The integrand has a finite limit there, but evaluating it directly gives 0/00/0.