OIS and overnight compounding
Building collateral discounting from daily fixings, observation rules and policy expectations
01Derive an overnight compounded coupon from daily fixings.
02Explain lookback, lockout and observation-shift effects.
03Relate OIS par rates to collateral-consistent discount factors.
04Separate realised coupon accrual from the forward curve used before fixings occur.
Read the cash-flow timeline first.
An OIS floating leg compounds many overnight observations into one coupon. The observation schedule—not a single forecast rate—controls realised accrual, and collateralisation makes OIS instruments central to discount-curve construction.
Compounding uses a product of daily accumulation factors.
Known fixings and projected future observations coexist inside a live coupon.
Observation shifts and lockouts change which fixing is applied to which accrual day.
Start from cash flows and quotation.
OIS curves discount collateralised derivatives, express policy expectations and anchor the multi-curve framework.
overnight indexed swaps
OIS futures
collateralised swaps
compounded overnight coupons
State overnight index, payment frequency, day count, lookback or observation shift, lockout, payment lag and collateral currency.
Value each dated cash flow under explicit conventions.
Compounded overnight coupon
Daily simple accrual factors compound multiplicatively over the coupon period.
Open in AnalyticsShort derivation
From daily overnight loans to an OIS floating coupon
Roll one unit of notional through each overnight interval and retain every daily accumulation factor.
- 01
Accrue one overnight interval
One unit becomes 1+R_iδ_i over the i-th business-day interval.
- 02
Reinvest through the period
Each day starts from the accumulated prior balance, so factors multiply rather than rates add.
- 03
Convert to a coupon rate
Subtract principal and divide by the coupon accrual A to report an annualised compounded rate.
- 04
Price the swap
Discount each fixed and floating payment on the collateral curve; at par, the difference between start and end discount factors balances the fixed annuity.
OIS pricing couples a precise overnight observation contract with collateral-consistent discounting.
Inputs
R_i: overnight fixingδ_i: daily accrual fractionA: coupon accrual fractionK: fixed OIS rate
Assumptions and limits
- The par formula shown assumes one curve and no payment irregularities.
- Fallback and observation conventions differ across currencies.
- Holiday calendars create non-uniform daily accruals.
Spot-starting OIS par rate
Under a single collateral curve, fixed and floating legs balance at inception.
Open in AnalyticsKnown/projected split
A live coupon combines realised observations and curve-projected future accrual.
Open in AnalyticsBuild, calibrate, and reprice the contract.
Build the observation schedule, splice known fixings with forwards, compound the coupon, then discount every payment on the collateral curve.
Bootstrap short maturities from cash or futures-like OIS instruments and longer maturities from OIS swaps, repricing every helper after each pillar.
Implementation with current QuantLib
Use the currency-specific OvernightIndex and OvernightIndexedSwap abstractions with explicit telescopic-value-date and observation settings. Curve helpers must share the same index conventions as the priced trade.
API authority: upstream QuantLib reference pinned in the source registry.06PYTHON IMPLEMENTATIONOpen the implementation and checks.
- Parse dated market inputs and conventions at the boundary.
- Build deterministic curve objects in the framework-free quant layer.
- Return PV, repricing residuals and sensitivities together.
- Test inversion, par conditions, monotonic dates and invalid domains.
Daily overnight compounding
Compound irregular daily accruals and compare with an additive approximation.
from __future__ import annotations import math def compounded_rate(fixings: list[float], accruals: list[float]) -> float: if len(fixings) != len(accruals) or not fixings: raise ValueError("aligned non-empty fixing path required") factor = math.prod(1.0 + r * d for r, d in zip(fixings, accruals)) total = sum(accruals) if total <= 0 or factor <= 0: raise ValueError("invalid accrual path") return (factor - 1.0) / total rates = [0.0410, 0.0411, 0.0412, 0.0412]deltas = [1/360, 1/360, 3/360, 1/360]rate = compounded_rate(rates, deltas)assert rate > sum(r*d for r, d in zip(rates, deltas)) / sum(deltas)print(f"compounded overnight={rate:.6%}")Move the state. Challenge the equation.
OIS policy-path laboratory
Apply hikes, cuts and lockout rules to a daily path; compare realised compound, forward projection and par fixed rate.
Policy hold: Stable overnight path.
- overnight fixing
- running compound
Use Left/Right or Up/Down arrows to inspect values; Home and End jump to the bounds.
Follow the trade through risk and lifecycle events.
“The front end is a calendar-weighted policy path, not a row of equally spaced dots.”
overnight index fixings
observation convention
coupon schedule
collateral curve
payment lag
Bootstrap short maturities from cash or futures-like OIS instruments and longer maturities from OIS swaps, repricing every helper after each pillar.
RISKmeeting-date DV01
fixing exposure
front-end basis
calendar risk
- load fixings
- build observations
- splice projections
- compound coupon
- reprice and bucket risk
Production failure modes
- missing fixing
- incorrect weekend weight
- wrong observation shift
- discount/projection curve confusion
09MACRO CONNECTIONOpen the transmission channel.
Central-bank path into OIS
Expected meeting outcomes reprice dated overnight forwards; realised decisions subsequently enter compounded coupons through fixings.
transmitsmoves forward overnight segments
transmitsprices the policy path
transmitsrealises one path segment
outputcompounds the realised path
10COMMON PITFALLSOpen the failure checklist.
Averaging overnight rates instead of compounding.
Treating observation shift and lookback as synonyms.
Ignoring known-versus-projected fixing splits.
Discounting collateralised cash flows on a credit-sensitive term curve.
11SOURCES / FURTHER READINGOpen sources and continue the track.
Interest-rate products, term structures and short-rate lectures
Research map for the rates progression and numerical experiments; all platform prose and code are original.
- Source
- Financial Engineering: Interest Rates & xVA
- Author
- L. A. Grzelak
- Ref
- main
Stochastic processes, Monte Carlo and model-calibration lectures
Mathematical cross-reference for stochastic dynamics and implementation checks.
- Source
- Computational Finance Course
- Author
- L. A. Grzelak
- Ref
- main
Current term structures, indexes, rate helpers, instruments, engines and tests
Implementation authority for production abstractions; Academy derives the mathematics before introducing library objects.
- Source
- QuantLib upstream
- Author
- QuantLib contributors
- Ref
- v1.42.1