Bond Futures and Cheapest-to-Deliver
Unlike a single-security future, a government-bond futures contract generally permits the short to deliver one bond from an eligible basket. The exchange applies a conversion factor (CF) so that bonds with different coupons and maturities can be delivered against the same futures price. The seller selects the bond with the lowest economic delivery cost: the cheapest-to-deliver, or CTD.
For a candidate bond, delivery invoice price is approximately:
invoice price = futures settlement price * conversion factor + accrued interest
The CTD is not necessarily the cash bond with the lowest quoted price or yield. It is the candidate that minimizes net basis after invoice value, financing, coupon carry, and delivery timing are considered. This selection gives the futures contract embedded quality and timing options.
| Term | Definition | Trading consequence |
|---|---|---|
| Deliverable basket | bonds eligible under contract rules | future is not one fixed bond |
| Conversion factor | exchange price adjustment | determines adjusted futures value |
| Gross basis | cash clean price minus futures × CF | preliminary CTD screen |
| Net basis | gross basis after carry | closer to delivery economics |
| CTD | lowest-cost bond to deliver | sets effective duration exposure |
Why conversion factors are insufficient
Conversion factors are calculated from a standardized yield convention, not the current yield curve. Consequently, when yields and curve shape move, candidates’ relative economics change. A 7% coupon bond and a 2% coupon bond can react differently to yield moves even if both are eligible. The futures price incorporates the deliverer’s option to choose among them, so it cannot be perfectly hedged by a single cash bond under all scenarios.
def invoice_price(futures_price, conversion_factor, accrued_interest):
return futures_price * conversion_factor + accrued_interest
def gross_basis(clean_price, futures_price, conversion_factor):
return clean_price - futures_price * conversion_factor
def ctd_rank(candidates):
# candidates already include carry-adjusted net basis.
return candidates.sort_values("net_basis").iloc[0]
Production calculations must use the exact exchange rule book: eligible maturities, rounding, delivery-month dates, accrued-interest convention, and wildcard or timing options can vary by contract. Keep historical deliverable lists when backtesting; using today’s basket for an old contract creates a subtle but material error.
Hedge ratios and DV01
A common first approximation turns futures contracts into cash-bond risk with the CTD-adjusted DV01:
futures DV01 approximately = CTD DV01 / conversion factor
contracts = target cash DV01 / futures DV01
This is a local hedge. If CTD changes, the effective futures DV01 changes, and a hedge ratio based on yesterday’s deliverable can leave residual duration, curve, and convexity exposure. Portfolio hedges should therefore be scenario-tested across parallel shifts, twists, and candidate CTD switches.
| Hedge problem | Naive treatment | Better treatment |
|---|---|---|
| Duration | one fixed CTD DV01 | daily CTD-adjusted DV01 |
| Curve exposure | parallel shift only | key-rate scenarios |
| CTD switch | ignore | re-rank each deliverable |
| Delivery month | roll at last minute | plan liquidity and delivery choice |
| Repo specialness | use generic funding | include bond-specific repo |
Delivery options and market behavior
The short often has choices over delivery date and, depending on contract, settlement timing. These options are more valuable when rates are volatile or the yield curve is uncertain. They help explain why futures can appear cheap relative to one candidate bond. A cash-futures basis model that ignores delivery optionality may systematically misprice the apparent arbitrage.
Repo is equally important. A bond that is expensive in cash terms can become CTD if it finances special, while a normally attractive candidate can lose its status when repo becomes costly. Cash-futures Treasury basis trading must therefore combine bond pricing with actual funding and collateral availability.
At delivery, operational details matter: notice dates, intent, invoice calculations, fails, and settlement calendars. Many strategies close or roll before delivery, but that decision itself exposes them to roll spread and changing CTD risk.
A practical workflow
Each day, assemble clean and dirty prices, accrued interest, coupon schedules, conversion factors, repo rates, and all eligible securities. Compute gross and net basis, implied repo, CTD-adjusted DV01, and scenario rankings. Flag near ties: when two candidates have similar net basis, the future behaves like an option on which will be cheapest, not like either bond alone.
Stress the position for a repo haircut increase, yield-curve twists, bid-ask widening, and a CTD switch. The trade may carry small expected return but have large liquidity needs if a leveraged cash position and a marked-to-market futures hedge move apart.
Key takeaways
- Bond futures deliver a basket; the short chooses the economically cheapest bond.
- Conversion factors standardize delivery but do not remove yield-curve or coupon differences.
- CTD determines the relevant DV01 and can switch as rates, repo, and prices move.
- Delivery-option and financing risk belong in every futures hedge or basis calculation.
