Calculate the annualized return implied by buying a cash bond and selling a futures contract against it.
Please enter valid numeric values for all fields. Days to delivery must be greater than zero.
Actual/360 (e.g., US Treasury Futures)
Actual/365 (e.g., Some Intl Bonds)
Implied Repo Rate (Annualized)
Full Purchase Price (Dirty Price)
Invoice Price at Delivery
function calculateImpliedRepo() {
var errorDiv = document.getElementById('irrError');
var resultSection = document.getElementById('irrResultSection');
// Fetch inputs
var cashClean = parseFloat(document.getElementById('cashCleanPrice').value);
var accruedPurch = parseFloat(document.getElementById('accruedIntPurchase').value);
var futures = parseFloat(document.getElementById('futuresPrice').value);
var cf = parseFloat(document.getElementById('conversionFactor').value);
var accruedDel = parseFloat(document.getElementById('accruedIntDelivery').value);
var days = parseInt(document.getElementById('daysToDelivery').value);
var basis = parseInt(document.getElementById('dayCountBasis').value);
// Validation
if (isNaN(cashClean) || isNaN(accruedPurch) || isNaN(futures) || isNaN(cf) || isNaN(accruedDel) || isNaN(days) || days <= 0) {
errorDiv.style.display = 'block';
resultSection.style.display = 'none';
return;
}
errorDiv.style.display = 'none';
// Calculations based on standard definitions
// 1. Full Purchase Price (Dirty Price) of the cash asset
var fullPurchasePrice = cashClean + accruedPurch;
// 2. Invoice Price received at futures delivery
// Formula: (Futures Price * Conversion Factor) + Accrued Interest at Delivery
var invoicePrice = (futures * cf) + accruedDel;
// Ensure purchase price is positive to avoid division errors
if (fullPurchasePrice <= 0) {
errorDiv.innerText = "Full purchase price cannot be zero or negative.";
errorDiv.style.display = 'block';
resultSection.style.display = 'none';
return;
}
// 3. Implied Repo Rate Formula
// Formula: ((Invoice Price / Full Purchase Price) – 1) * (Basis / Days)
var grossReturn = invoicePrice / fullPurchasePrice;
var impliedRateDecimal = (grossReturn – 1) * (basis / days);
var impliedRatePercent = impliedRateDecimal * 100;
// Display Results
resultSection.style.display = 'block';
document.getElementById('finalRepoRate').innerText = impliedRatePercent.toFixed(4) + "%";
document.getElementById('fullPurchasePriceResult').innerText = fullPurchasePrice.toFixed(4);
document.getElementById('invoicePriceResult').innerText = invoicePrice.toFixed(4);
}
Understanding Implied Repo Rate in Bond Futures
The Implied Repo Rate is a crucial metric in the fixed-income derivatives market, specifically when analyzing the relationship between a cash bond and its corresponding futures contract. It represents the theoretical annualized return an investor would earn by engaging in a "cash-and-carry" arbitrage trade.
A cash-and-carry trade involves simultaneously buying the underlying cash bond (the asset) in the spot market and selling a futures contract against it. The investor holds the bond until the futures contract delivery date and then delivers the bond to settle the contract.
What Does the Implied Rate Tell You?
The implied repo rate is essentially the market's pricing of the financing cost (the cost of carry) between the trade date and the futures delivery date. Arbitrageurs compare this implied rate with actual short-term borrowing rates (like the actual repo market rate) to identify pricing inefficiencies.
If Implied Repo Rate > Actual Borrowing Cost: This suggests a "Cash-and-Carry" arbitrage opportunity. An investor can borrow money at the lower actual rate to buy the bond, sell the futures contract, and lock in the higher implied yield.
If Implied Repo Rate < Actual Borrowing Cost: This suggests a "Reverse Cash-and-Carry" opportunity. An investor would short sell the cash bond, invest the proceeds at the higher actual rate, and buy the futures contract to cover the short position later.
The Calculation Method
This calculator uses the standard methodology to determine the implied repo rate based on the purchase price of the asset today versus the invoice price received at delivery.
1. Full Purchase Price (Dirty Price)
This is the total cost to acquire the cash bond today. It includes the quoted market price (Clean Price) plus any Accrued Interest accumulated up to the settlement date of the purchase.
Full Price = Clean Price + Accrued Interest (Purchase)
2. Invoice Price
This is the amount the seller of the futures contract receives upon delivering the bond. Because futures contracts often allow for the delivery of various eligible bonds, a "Conversion Factor" is used to equalize prices. The invoice price also includes accrued interest up to the delivery date.
The formula calculates the total return over the holding period and annualizes it using the specified day count convention (usually Actual/360 for Treasury markets).