Rate conventions, calendars and schedules
Treating dates, accruals and quote syntax as executable valuation inputs
01Compute ACT/360, ACT/365F and 30/360 accrual factors.
02Separate business-day adjustment from the accrual-period definition.
03Translate simple, periodic and continuous compounding without changing economic value.
04Build a schedule whose stubs, lags and payment dates are auditable.
Read the cash-flow timeline first.
Rates products are contracts on dates. A day-count basis, holiday calendar, roll rule, fixing lag and stub convention change cash flows before any pricing model is called.
The same two dates can produce different accrual factors under different bases.
Adjusted payment dates and unadjusted accrual boundaries serve different contractual roles.
Rate conversion is valid only when the horizon and accrual factor are held fixed.
Start from cash flows and quotation.
Schedule errors create deterministic P&L breaks, failed confirmations and unexplained basis risk across bonds, swaps, FRAs and floating coupons.
deposits
bonds
FRAs
OIS and term swaps
Every quote must carry currency, index, tenor, spot lag, day count, compounding, business-day convention and calendar set.
Value each dated cash flow under explicit conventions.
Simple accumulation
Money-market coupons scale by the contract’s basis-specific accrual factor.
Open in AnalyticsPeriodic-to-continuous conversion
Equivalent rates preserve the accumulation factor over one year.
Open in AnalyticsShort derivation
Preserving one economic payoff across quote conventions
Equate accumulation factors rather than equating the displayed rate numbers.
- 01
Freeze the contractual dates
Identify unadjusted accrual boundaries, adjusted payment date, fixing date and settlement date before computing time.
- 02
Apply the contractual basis
Compute δ_B on the accrual boundaries. Do not substitute an ACT/365-like model clock for a coupon’s contractual ACT/360 basis.
- 03
Equate accumulation factors
Set simple, periodic or continuous accumulation equal over the same horizon.
- 04
Validate the schedule
Check monotonic dates, expected period count, stub location and that every fixing precedes its payment under the index convention.
Conventions are not labels around a model; they determine the model inputs and contractual cash flows.
Inputs
δ_B(d_1,d_2): basis-specific year fractionN: periodic compounding frequencyr_c: continuous rater_s: simple rate
Assumptions and limits
- Holiday calendars change over time and require version control.
- Cross-currency products can combine calendars and settlement lags.
- Educational year fractions omit many market-specific edge cases.
Stub coupon
Irregular periods change cash amount through the actual contractual accrual.
Open in AnalyticsBuild, calibrate, and reprice the contract.
Represent dates and conventions as typed inputs, generate schedules once, then price from the resulting dated cash flows.
Normalize market quotes to internal discount or forward representations only after instrument-specific helpers have reproduced every convention.
Implementation with current QuantLib
Compose Calendar, DayCounter, BusinessDayConvention, DateGeneration rule and Schedule explicitly. Use index objects for fixing conventions; avoid hand-built date arithmetic once production calendars matter.
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.
Equivalent compounding conventions
Convert one simple rate to an economically equivalent continuous rate.
from __future__ import annotations import math def simple_to_continuous(rate: float, accrual: float) -> float: if accrual <= 0 or 1.0 + rate * accrual <= 0: raise ValueError("invalid simple accumulation") return math.log1p(rate * accrual) / accrual r_simple, accrual = 0.0425, 91.0 / 360.0r_cont = simple_to_continuous(r_simple, accrual)assert abs(math.exp(r_cont * accrual) - (1 + r_simple * accrual)) < 1e-12print(f"simple={r_simple:.4%} | continuous={r_cont:.4%}")Move the state. Challenge the equation.
Convention translation laboratory
Hold the payoff fixed while changing basis, accrual length and compounding; inspect rate and cash-flow differences.
3M period: Standard money-market accrual.
- ACT/360 simple
- ACT/365F simple
- continuous
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.
“A one-day schedule break is not a rounding error; it is a different contract.”
effective and maturity dates
calendar set
business-day rule
day count
stub and payment lag
Normalize market quotes to internal discount or forward representations only after instrument-specific helpers have reproduced every convention.
RISKschedule mismatch
fixing risk
settlement fail
accrual-basis P&L
- parse term sheet
- generate schedule
- compare confirmation
- calculate accruals
- freeze dated cash flows
Production failure modes
- calendar version drift
- adjusted boundary reused for accrual
- wrong end-of-month flag
- stub placed on wrong end
09MACRO CONNECTIONOpen the transmission channel.
Operational plumbing around policy transmission
Policy changes reach contracts through index fixings and payment schedules; lags determine when the economic shock enters realised cash flow.
transmitschanges overnight and term fixings
transmitssets observation timing
transmitsmaps fixing into cash flow
outputarrives on contract dates
10COMMON PITFALLSOpen the failure checklist.
Using adjusted dates for every contractual purpose.
Converting rates without preserving accumulation.
Treating ACT/360 and ACT/365F as display formats.
Ignoring fixing and payment lags.
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