Bond Fundamentals and Pricing › Day Count Conventions
Quantitative FinanceAll chapters Bond Fundamentals and Pricing › Day Count ConventionsOne section · Sections in this chapter8 / 14 ↓
Reading tools Definitions & inline links
Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.
Article links
Make inline references clickable
The calculation of accrued interest depends on how days are counted, which varies by market and instrument type. These day count conventions affect both the numerator (days elapsed) and denominator (days in the period or year) of interest calculations. Though this seems like a minor technicality, day count conventions can significantly affect payments and valuations, particularly for large positions or over extended periods.
Common Conventions
A day-count convention is part of the contract, not an accuracy ranking. Different named conventions can produce different accrual fractions from the same calendar dates. Use the convention specified for the actual instrument, including any month-end, leap-year, or irregular-coupon rules.
Common day-count conventions include:
-
Actual/Actual: A family of conventions using actual calendar days. For the regular US Treasury coupon-period example here, accrued coupon interest uses elapsed actual days divided by actual days in the coupon period. Other Actual/Actual variants and irregular coupon periods need their specified rules.
-
30/360: A family of conventions using a stylized 360-day year and defined month-end adjustments. Variants differ in how they treat the 31st and February month ends. The simplified helper below is only the explicitly stated date-adjustment rule, not a complete implementation of every US corporate or municipal convention.
-
Actual/360: Actual elapsed days divided by 360. It is used in a range of money-market and floating-rate contracts. At the same quoted annual rate and elapsed-day count, it produces more accrued interest than Actual/365 Fixed because 360 is the smaller denominator; the elapsed interval need not exceed 360 days.
-
Actual/365 Fixed: Actual elapsed days divided by 365, including intervals containing leap days. Distinguish this named fixed-denominator convention from other Actual/365 variants.
from datetime import date
def day_count_30_360(start_date, end_date):
"""
Illustrative 30/360 rule: cap start day at 30, then conditionally cap end.
This is not a complete named US convention: February ends are not adjusted.
"""
d1 = min(start_date.day, 30)
d2 = end_date.day if d1 < 30 else min(end_date.day, 30)
days = (
360 * (end_date.year - start_date.year)
+ 30 * (end_date.month - start_date.month)
+ (d2 - d1)
)
return days
def day_count_actual(start_date, end_date):
"""Calculate actual days between two dates."""
return (end_date - start_date).days
# Compare conventions for a corporate bond
last_coupon = date(2024, 6, 15)
settlement = date(2024, 8, 20)
next_coupon = date(2024, 12, 15)
actual_days = day_count_actual(last_coupon, settlement)
thirty_360_days = day_count_30_360(last_coupon, settlement)
period_actual = day_count_actual(last_coupon, next_coupon)
period_30_360 = day_count_30_360(last_coupon, next_coupon)Day Count Convention Comparison -------------------------------------------------- Last coupon date: 2024-06-15 Settlement date: 2024-08-20 Next coupon date: 2024-12-15 Convention Days Elapsed Period Days -------------------------------------------------- Actual/Actual 66 183 30/360 65 180
The choice of convention affects the accrued interest calculation and therefore the dirty price. When comparing bonds or calculating returns, ensure consistent day count treatment.