Bond Future

Table of Contents

A bond future is an exchange-style contract to buy or sell a bond at expiry, with the deliverable bond chosen from a basket. ORE models it with the trade type BondFuture. The container node is BondFutureData. 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 Bond Future
Short name Bond Future
ORE Studio product code BondFuture
Asset class bond
Family Future
ORE trade data node BondFutureData
ORE documentation bondfuture.tex

2. Summary

A bond future is a contract that establishes an agreement to buy or sell an underlying bond at a future point in time at an agreed price. The contract seller chooses the deliverable bond from a list of eligible securities. That bond is called the cheapest to deliver, or CTD. The trade names a contract; the delivery basket and the expiry rules live in the BondFutureReferenceData for that contract.

3. Detail

3.1. What it is

ORE defines the product as follows:

A Bond Future is a contract that establishes an agreement to buy or sell an underlying bond at a future point in time (expiry) at an agreed price (strike amount). The underlying bond can be selected by the contract seller from a list of eligible securities and is called "cheapest to deliver" (CTD). The bond is exchanged with a cash payment determined as the future settlement price multiplied by a conversion factor that is specific to the CTD bond and which compensates for the different yields of the bonds in the underlying basket.

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

ORE describes the dual role of the product as follows:

A BondFuture can be used both as a stand alone trade (TradeType: BondFuture) or as a trade component (BondFutureData) used within the TotalReturnSwap (Generic TRS) trade type.

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

3.2. In plain terms

A bond future is a bet on the price of a bond at a fixed date. One bond in a basket is delivered, not a named bond. The seller picks the bond that is cheapest to deliver, so the future trades against that bond. The conversion factor makes the basket bonds comparable.

3.3. How it works in ORE

The BondFutureData block holds the trade terms. ContractName selects both the bond future reference datum and the security specific spread used for pricing. ContractNotional is the notional of the position in the currency of the bond. LongShort takes Long, L, Short or S. The corresponding reference data, which is not part of the trade representation, sits in the BondFutureReferenceData block. Currency names the currency of the future. DeliveryBasket lists the eligible security identifiers, typically ISINs with the ISIN: prefix. Settlement defaults to Physical. DirtyQuotation decides whether the market quote of the future price is dirty or clean, and defaults to clean. The last trading and last delivery dates can be given explicitly as LastTradingDate and LastDeliveryDate. They can also be derived from ContractMonth, RootDate, ExpiryBasis, SettlementBasis, ExpiryLag and SettlementLag. The conversion factor can come from market data or be deduced internally. In the latter case DeliverableGrade restricts the deliverable underlyings, with values such as ZN for the CME and TY for Bloomberg. The derivation rules follow the CME Group primer. The last delivery day is the last business day of the delivery month. The last trading day is the seventh business day preceding it.

3.4. Mathematical notes

Let sp be the quoted future settlement price, ai the accrued interest, cf the bond specific conversion factor and bp the bond price. The short party receives (sp x cf) + ai and pays the cost of purchasing a bond, bp + ai. The cheapest to deliver is the bond for which bp - (sp x cf) is least. The decision takes place at future expiry.

3.5. What moves its value (static sensitivities)

  • The price of the deliverable bonds in the basket.
  • The yield curve, which sets the forward prices of the basket.
  • The conversion factors of the basket bonds.
  • The choice of the cheapest to deliver.

The future tracks the CTD bond. When yields move, the CTD can switch, and the future then tracks a different bond.

3.6. How the profile ages (dynamic sensitivities)

The trade names a contract with a fixed expiry. As expiry approaches, the value converges to the CTD bond price, and the delivery decision approaches. At expiry the seller delivers the cheapest bond and the buyer pays the settlement price times the conversion factor. Until then the future is a linear claim on the CTD with no cash flows.

3.7. Why a customer would want it

A bond future is a liquid, leveraged way to take a position on government bond prices. It hedges a bond portfolio without buying the bonds. Because delivery is a basket, the future needs no single-bond liquidity. In ORE Studio a customer books bond futures to value them and run sensitivities on the ORE engine.

3.8. Example

ORE's catalogue shows a bond future trade on a 10-year US Treasury note contract:

<BondFutureData>
  <ContractName>with_ref</ContractName>
  <ContractNotional>1000000</ContractNotional>
  <LongShort>L</LongShort>
</BondFutureData>

Source: ORE User Guide, Products catalogue, bondfuture.tex, listing BondFutureData. The example contract TYU25 carries the DeliveryBasket, the expiry dates and the DeliverableGrade in its BondFutureReferenceData block; that block is not part of the trade representation.

4. See also

Emacs 29.3 (Org mode 9.6.15)