Equity Swap

Table of Contents

An equity swap exchanges the return of an equity leg against a fixed or floating funding leg. The equity leg can pay price return, total return or dividends. ORE models the family with the trade type EquitySwap. 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 Equity Swap
Short name Equity Swap
ORE Studio product code EquitySwap
Asset class equity
Family Swap
ORE trade data node EquitySwapData
ORE documentation equityswap.tex

2. Summary

An equity swap has one leg of type Equity and one funding leg of type Fixed or Floating. The equity leg links its coupons to the price of one single equity name or index. Its notional can be fixed or resettable. A resettable notional equates to a fixed quantity of shares. Price return coupons pay the price difference over the period. Total return coupons add the dividends. The ReturnType of Dividend builds a dividend swap on the same trade type. ORE prices equity swaps on discounted cashflows. The container node is EquitySwapData.

3. Detail

3.1. What it is

ORE defines the product as follows:

An equity swap is a swap where one of the legs has a floating rate with coupon payments linked to an equity price, either a single stock or equity index.

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

ORE describes the coupon types as follows:

There are two types of equity coupons, Price Return and Total Return. Price Return coupons pay the difference in equity price between the coupon start and end dates, while a Total Return coupon also includes dividend payments during the period.

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

ORE describes the setup as follows:

An Equity Swap uses its own trade type EquitySwap, and is set up using a EquitySwapData node with one leg of type Equity and one more leg - called Funding leg - that can be either Fixed or Floating.

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

ORE contrasts the pricing method with the total return swap as follows:

Note that pricing for an EquitySwap is based on discounted cashflows, whereas pricing for a TotalReturnSwap (GenericTRS) on an equity underlying uses the accrual method. The accrual method is common practice when daily unwind rights are present in the trade terms.

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

3.2. In plain terms

An equity swap turns equity returns into a stream of cashflows. One side pays what the share does over each period. The other side pays a fixed coupon or a floating rate. The trade separates the equity exposure from owning the share. A dividend variant pays only the dividends of the name.

3.3. How it works in ORE

The EquitySwapData node is the trade data container for the EquitySwap trade type. It holds one leg of type Equity and one funding leg of type Fixed or Floating. The equity leg carries an EquityLegData block. The equity leg can include one single underlying equity name only, which may be an equity index. Multi-name structures use the TotalReturnSwap trade type instead. Cross-currency equity swaps are supported. If the funding leg uses Indexings with FromAssetLeg set to true, its notionals derive from the equity leg and it must share the equity leg's currency. The DayCounter field is optional on an equity leg and defaults to ACT/365. It does not impact pricing, only the accrued amount shown in the cashflows. Within EquityLegData, ReturnType selects the coupon type. Quantity and Underlying name the exposure. InitialPrice anchors the first period. NotionalReset set to true turns the notional into a fixed quantity of shares. FXTerms converts the equity price from the equity currency to the leg currency at the fixing dates. A ReturnType of Dividend builds a dividend swap on the same trade type: it swaps the dividends of the name against a fixed or floating leg.

3.4. Mathematical notes

The equity coupons follow the equity return over each period. A price return coupon with a resettable notional pays Quantity x (S_end - S_start). A total return coupon adds the dividends paid over the period. Without notional reset the coupon scales a fixed notional by the relative price move. A dividend swap pays the realised dividends. The funding leg pays a fixed coupon or a floating index over the same schedule. ORE values each cashflow on the discount curve.

3.5. What moves its value (static sensitivities)

  • The spot price of the underlying equity or index.
  • The forward prices of the equity, set by rates and expected dividends.
  • The dividend schedule of the underlying.
  • The funding rates of the fixed or floating leg.
  • The FX spot rate when the equity currency differs from the leg currency.

A long equity leg gains as the equity rises. Each settled period locks in its realised return.

3.6. How the profile ages (dynamic sensitivities)

Each period the equity coupon is fixed and settled. Resettable notionals keep the exposure at a fixed quantity of shares period by period. Realised returns replace the forward expectations as time passes. The number of remaining coupons shrinks. Late in life the swap runs down like a short-dated swap and pays its final coupon at maturity.

3.7. Why a customer would want it

A customer can take equity exposure without buying the shares. The swap pays the return of the name and receives funding, so it suits a funding-versus-equity trade. An equity receiver hedges a planned share purchase. A dividend swap monetises or hedges the dividend stream of a holding. In ORE Studio a customer books equity swaps to value them and run sensitivities on the ORE engine.

3.8. Example

ORE's catalogue shows an equity swap with a resettable notional and FX indexing. The funding leg derives its notional from the equity leg:

<EquitySwapData>
  <LegData>
    <LegType>Floating</LegType>
    <Currency>USD</Currency>
    ...
    <!-- Notionals node is not required, set to 1 internally -->
    ...
    <Indexings>
      <!-- derive the indexing information (equity price, FX) from the Equity leg -->
      <FromAssetLeg>true</FromAssetLeg>
    </Indexings>
  </LegData>
  <LegData>
    <LegType>Equity</LegType>
      <Currency>USD</Currency>
      ...
      <EquityLegData>
        <Quantity>1000</Quantity>
        <Underlying>
          <Type>Equity</Type>
          <Name>.STOXX50E</Name>
          <IdentifierType>RIC</IdentifierType>
        </Underlying>
        <InitialPrice>2937.36</InitialPrice>
        <NotionalReset>true</NotionalReset>
        <FXTerms>
          <EquityCurrency>EUR</EquityCurrency>
          <FXIndex>FX-ECB-EUR-USD</FXIndex>
        </FXTerms>
      </EquityLegData>
      ...
  </LegData>
</EquitySwapData>

Source: ORE User Guide, Products catalogue, equityswap.tex, listing Equity Swap Data with notional reset and FX indexing.

4. See also

Emacs 29.3 (Org mode 9.6.15)