---
title: "FX Derivatives"
book: "Derivatives and Volatility"
subject: quant
language: en
chapter: 20
exercises: 8
source: https://one-course.com/books/quant/5/en/chapter/20-fx-derivatives
---

# Chapter 20 — FX Derivatives

On 11 August 2015 the People’s Bank of China changed how it set the renminbi’s daily central parity against the dollar. The parity would now follow the previous day’s closing market rate rather than a preset target. In the two days that followed, the renminbi fell 2.8% against the dollar, and currencies across Asia fell with it. For a client holding a target-redemption forward, a structure that pays a little while the rate stays on one side of a strike and loses twice as fast on the other, a move of that size is the difference between a product that redeems early with a small gain and one that runs to maturity at a large loss. Currency options are quoted in a highly standardised way, in volatility by delta, and their exotics are priced from those quotes. This chapter revisits the pricing conventions, builds the market’s own smile-adjustment rule, vanna–volga, prices barriers and target-redemption forwards under models that fit the same smile, and introduces the model that combines local and stochastic volatility.

## 20.1 Pricing conventions revisited

One Quant Book 2, chapter 19, set out how currency options are quoted: in volatility, by delta, with the at-the-money straddle, the risk reversal and the butterfly as the three quoted instruments per expiry. The model under the quotes is the following.

**Definition 20.1 (Garman–Kohlhagen model).**

The *Garman–Kohlhagen model* is Black–Scholes for an exchange rate $S$ (units of the quote currency per unit of the base currency): the base currency is an asset paying a continuous yield equal to its interest rate $r_f$, the quote currency’s rate $r_d$ discounts, and a call on the base currency is worth $e^{-r_fT}S\,\Phi(d_1)-e^{-r_dT}K\,\Phi(d_2)$ with $d_{1,2}=\bigl(\ln(F/K)\pm\frac12\sigma^2T\bigr)/(\sigma\sqrt T)$ and $F=Se^{(r_d-r_f)T}$.

