Accrued Interest with Continuous Compounding and ACT/360
Summary
The document describes a calculation mismatch when accumulating interest from a daily rate series. The example uses a constant rate of 2.557%, a 100-dollar principal, and a 31-day interval under continuous compounding with an ACT/360 convention. The direct calculation applies the exponential growth factor over the full interval and gives an expected accrued interest of about 0.228 dollars.
To avoid repeatedly evaluating a full-period exponential, the author builds a cumulative product of daily exponential factors and subtracts the values at the interval endpoints. That approach returns about 0.24 dollars in the example, and the author asks why it differs. The post supplies no answer or verified correction, so it serves as a diagnostic setup rather than a resolved procedure. The discrepancy may depend on how the daily observations and endpoint values correspond to elapsed accrual days; the document does not specify those indexing details.
Key ideas
- Continuous compounding under ACT/360 accrues interest using the annual rate multiplied by elapsed days over 360.
- Multiplying daily growth factors can represent cumulative continuous compounding across a time series.
- The example compares a direct interval calculation with a cumulative-factor subtraction and reports different results.
- The document does not resolve the discrepancy, and the alignment of dates with accrual periods remains unspecified.
Tags
Full text
# Why does the interest calculation give a different result? # Why does the interest calculation give a different result? I have a daily time series with interest rates and my task is to find accrued interest for a given investement amount and time period. I'm working with continous compounding and day count convention ACT/360. Between 2025/5/8 and 2025/6/8 the interest rate was constant for all days at 2.557%. So for example for 100$ I'd expect an accrued interest of: 100 * exp(0.2557*31/360) = 0.228$ Since I have to repeat these calculations very often, this exp. calculation would be very slow from a programming point of view. That's why I thought of the trick of adding an additional column with a "compounding factor" to the dataframe. That means I did the following in python: ``` df['compounding_factor'] = np.exp(df['interest_rate'] * (1 / 360)).cumprod() accrued_interest = 100 *(df.loc[t2, 'compounding_factor'] - df.loc[t1, 'compounding_factor']) ``` Whereby the dataframe has a daily index. For the specific example, however, this returns 0.24$. Despite much thought, I cannot identify my error. Any help will be greatly appreciated.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.