Download? Guide to Accrued Interest Calculation for Bonds
This document provides a high-level technical reference for implementing bond accrued interest calculations in PHP. It supports a variety of day count conventions and handles both fixed and floating rate instruments, including those based on risk-free rates (RFRs).
? Contents
-
Terminology
-
Accrued Interest Calculation Steps
-
Day Count Conventions
-
Actual/Actual (ICMA) Method
-
Floating Rate Notes Based on Risk-Free Rates
Terminology
-
Accrued Interest: Interest accumulated from the last coupon payment to the settlement date.
-
Settlement Date: The day a bond transaction is settled.
-
Coupon Frequency: Number of coupon payments per year.
-
Jouissance: First date of interest entitlement.
-
D1.M1.Y1: Start date of interest period.
-
D2.M2.Y2: End date (settlement or maturity).
-
D3.M3.Y3: Next coupon payment date.
Accrued Interest Calculation Steps
-
Determine Settlement Date
- Follows defined T+n cycles and skips currency holidays.
-
Define Accrued Interest Dates
- Based on coupon schedules and settlement date.
-
Calculate Number of Interest-Bearing Days
- Depends on the bond?s day count convention.
-
Compute Accrued Interest
- Uses formulas specific to the selected day count method.
Day Count Conventions
| Method | Formula |
|------------------------|------------------------------------------------|
| 30/360 (ISDA/ICMA) | A = C * (N / 360) |
| Actual/360 | A = C * (N / 360) |
| Actual/365 (Fixed) | A = C * (N / 365) |
| Actual/365L | A = C * (N / Y) (Y = days in year) |
| Actual/Actual (ICMA) | A = (C / F) * (N / C) (regular coupons) |
| Actual/364 | A = (C * (N / 364) |
Actual/Actual (ICMA) Method
Floating Rate Notes Based on Risk-Free Rates
With the shift from LIBOR to RFRs:
- Interest is calculated in arrears, not forward-looking.
- A lookback period defines how rates are compounded over time.
- Key components:
- Compounded rates with optional margin rate.
- Modified Business Day Convention.
- Rate flooring to prevent negative interest.
- Custom lookback windows.
- Rounded rates based on ISDA standards.
? Key Features for Implementation
-
Support for multiple day count methods.
-
Handling of regular and irregular coupon schedules.
-
Floating rate notes using backward-looking compounded RFRs.
-
Modular architecture to accommodate bond-specific parameters.
?? Recommended Use in PHP
Consider implementing the above logic as:
- Bond class with properties for coupon, frequency, dates.
- InterestCalculator class using strategy pattern for each day count convention.
- Separate module for RFR-based FRN calculations.
|