Three conventions that the model leaves open decide every quoted number: which delta (spot or forward, premium-adjusted or not), which at-the-money (the delta-neutral straddle for most pairs), and how the butterfly is defined. Book 2’s component `firm.fxsmile` implements them. This chapter takes a pair whose market is known exactly, so that every method can be checked against the truth. The pair is a dollar against an emerging currency, with spot 7.00, a quote-currency rate of 3% and a dollar rate of 5%, and its market is a [Heston model](https://one-course.com/books/quant/5/en/chapter/10-stochastic-volatility#def-dv-stochastic-volatility-heston) (chapter 10) with $v_0=0.0036$, $\kappa=1.5$, $\bar v=0.0049$, $\eta=0.30$ and $\rho=+0.5$. The correlation is positive because in such pairs the dollar’s calls, the protection against the emerging currency’s fall, are the expensive side.

**Example 20.2 (The broker’s screen).**

At one year the market implies an at-the-money volatility of 5.32% (delta-neutral straddle strike 6.871, against a forward of 6.861). The 25-delta risk reversal is $+1.89$ volatility points and the butterfly $+0.46$, with the 25-delta strikes at 6.662 and 7.177. At 10 delta the risk reversal is $+3.77$ and the butterfly $+1.71$ (strikes 6.442 and 7.702).

## 20.2 The vanna–volga method

Dealers in barrier and touch options needed a rule that prices them from the three quoted instruments without a full smile model. The rule they adopted hedges the exotic’s volatility risk with the three instruments and charges their cost.

**Definition 20.3 (Vanna–volga method).**

The *vanna–volga method* prices an option as its Black price at the at-the-money volatility plus the smile cost of a portfolio of the three quoted instruments (25-delta put, at-the-money, 25-delta call) that matches the option’s [vega](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks), [vanna](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks) and [volga](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks) (chapter 4), all computed at the at-the-money volatility.

For a vanilla at strike $K$ the weights $w_i$ solve a three-by-three linear system in the pillars’ [vega](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks), [vanna](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks) and [volga](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks), and the price is $C_{\mathrm{BS}}(K,\sigma_{\mathrm{ATM}})+\sum_iw_i\bigl(C^{\mathrm{mkt}}_i-C^{\mathrm{BS}}_i\bigr)$. It reproduces the three quotes exactly, and between them it gives a smooth smile, which is why the method is widely used in currency markets to build a whole smile from three quotes. Its underlying assumption has been described as a “flat but stochastic” implied volatility. Outside the pillars it extrapolates, and there it can be wrong.

**Example 20.4 (Vanna–volga against the true smile).**

Built from the three 25-delta pillars of [Example 20.2](#ex-dv-fx-derivatives-quotes), the vanna–volga smile matches the market to a few hundredths of a point between the pillars. At the 10-delta call strike it gives 7.94% against the market’s 8.91%, a point low ([Figure 20.1](#fig-dv-fx-derivatives-smile)). The 10-delta quotes carry information that the three pillars do not.

![One-year smile of the chapter’s pair from 10-delta put to 10-delta call: the market, and the vanna–volga smile built from the 25-delta put, the at-the-money straddle and the 25-delta call. Exact at the pillars, close between them, low in the call wing. Data: the tutorial.](https://one-course.com/images/onecourse/chapters/quant-5/dv-fx-derivatives/fig-00aa8537eb50.svg)

***Figure 20.1.** One-year smile of the chapter’s pair from 10-delta put to 10-delta call: the market, and the vanna–volga smile built from the 25-delta put, the at-the-money straddle and the 25-delta call. Exact at the pillars, close between them, low in the call wing. Data: the tutorial.*

For a touch or a barrier the same idea is applied to the exotic’s own [vanna](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks) and [volga](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks). The costs are those of the risk reversal (the market price of [vanna](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks)) and of the butterfly (the market price of [volga](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks)). Market practice then scales the correction by a probability, commonly the probability of not touching the barrier, because a barrier that is hit early stops needing a smile hedge. The scaling is a convention, not a derivation, and different desks use different ones. The next section measures what it does.

## 20.3 Barriers and target-redemption forwards

**Example 20.5 (One-touches under five prices).**

A one-year one-touch paying 1 at expiry if the rate touches an upper barrier, continuous monitoring ([Figure 20.2](#fig-dv-fx-derivatives-onetouch)). For a barrier at 7.20, Black at the at-the-money volatility gives 45.5% of the payout, vanna–volga 34.5%, [local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model) 43.3%, stochastic-local volatility 42.2% and Heston 38.9%. At 7.60 they give 6.0%, 21.8%, 14.3%, 14.0% and 13.3%. At 8.00 they give 0.4%, 6.7%, 6.5%, 6.4% and 6.2%. The three models fit the same smile and disagree by up to 4.4 points. The at-the-money price is far off, and vanna–volga’s convention overshoots the models at the middle barriers by more than half.

![One-year upper one-touches on the chapter’s pair (spot 7.00) by barrier. The three models fit the same smile; Black at the at-the-money volatility ignores it; vanna–volga applies the market’s rule of thumb. Data: the tutorial.](https://one-course.com/images/onecourse/chapters/quant-5/dv-fx-derivatives/fig-8c26e4b638b5.svg)

***Figure 20.2.** One-year upper one-touches on the chapter’s pair (spot 7.00) by barrier. The three models fit the same smile; Black at the at-the-money volatility ignores it; vanna–volga applies the market’s rule of thumb. Data: the tutorial.*

The models’ disagreement is the dynamics of chapters 9 to 11 again. [Local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model) makes the smile a function of the spot, so as the rate rises toward the barrier it enters the high-volatility call wing and touches more often. Heston keeps part of the volatility in a variance process, correlated with the rate but not a function of it. A touch depends on the whole path, and so on those dynamics, not only on the terminal smile.

The currency market’s most notorious [structured products](https://one-course.com/books/quant/5/en/chapter/19-the-structured-products-business#def-dv-the-structured-products-business-product) are built on forwards rather than options.

**Definition 20.6 (Target redemption forward).**

A *target redemption forward* (TARF) is a strip of forward contracts at an enhanced strike, one per fixing date, that terminates once the client’s accumulated gains reach a target. Fixings on the unfavourable side of the strike are settled on a leveraged notional (typically twice), with no limit on the losses.

**Definition 20.7 (Accumulator).**

An *accumulator* is the equity or currency analogue in which the client buys (or sells) a fixed quantity at a discounted strike on each fixing while a knock-out barrier has not been touched, and twice the quantity when the price is on the wrong side of the strike.

Both give the client a better rate than the forward in exchange for a short option position with leverage. The target or the knock-out caps the upside quickly, and the leverage leaves the downside open. The client has sold volatility, and usually more than he realises. The product is priced at zero cost by choosing the strike.

**Example 20.8 (A TARF on the pair).**

The client sells one million dollars at each of twelve monthly fixings at a strike $K$: a gain of $K-S$ per dollar when the fixing is below $K$, a loss of $2(S-K)$ when above, and redemption once the gains reach 0.30 per dollar. Under stochastic-local volatility (mixing 0.5) the zero-cost strike is 7.312, against a spot of 7.00 and a one-year forward of 6.861. The client is offered a rate 6.6% better than the forward. The TARF redeems in 98.1% of paths, after 1.73 fixings on average, and 95% of paths end with a gain of at least 126 000 ([Figure 20.3](#fig-dv-fx-derivatives-tarf), left). The zero value comes from the other 5%. If the rate rises by 10% over the first quarter, the client’s expected loss is 7.12 million per million of monthly notional: 1.01 million in the first quarter and the rest over nine more fixings at twice the notional. A rise of 5% costs 0.99 million, while a rise of up to 2.5% still lets the TARF redeem with the full 0.30 million ([Figure 20.3](#fig-dv-fx-derivatives-tarf), right).

![A zero-cost TARF on the chapter’s pair (client sells the dollar at 7.312, twice the notional above it, target 0.30). Left: the number of fixings before redemption: most end at the first or second. Right: the client’s expected P&L, per million of monthly notional, if the rate moves by a given amount over the first quarter; the fixings of a TARF that fails to redeem are paid at twice the notional. Data: the tutorial.](https://one-course.com/images/onecourse/chapters/quant-5/dv-fx-derivatives/fig-6ac111bf692c.svg)

***Figure 20.3.** A zero-cost TARF on the chapter’s pair (client sells the dollar at 7.312, twice the notional above it, target 0.30). Left: the number of fixings before redemption: most end at the first or second. Right: the client’s expected P&L, per million of monthly notional, if the rate moves by a given amount over the first quarter; the fixings of a TARF that fails to redeem are paid at twice the notional. Data: the tutorial.*

The August 2015 move shows why the product is dangerous. For a client in a TARF of this kind, a sustained depreciation of the emerging currency is exactly the scenario the zero-cost strike was paid for. The target never fills, and the leveraged fixings accumulate. The dealer’s side is no simpler. A TARF’s delta flips as the accumulated gain approaches the target, and its value depends on the smile’s dynamics through the path, like the touches above.

## 20.4 Stochastic-local volatility

[Local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model) fits the smile and gets the dynamics wrong in one direction; stochastic volatility gets them partly right and cannot fit the smile exactly. The natural compromise combines them.

**Definition 20.9 (Stochastic-local volatility model).**

A *stochastic-local volatility model* (SLV) lets the underlying’s volatility be the product of a function of time and spot and a stochastic factor:

$$
\frac{dS_t}{S_t}=(r_d-r_f)\,dt+L(t,S_t)\sqrt{v_t}\,dW^1_t,\qquad dv_t=\kappa(\bar v-v_t)\,dt+\lambda\eta\sqrt{v_t}\,dW^2_t,
$$

with a mixing weight $\lambda\in[0,1]$ scaling the volatility of variance: $\lambda=0$ reduces the model to [local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model) and $\lambda=1$ with $L(t,S)=1$ to Heston.

**Definition 20.10 (Leverage function).**

The *leverage function* $L(t,S)$ of a [stochastic-local volatility model](#def-dv-fx-derivatives-slv) is the function that makes the model reprice every vanilla. By the [Markovian projection](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-projection) of chapter 9 it satisfies

$$
L(t,S)^2\,\E\bigl[v_t\mid S_t=S\bigr]=\sigma_{\mathrm{loc}}(t,S)^2,
$$

with $\sigma_{\mathrm{loc}}(t,S)$ the market’s [local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model).

The equation is circular: $L(t,S)$ depends on the conditional expectation, which depends on the law of the paths, which depends on $L(t,S)$. Guyon and Henry-Labordère showed that the particle method of McKean resolves it exactly. Simulate a large set of particles forward in time. At each step estimate $\E[v_t\mid S_t=S]$ from the particles themselves, for instance by sorting them into bins in $S$, and set $L(t,S)$ from the equation before taking the next step. The calibration costs one simulation. The build does it with 50 000 particles and 40 bins.

**Example 20.11 (The leverage function of the pair).**

With mixing $\lambda=0.5$, the calibrated $L(t,S)$ near the forward is 0.76 at three months, 0.73 at six months and 0.79 at one year. It rises to about 1.4 or 1.5 in both wings ([Figure 20.4](#fig-dv-fx-derivatives-leverage)). All three models reprice the one-year smile: at the 10-delta put, the 25-delta put, the at-the-money straddle, the 25-delta call and the 10-delta call, stochastic-local volatility gives 5.22%, 4.90%, 5.38%, 6.77% and 8.96%, against the market’s 5.14%, 4.84%, 5.32%, 6.72% and 8.91%. The differences, below a tenth of a point, come from the simulation’s daily Euler steps.

![The leverage function of the stochastic-local volatility model (mixing 0.5) calibrated by the particle method to the chapter’s pair, at three dates, over the range the particles cover. Below one near the forward, above one in the wings: the local part supplies the smile that half the volatility of variance leaves out. Data: the tutorial.](https://one-course.com/images/onecourse/chapters/quant-5/dv-fx-derivatives/fig-dc1788ac8706.svg)

***Figure 20.4.** The [leverage function](#def-dv-fx-derivatives-leverage) of the [stochastic-local volatility model](#def-dv-fx-derivatives-slv) (mixing 0.5) calibrated by the particle method to the chapter’s pair, at three dates, over the range the particles cover. Below one near the forward, above one in the wings: the local part supplies the smile that half the volatility of variance leaves out. Data: the tutorial.*

The mixing weight is the model’s free parameter. It is not fitted to vanillas, which every $\lambda$ reprices. It is chosen from the products that depend on dynamics, touches and barriers above all, by calibrating it to their prices when the market quotes them, or to the [forward smile](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-forward) when it does not. In the example, moving from [local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model) to Heston lowers the one-touch at 7.20 from 43.3% to 38.9%. Stochastic-local volatility with $\lambda=0.5$ sits between them, at 42.2%.

## 20.5 An FX exotic book

A currency exotics desk carries thousands of touches, barriers, TARFs and [accumulators](#def-dv-fx-derivatives-accumulator) across dozens of pairs. Its daily questions follow from this chapter.

- **Which model, which mixing.** One stochastic-local model per pair, its mixing weight calibrated to the liquid touch market, and the vanna–volga price kept alongside as the market’s reference for quoting.
- **Where the risk sits.** [Vega](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks) by expiry, and [vanna](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks) and [volga](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks) , which a barrier book concentrates near its barriers. TARF books add a large exposure to the rate’s drift and to jumps, since a sustained move is exactly what they are short.
- **What the model cannot see.** Managed currencies move in steps when policy changes, as the August 2015 fixing change showed. The 2.8% in two days was a jump for a model calibrated on a pair that had traded near the weak side of a narrow band. Jump risk and the policy regime belong in the reserves (chapter 27), not in the volatility.

## 20.6 Tutorial: from three quotes to a TARF

**Goal.** Read the broker quotes from a known market, build the vanna–volga smile and one-touch, calibrate a [stochastic-local volatility model](#def-dv-fx-derivatives-slv) by the particle method, and price a TARF. **End state:** the four figures and the numbers of the weekend problem.

1. **Vanna–volga weights and price**: `def vv_weights (k, pillars, s, t, rd, rf, vol_atm): """Weights on the three pillar options that match the vega, vanna and volga of an option at strike k, all computed at the at-the-money volatility.""" a = np.array([_greeks(s, kp, t, rd, rf, vol_atm) for kp in pillars]).T b = np.array(_greeks(s, k, t, rd, rf, vol_atm)) return np.linalg.solve(a, b) def vv_price (k, pillars, pillar_vols, s, t, rd, rf, phi: int = 1 ) -> float : """Vanna-volga price of a vanilla at strike k: its Black price at the ATM volatility plus the weighted market costs of the three pillars (pillars ordered put wing, ATM, call wing).""" vol_atm = pillar_vols[1 ] w = vv_weights(k, pillars, s, t, rd, rf, vol_atm) cost = [gk(s, kp, t, rd, rf, v) - gk(s, kp, t, rd, rf, vol_atm) for kp, v in zip (pillars, pillar_vols, strict=True )] return gk(s, k, t, rd, rf, vol_atm, phi) + float (w @ np.array(cost))` **Listing 20.1.** Vanna–volga weights and the vanilla price. code/firm/fxvol/firm_fxvol.py
2. **The particle method**: bin the particles in spot, estimate the conditional variance, set the leverage and step: `def calibrate_leverage (model: SLV, local_vol, s0: float , rd: float , rf: float , t_end: float , steps_per_year: int = 252 , n: int = 50_000 , bins: int = 40 , seed: int = 20 ): """Particle method: simulate the model, and at every step set L(t, S)^2 = sigma_LV(t, S)^2 / E[v_t | S_t = S], the conditional expectation estimated by binning the particles in S (quantile bins, linear interpolation). Returns (times, list of (bin centres, L values)).""" rng = np.random.default_rng(seed) steps = round (t_end * steps_per_year) dt = t_end / steps x = np.full(n, math.log(s0)) v = np.full(n, model.v0) c = math.sqrt(1 - model.rho ** 2 ) table = [] times = [] for i in range (steps): t = i * dt s = np.exp(x) vp = np.maximum(v, 1e-12 ) order = np.argsort(s) edges = np.array_split(order, bins) centres = np.array([s[e].mean() for e in edges]) ev = np.array([vp[e].mean() for e in edges]) lv = local_vol(max (t, 1e-3 ), centres) lev = lv / np.sqrt(ev) table.append((centres, lev)) times.append(t) lpart = np.interp(s, centres, lev) z1 = rng.standard_normal(n) z2 = model.rho * z1 + c * rng.standard_normal(n) sig = lpart * np.sqrt(vp) x = x + (rd - rf - 0.5 * sig * sig) * dt + sig * math.sqrt(dt) * z1 v = v + model.kappa * (model.vbar - vp) * dt + model.mix * model.eta * np.sqrt(vp * dt) * z2 return np.array(times), table` **Listing 20.2.** Leverage function by the particle method. code/firm/fxvol/firm_fxvol.py
3. **The TARF on simulated fixings**: `def tarf_client_pnl (fixings: np.ndarray, strike: float , target: float , leverage: float = 2.0 , notional: float = 1e6 ) -> dict : """Client sells `notional` of the base currency at `strike` at each fixing while the spot is below it (a gain of strike - S per unit), and `leverage` times the notional when the spot is above it (a loss); the contract ends at the fixing where the accumulated gain reaches `target` (per unit), that fixing's gain capped at the target. fixings: (n_paths, n_fixings). Returns the P&L per path (quote currency, undiscounted) and the number of fixings each path lived.""" n, m = fixings.shape alive = np.ones(n, bool ) gained = np.zeros(n) pnl = np.zeros(n) lived = np.zeros(n, int ) for j in range (m): s = fixings[:, j] gain = np.maximum(strike - s, 0.0 ) gain = np.minimum(gain, np.maximum(target - gained, 0.0 )) loss = leverage * np.maximum(s - strike, 0.0 ) pnl += np.where(alive, notional * (gain - loss), 0.0 ) gained += np.where(alive, gain, 0.0 ) lived += alive alive &= gained < target - 1e-12 return {" pnl " : pnl, " fixings " : lived, " redeemed " : ~alive}` **Listing 20.3.** Target-redemption forward cash flows. code/firm/fxvol/firm_fxvol.py
4. **Run** `dv_fx.quotes()` , `vv_smile()` , `one_touches()` , `tarf_summary()` , `tarf_scenario(0.10)` and `fig_fx.py` . The market’s [local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model) is Dupire on a mesh of Heston prices (one Fourier evaluation per expiry).

**What to change next.** Fit the mixing weight so that the model’s one-touch at 7.60 matches the vanna–volga price; price the TARF under [local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model) and under Heston and compare the zero-cost strikes; add a knock-out to the TARF.

## 20.7 Build: FX volatility

**Purpose.** The miniature firm’s currency-exotics engine: the market convention for touches and barriers, the stochastic-local model the desk prices with, and the TARF and [accumulator](#def-dv-fx-derivatives-accumulator) cash flows its structured-products desk sells.

**Interface.** `vv_weights`, `vv_price`, `vv_implied`; `up_hit_probability`, `one_touch_bs`, `one_touch_vv`; `SLV(v0, kappa, vbar, eta, rho, mix)`; `calibrate_leverage(model, local_vol, s0, rd, rf, t_end, …, n, bins)`; `simulate_slv(model, leverage, s0, rd, rf, t_end, n, …)`; `tarf_client_pnl(fixings, strike, target, leverage, notional)`.

**Rules.** Quotes are converted with Book 2’s conventions before any model sees them; the [leverage function](#def-dv-fx-derivatives-leverage) is recalibrated with every change of the smile; the mixing weight is a documented, reviewed input; touches from daily paths are shifted to continuous monitoring.

**Acceptance tests.** `code/firm/fxvol/tests/`: vanna–volga reproduces its pillars and a flat smile; the Black one-touch matches a simulation; with no volatility of variance the stochastic-local model is [local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model) and reprices a flat smile; TARF cash flows on hand paths.

**Stretch.** Double no-touches under SLV; a mixing weight calibrated to touch quotes; [accumulators](#def-dv-fx-derivatives-accumulator) with daily knock-outs; the TARF’s delta and [vega](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks) by fixing.

Sources and further reading

- M. B. Garman and S. W. Kohlhagen, “Foreign currency option values”, *Journal of International Money and Finance* 2(3) (1983) 231–237.
- J. Guyon and P. Henry-Labordère, “The smile calibration problem solved”, SSRN 1885032 (2011).
- A. Perederiy, “Vanna–volga method for normal volatilities”, SSRN 3262146 (2018); F. Rolloos, “On the flat but stochastic implied volatility assumption in the vanna–volga model”, SSRN 4287718 (2022).
- Bank for International Settlements, *Quarterly Review* (September 2015), “EME vulnerabilities take centre stage”.

## 20.8 Exercises

**Exercise 20.1 ★.**

Show that the Garman–Kohlhagen call is Black’s formula on the forward $F=Se^{(r_d-r_f)T}$, discounted at $r_d$.

**Solution of Exercise 20.1.**

$e^{-r_fT}S=e^{-r_dT}F$, so $e^{-r_fT}S\Phi(d_1)-e^{-r_dT}K\Phi(d_2)=e^{-r_dT}\bigl(F\Phi(d_1)-K\Phi(d_2)\bigr)$, Black’s formula on the forward with the quote currency’s discount factor; $d_1$ and $d_2$ depend on $S$ only through $F$.

**Exercise 20.2 ★.**

Why is the correlation between the rate and its variance positive for a dollar against an emerging currency, and what does it do to the risk reversal?

**Solution of Exercise 20.2.**

The market’s fear is a fall of the emerging currency, a rise of the dollar against it, and such falls come with rising volatility: the rate and its variance move together, $\rho>0$. Calls on the dollar (the protection) are then priced at higher volatilities than puts, and the risk reversal is positive: $+1.89$ points at 25 delta.

**Exercise 20.3 ★.**

The client’s TARF strike is 7.312 while the forward is 6.861. What has the client paid for a rate 6.6% better than the forward?

**Solution of Exercise 20.3.**

A leveraged short option position: on each fixing above the strike the client sells twice the notional at a rate below the market, and the target caps the gains; the improvement is the premium of that position, received as a better rate.

**Exercise 20.4 ★★.**

Explain why the vanna–volga smile is exact at the three pillars and why it can be wrong at 10 delta.

**Solution of Exercise 20.4.**

The weights match the pillars’ [vega](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks), [vanna](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks) and [volga](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks) exactly, so at a pillar the weight is one on itself and zero elsewhere, and the price is the market price. Beyond the pillars the method assumes the smile’s cost is carried by those three risks at the at-the-money volatility; the 10-delta wings have a curvature the 25-delta quotes do not pin down, so the extrapolation misses it (a point at the 10-delta call here).

**Exercise 20.5 ★★.**

[Local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model) gives the highest one-touch price at 7.20 among the three models. Explain.

**Solution of Exercise 20.5.**

In [local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model) the volatility is a function of the spot, and the market’s call wing is expensive, so as the rate rises towards 7.20 its volatility rises with it and it reaches the barrier more easily. In Heston part of the volatility is carried by a variance process that is not tied to the spot, so the path to the barrier is less volatile on average.

**Exercise 20.6 ★★.**

Show that with $\lambda=0$ the [leverage function](#def-dv-fx-derivatives-leverage) is $\sigma_{\mathrm{loc}}(t,S)/\sqrt{v(t)}$, with $v(t)$ the deterministic variance path.

**Solution of Exercise 20.6.**

With $\lambda=0$ the variance follows $dv=\kappa(\bar v-v)dt$, a deterministic path $v(t)=\bar v+(v_0-\bar v)e^{-\kappa t}$; then $\E[v_t\mid S_t=S]=v(t)$ and $L(t,S)^2v(t)=\sigma_{\mathrm{loc}}(t,S)^2$.

**Exercise 20.7 ★★★.**

*Coding.* Price the chapter’s TARF under [local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model) and under Heston and compare the zero-cost strikes and the expected number of fixings.

**Solution of Exercise 20.7.**

The zero-cost strike is 7.325 under [local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model), 7.312 under stochastic-local volatility and 7.305 under Heston; the expected number of fixings is 1.64, 1.73 and 1.78. The model with the more volatile path to the upper side ([local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model)) prices the client’s leveraged short calls higher, so the dealer can offer a better strike.

**Exercise 20.8 ★★★.**

*Find the flaw.* “Our TARF redeems in 98% of scenarios, so for a client it is almost a free improvement on the forward rate.”

**Solution of Exercise 20.8.**

The 98% redeem with a small, capped gain (0.30 per dollar at most); the other 2% run with twice the notional against the client and carry all the product’s value: the expected loss in those paths is large enough to make the whole worth zero. Probability of redemption says nothing about the size of the losses.

## 20.9 Problem: The TARF

**Problem 20.1.**

Weekend problem — how long it lives and what it costs

A client sells one million dollars a month for a year against the chapter’s emerging currency through a TARF: twice the notional when the fixing is above the strike, redemption when the accumulated gain reaches 0.30 per dollar. The dealer prices with stochastic-local volatility (mixing 0.5).

**Part I — The market.**

1. Give the one-year at-the-money volatility, the 25-delta risk reversal and butterfly.
2. What does the positive risk reversal say about the market’s fears?
3. Give the one-year forward, and explain why it is below the spot.
4. How well does the stochastic-local model reprice the one-year smile?
5. Give the [leverage function](#def-dv-fx-derivatives-leverage) near the forward at one year.

**Part II — The TARF.**

6. Give the zero-cost strike and its improvement over the forward.
7. Give the share of paths that redeem and the expected number of fixings.
8. What is the client’s gain on the typical path, and where does the zero value come from?
9. Give the zero-cost strikes under [local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model) and under Heston.
10. Why does a larger target lower the strike the dealer can offer?

**Part III — The move.**

11. The rate rises 10% over the first quarter. Give the client’s expected loss, and how much of it is incurred in the first quarter.
12. Give the same for a 5% rise.
13. How many fixings does the TARF live, on average, after a 10% rise?
14. What does the dealer’s hedge look like as the accumulated gain approaches the target?
15. Relate the scenario to the renminbi’s move in August 2015.

**Part IV — Judgement.**

16. What should the client have been shown before trading?
17. Which model risk matters most for the dealer?
18. Would you sell this product to a company with no natural dollar income?
19. State the *named result* : the expected number of fixings before redemption, and the client’s expected loss per million when the rate moves 10% against it in the first quarter.
20. In one sentence: what has a TARF client sold?

**Solution of Problem 20.1.**

**1.** 5.32%; $+1.89$ and $+0.46$ points. **2.** That the dollar’s rise against the currency, a devaluation, is the feared scenario, priced at higher volatility. **3.** 6.861: the dollar’s rate (5%) is above the currency’s (3%), so the forward is below the spot by the carry. **4.** Within a tenth of a point at 10 and 25 delta and at the money. **5.** 0.79. **6.** 7.312, 6.6% above the forward. **7.** 98.1% redeem, after 1.73 fixings on average. **8.** A gain of 0.30 million within one or two fixings on most paths (95% gain at least 126 000); the zero value comes from the few paths on which the rate rises and stays above the strike, costing twice the notional every month. **9.** 7.325 under [local volatility](https://one-course.com/books/quant/5/en/chapter/9-local-volatility#def-dv-local-volatility-model), 7.305 under Heston. **10.** A larger target lets the client earn more before redemption, so the product lives longer and exposes the dealer less on the leveraged side for a given strike; to stay at zero cost the strike must be less generous. **11.** 7.12 million per million of monthly notional, of which 1.01 million in the first quarter. **12.** 0.99 million. **13.** 11.7 fixings: after a 10% rise it almost never redeems. **14.** Its delta changes sharply: close to the target the remaining gains are small and the product is about to vanish, so the hedge of the future leveraged forwards must be unwound; the delta can flip sign within a few pips. **15.** A step depreciation of the emerging currency in a managed regime is the scenario on which the TARF’s value rests: a 2.8% fall in two days after a change of fixing rule is of the kind that turns a product expected to redeem at once into one that runs its course at twice the notional. **16.** The distribution of outcomes, not just the redemption probability: the loss in the scenarios that matter (a 10% move costs 7.1 million per million), and the leverage. **17.** The dynamics of the smile and jumps: the zero-cost strike moves by 0.02 (200 pips) between models, but a step devaluation is outside all three. **18.** No: without a natural dollar income the leveraged sales are speculative, not a hedge; a regulator and the bank’s suitability rules would object. **19.** 1.73 fixings on average before redemption; an expected loss of 7.12 million per million of monthly notional if the rate rises 10% over the first quarter. **20.** A leveraged strip of options on the rate moving against it, paid for with a better rate and capped gains.

## 20.10 Interview questions

**Interview question 20.1 ★ trader.**

Explain the at-the-money, risk reversal and butterfly quotes, and how you would turn them into a smile.

**Solution of Interview question 20.1.**

At the money: the delta-neutral straddle’s volatility. Risk reversal: the 25-delta call’s volatility minus the put’s (the skew). Butterfly: the wings’ average over at the money (the curvature), in the pair’s convention (smile or broker strangle). Convert with the pair’s delta convention into three strike–volatility points and interpolate (vanna–volga, SABR by expiry, or a parametric smile).

*What the interviewer is looking for: the three quotes and the conventions.*

**Interview question 20.2 ★★ researcher.**

Derive the vanna–volga price of a vanilla. What does the method assume?

**Solution of Interview question 20.2.**

Solve for the weights of the three pillars matching the option’s [vega](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks), [vanna](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks) and [volga](https://one-course.com/books/quant/5/en/chapter/4-greeks-and-the-hedging-p-l#def-dv-greeks-and-the-hedging-pnl-greeks) at the at-the-money volatility; add the weighted market-minus-Black costs of the pillars to the Black price. It assumes the smile’s cost is fully captured by those three risks priced by the quoted instruments, a “flat but stochastic” volatility.

*What the interviewer is looking for: the weights and the assumption.*

**Interview question 20.3 ★★ researcher, developer.**

What is a [stochastic-local volatility model](#def-dv-fx-derivatives-slv), and how would you calibrate its [leverage function](#def-dv-fx-derivatives-leverage)?

**Solution of Interview question 20.3.**

$dS/S=\dots+L(t,S)\sqrt v\,dW$ with a stochastic variance: the [leverage function](#def-dv-fx-derivatives-leverage) makes it fit every vanilla, the variance process supplies dynamics. Calibrate $L(t,S)^2=\sigma_{\mathrm{loc}}^2/\E[v\mid S]$ by the particle method: simulate, estimate the conditional expectation from the particles at each step, update $L$; choose the mixing of the volatility of variance from exotic prices.

*What the interviewer is looking for: the projection formula and the particle method.*

**Interview question 20.4 ★★ trader, risk.**

Two models that fit the same smile disagree on a one-touch by four points. How do you choose the price?

**Solution of Interview question 20.4.**

The difference is in the dynamics, not the smile: calibrate the model’s dynamic parameter (the mixing weight) to the market’s touch prices where they trade; otherwise price with the model whose dynamics the historical behaviour of the smile supports, and hold a reserve for the spread between the plausible models.

*What the interviewer is looking for: calibrate dynamics to exotics, and reserve.*

**Interview question 20.5 ★★ risk, bank.**

Describe a TARF from the client’s side. What can go wrong for the client and for the bank?

**Solution of Interview question 20.5.**

The client sells a currency forward at a better rate while he wins, with gains capped by a target, and twice the amount at a worse rate while he loses, with no cap. For the client: large losses in a sustained move against him. For the bank: the hedge’s sensitivity to the smile’s dynamics and to jumps, and the client’s credit and suitability risk once the losses mount.

*What the interviewer is looking for: the asymmetry, and both sides’ risks.*

**Interview question 20.6 ★★★ trader, risk.**

A managed currency may be devalued in a step. How does that change your barrier and TARF book’s pricing and hedging?

**Solution of Interview question 20.6.**

Add a jump (or regime-change) component to pricing and to the scenarios: barriers can be crossed without trading near them, and a TARF can go from redeeming to running at double notional overnight. Hedge with options that pay in the jump, limit concentration at barrier levels near a band’s edge, and reserve for the jump at the book level.

*What the interviewer is looking for: jumps in pricing, gap hedges and reserves.*
