FX Variance Swap

Table of Contents

An FX variance swap trades the volatility of an exchange rate directly. Its payoff depends on how much the rate moves, not on where it ends. ORE models it with the trade type FxVarianceSwap. This note records the domain grounding, as ORE documents it in its product catalogue.

1. Identifiers

What a trader books it as, and what to grep for. The codes are the trade type catalogue's, which is what the database enforces.

Field Value
Full name FX Variance Swap
Short name FX Variance Swap
ORE Studio product code FxVarianceSwap
Asset class fx
Family Swap
ORE trade data node FxVarianceSwapData
ORE documentation fxvarianceswap.tex

2. Summary

An FX variance swap depends on the volatility of an underlying FX rate. The counterparties exchange a pre-agreed variance level, the strike, for the variance actually realised over an observation period. The strike is typically set at the money so the swap starts at zero value. The variance form pays on squared volatility. The volatility form pays on volatility. Only vanilla variance swaps are supported by this trade type.

3. Detail

3.1. What it is

ORE defines the product as follows:

An FX Variance Swap has a payoff, similar to an Equity Variance Swap's payoff, that depends on the volatility of an underlying FX rate. The swap counterparties agree to exchange a pre-agreed variance level (the strike) for the actual amount of variance realized over an observation period.

Source: ORE User Guide, Products catalogue, fxvarianceswap.tex.

ORE notes that the strike is typically set at ATM so the swap initially has zero value. If the subsequent realised volatility is above the strike level, the buyer of a variance swap, who is long volatility, has a positive NPV. The seller, who is short volatility, has a negative NPV.

3.2. In plain terms

An FX variance swap is a bet on movement, not direction. One side pays the realised variance of an exchange rate over the life of the swap. The other side pays a fixed variance agreed at trade time. If the rate moves more than expected, the variance buyer gains.

3.3. How it works in ORE

The FxVarianceSwapData node carries the swap terms. StartDate and EndDate frame the observation period. Currency is the bought currency. Name, or the Underlying node, names the currency pair. LongShort sets the direction. Strike is the volatility strike, quoted absolutely, not as a percent. If the swap was struck in terms of variance, the square root of that variance is used here. Notional is the vega notional, the notional in volatility units. Calendar joins the calendars of the two currencies. MomentType distinguishes a volatility or variance payoff. Volatility or Variance, with variance the default.

ORE notes that only vanilla variance swaps are supported by this trade type. Exotic variance swaps are supported by the scripted trade mechanism. FX variance and volatility swaps also cover precious metals, with currencies XAU, XAG, XPT, and XPD, and cryptocurrencies.

3.4. Mathematical notes

ORE states the variance payoff as follows:

Payoff = N x (RealisedVol^2 - K^2)

N is the variance notional, determined as the vega notional divided by 2K. The realised volatility is annualised from the squared daily log returns over the observation period. The volatility swap payoff is closely related:

Payoff = N x (RealisedVol - K)

3.5. What moves its value (static sensitivities)

  • The implied volatility of the FX pair. It prices the variance strike.
  • The realised path of daily returns. It settles the payoff.
  • The vega notional and the strike.
  • The observation schedule and the annualisation convention.
  • The discount rate of the settlement currency.

A long variance position gains when realised movement exceeds the strike. It gains from jumps in either direction. Direction of the rate itself does not drive the payoff.

3.6. How the profile ages (dynamic sensitivities)

Each day adds one return to the realised variance. Early in life the realised part is small and the trade behaves like a forward on implied variance. Late in life the realised variance dominates and the payoff locks in. At maturity the final variance settles and the swap stops.

3.7. Why a customer would want it

A customer with FX exposure wants protection on the volatility of the rate. A trader takes a view that FX volatility is cheap or rich. Variance swaps isolate that view from direction. In ORE Studio a customer books FX variance swaps to value them and run sensitivities on the ORE engine.

3.8. Example

ORE's catalogue shows a long variance swap on euro-yen:

<FxVarianceSwapData>
  <StartDate>2018-05-10</StartDate>
  <EndDate>2018-11-12</EndDate>
  <Currency>EUR</Currency>
  <Underlying>
    <Type>FX</Type>
    <Name>ECB-EUR-JPY</Name>
  </Underlying>
  <LongShort>Long</LongShort>
  <Strike>0.05</Strike>
  <Notional>200000</Notional>
  <Calendar>EUR</Calendar>
  <MomentType>Variance</MomentType>
</FxVarianceSwapData>

Source: ORE User Guide, Products catalogue, fxvarianceswap.tex, listing Variance Swap data.

4. See also

Emacs 29.3 (Org mode 9.6.15)