---
title: "How does LUSID calculate accrued interest?"
slug: "how-does-lusid-calculate-accrued-interest"
updated: 2026-07-01T13:30:26Z
published: 2026-07-01T13:30:26Z
canonical: "support.lusid.com/how-does-lusid-calculate-accrued-interest"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.lusid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How does LUSID calculate accrued interest?

LUSID calculates accrued interest from the start of day on *settlement date* of trades in the following instruments:

| **Instrument type** | **LUSID's accrued interest calculation** |
| --- | --- |
| `Basket` | Sum of basket accrued. Currency mixes not supported. |
| `Bond`, `ComplexBond` | [Accrual factor](/v1/docs/day-count-conventions-supported-by-lusid) calculated using flow convention day count. |
| `InflationLinkedBond` | Accrual factor calculated using flow convention day count, adjusted for inflation. |
| `CreditDefaultSwap` | Accrual factor on premium leg only calculated using flow convention day count, assuming no default. |
| `CdsIndex` | Accrual factor on premium leg only calculated using flow convention day count, assuming no default. |
| `EquitySwap` | Accrual on funding leg only, no equity. |
| `FixedLeg` | Accrual factor calculated using flow convention day count. |
| `FloatingLeg` | Accrual factor calculated using flow convention day count. For SOFR/OIS, known daily resets are compounded. For in arrears, 0 is returned. |
| `FundingLeg` | Accrual on daily notional amounts (same as `FloatingLeg`). |
| `InflationSwap` | CPI swap is zero coupon so 0 is always returned. YoY/LPI swap returns sum of two accruals, using same day count form interest leg on both. |
| `InterestRateSwap` | Sum of leg accruals. No FX conversion considered. |
| `FlexibleRepo` | Accrual on interest using AccrualBasis day count. |
| `SimpleCashFlowLoan` | Days accrued divided by days in period multipled by the period interest amount. |
| `TermDeposit` | Accrual factor calculated using flow convention day count and a calendar where every week day is a good business day (no holidays). |

## Changing the accrual recognition time of day in a recipe

By default, LUSID recognises interest accruals at start of day (SOD). You can change this to end of day (EOD) by setting the `pricing.accrualDefinition` field in a valuation [recipe](/v1/docs/what-is-a-recipe), for example:

```json
{
  "scope": "my-recipe-scope",
  "code": "my-recipe-code",
  "pricing": {
    "accrualDefinition": "EOD"
  },
  ...
}
```

## Reporting and diagnosing calculation results

LUSID provides numerous `Valuation/Accrued*` [metrics](/v1/docs/what-is-a-metric) to report accrued interest calculation results in a valuation report, for example:

- `Valuation/Accrued`
- `Valuation/AccruedSOD`
- `Valuation/AccruedEOD`
- `Valuation/AccruedInPortfolioCcy`

The following `Valuation/Diagnostics/Accrual/*` metrics are available to further understand the calculations:

- `Valuation/Diagnostics/Accrual/DaysAccrued`
- `Valuation/Diagnostics/Accrual/DaysInPeriod`
- `Valuation/Diagnostics/Accrual/AccrualDescription`
- `Valuation/Diagnostics/Accrual/AccrualEndDate`
- `Valuation/Diagnostics/Accrual/PaymentFrequency`
- `Valuation/Diagnostics/Accrual/AccrualCalculationDate`
- `Valuation/Diagnostics/Accrual/EffectiveCoupon`
- `Valuation/Diagnostics/Accrual/AccrualFactor` ([see how this is calculated](/v1/docs/day-count-conventions-supported-by-lusid))
- `Valuation/Diagnostics/Accrual/AccrualStartDate`
- `Valuation/Diagnostics/Accrual/AccrualDayCountType`
- `Valuation/Diagnostics/Accrual/AccruedSettled`
- `Valuation/Diagnostics/Accrual/AccruedUnsettled` (accrued interest between trade and settlement dates)
- `Valuation/Diagnostics/Accrual/EffectiveNotional`
- `Valuation/Diagnostics/Accrual/CompoundInputRates` (for instruments with a floating leg and a [compounding method](/v1/docs/how-does-lusid-calculate-compound-interest))

For example, the following valuation request for a UK gilt mastered as a `Bond`:

```json
{
  "portfolioEntityIds": [ {"scope": "my-portfolio-scope", "code": "my-portfolio-scope", "portfolioEntityType": "SinglePortfolio"} ],
  "valuationSchedule": {"effectiveFrom": "2022-03-07T00:00:00.0000000+00:00", "effectiveAt": "2022-03-11T00:00:00.0000000+00:00" },
  "recipeId": {"scope": "my-recipe-scope", "code": "my-recipe-scope"},
  "metrics": [
    {"key": "Valuation/EffectiveAt", "op": "Value"},
    {"key": "Instrument/default/Name", "op": "Value"},
    {"key": "Valuation/PvInPortfolioCcy", "op": "Value"},
    {"key": "Valuation/Accrued", "op": "Value"},
    {"key": "Valuation/Diagnostics/Accrual/DaysAccrued", "op": "Value"},
    {"key": "Valuation/Diagnostics/Accrual/DaysInPeriod", "op": "Value"},
    {"key": "Valuation/Diagnostics/Accrual/AccrualDescription", "op": "Value"},
    {"key": "Valuation/Diagnostics/Accrual/AccrualFactor", "op": "Value"},
    {"key": "Valuation/Diagnostics/Accrual/PaymentFrequency", "op": "Value"},
    {"key": "Valuation/Diagnostics/Accrual/AccrualStartDate", "op": "Value"},
    {"key": "Valuation/Diagnostics/Accrual/AccrualEndDate", "op": "Value"},
    {"key": "Valuation/Diagnostics/Accrual/AccrualCalculationDate", "op": "Value"},
    {"key": "Valuation/Diagnostics/Accrual/AccrualDayCountType", "op": "Value"}
  ]
}
```

…might yield a response as follows:

```json
{
  "aggregationEffectiveAt": "2022-03-07T00:00:00.0000000+00:00",
  "aggregationAsAt": "2023-09-05T08:49:20.1445980+00:00",
  "data": [
    {
      "Valuation/EffectiveAt": "2022-03-07T00:00:00.0000000+00:00",
      "Instrument/default/Name": "UKT 0 ⅜ 10/22/26",
      "Valuation/PV": 10134.010989010989,
      "Valuation/Accrued": 216.67463918812,
      "Valuation/Diagnostics/Accrual/DaysAccrued": 136,
      "Valuation/Diagnostics/Accrual/DaysInPeriod": 182,
      "Valuation/Diagnostics/Accrual/AccrualDescription": "Notional * (CouponRate / Frequency) * AccrualFactor",
      "Valuation/Diagnostics/Accrual/AccrualFactor": 0.7472527472527473,
      "Valuation/Diagnostics/Accrual/PaymentFrequency": "6M",
      "Valuation/Diagnostics/Accrual/AccrualStartDate": "2021-10-22T00:00:00.0000000+00:00",
      "Valuation/Diagnostics/Accrual/AccrualEndDate": "2022-04-22T00:00:00.0000000+00:00",
      "Valuation/Diagnostics/Accrual/AccrualCalculationDate": "2022-03-07T00:00:00.0000000+00:00",
      "Valuation/Diagnostics/Accrual/AccrualDayCountType": "ActualActual"
    }
  ],
  ...
}
```
