CPI Swap

Table of Contents

A CPI swap exchanges the change in a consumer price index against a rate. ORE models it with the InflationSwap trade type, or as a Swap with a CPI leg. 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 CPI Swap
Short name CPI Swap
ORE Studio product code none; not a product in its own right
Asset class inflation
Family Swap
ORE trade data node CPILegData on a Swap
ORE documentation cpiswap.tex

2. Summary

A CPI swap is the standard inflation derivative. One leg pays a real coupon, set at inception, scaled by the change of a consumer price index. The other leg pays a floating or fixed nominal rate. The inflation leg converts a contractual real rate into a nominal payment with the index ratio of two fixings. At maturity the inflation leg may also pay the index appreciation on the notional. The product protects a holder against realised inflation, which is the rise of the index over the life of the trade.

3. Detail

3.1. What it is

ORE defines the product as follows:

A CPI swap is an inflation swap where one of the legs has a floating rate with coupon payments linked to a supported inflation index.

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

3.2. In plain terms

Two parties swap inflation for a fixed or floating rate. One pays a real rate, agreed at trade time. The payment grows with the consumer price index, so the payer is protected if prices rise faster than the rate. The other side receives the real rate and carries the inflation risk.

3.3. How it works in ORE

ORE states the input form as follows:

A CPI inflation swap can be set up using the InflationSwap trade type, with one leg of type CPI.

Source: ORE User Guide, Products catalogue, cpiswap.tex. The remaining legs can be of any leg type, per the catalogue.

The same structure works with the Swap trade type and a CPI leg. The CPI leg carries a CPILegData block. It names the inflation index, the observation lag, and the interpolation method. The coupons start from the index fixing before the issue date. They adjust to the fixing at each coupon reset date. ORE supports cross-currency inflation swaps, because the currencies of the legs do not need to be the same.

3.4. Mathematical notes

ORE's words on the coupon:

Coupons on the inflation leg are calculated starting by the contractual real coupon rate and adjusting it to a nominal rate using the change from the relevant inflation index fixing before issue date to the index fixing at coupon reset date, taking into account observation lag, and if necessary, interpolation between inflation index fixings.

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

A coupon at time Ti equals the product of the notional N, the real rate r, the index ratio I(Ti)/I(T0), and the day count fraction of the accrual period. The index ratio is the only inflation term. The maturity flow, when exchanged, is N times I(T)/I(T0) on the inflation leg against the notional on the other leg. CPI coupons and maturity flows can be capped or floored.

3.5. What moves its value (static sensitivities)

  • The discount curve of the payment currency. All legs are sensitive to it.
  • The inflation index curve. It projects the index fixings that drive the index ratio.
  • The real rate. It fixes the contractual coupon level.
  • The cap or floor, when present. It adds an inflation-volatility sensitivity.

A long-inflation leg gains value when expected inflation rises. The index ratio scales every remaining payment, so the exposure grows with the ratio level.

3.6. How the profile ages (dynamic sensitivities)

The trade starts from the index level at issue. Each printed fixing locks a piece of the index path. The remaining coupons depend on fewer and fewer future fixings. The maturity flow, when present, keeps the long-dated index exposure until the end. The trade ends with the index level at maturity. Only the last coupon and the flow remain uncertain in the final period.

3.7. Why a customer would want it

A pension fund with inflation-linked liabilities buys CPI swaps to match them. An investor receives real rates to protect purchasing power. An issuer of inflation-linked debt swaps the index exposure back to nominal. In ORE Studio a customer books CPI swaps to value them and run sensitivities on the ORE engine.

3.8. Example

ORE's catalogue shows the structure with the InflationSwap trade type. The floating leg is abbreviated.

<InflationSwapData>
  <LegData>
    <LegType>Floating</LegType>
    <Payer>true</Payer>
    ...
  </LegData>
  <LegData>
    <LegType>CPI</LegType>
    <Payer>false</Payer>
    ...
    <CPILegData>
      ...
    </CPILegData>
  </LegData>
</InflationSwapData>

Source: ORE User Guide, Products catalogue, cpiswap.tex, listing CPI Swap Data (using InflationSwap trade type).

The sibling Year-on-Year Inflation Swap pays the annual index change instead of a real rate. The Swap note covers the leg mechanics both products share.

4. See also

Emacs 29.3 (Org mode 9.6.15)