---
title: "Choosing an amortisation method"
slug: "choosing-an-amortisation-method"
updated: 2026-08-03T13:17:05Z
published: 2026-08-03T13:17:05Z
canonical: "support.lusid.com/choosing-an-amortisation-method"
---

> ## 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.

# Choosing an amortisation method

To enable amortisation, choose an amortisation method:

- For all the bond holdings in a portfolio.
- For one, some or all bond holdings in a portfolio by specifying *amortisation rules* that apply an amortisation method for a period of time. This means you can specify different methods during the lifetime of a bond position if you wish. If no rule applies, a bond holding falls back to the portfolio method, which may be `NoAmortisation`.

The following methods are available:

- `NoAmortisation` (the default)
- [StraightLine](/v1/docs/choosing-an-amortisation-method#the-straightline-method)
- [EffectiveYield](/v1/docs/choosing-an-amortisation-method#understanding-the-effectiveyield-method)
- [StraightLineSettlementDate](/v1/docs/choosing-an-amortisation-method#using-settlement-dates-instead-of-trade-dates)
- [EffectiveYieldSettlementDate](/v1/docs/choosing-an-amortisation-method#using-settlement-dates-instead-of-trade-dates)

## Applying an amortisation method to a portfolio

The amortisation method chosen applies to all bond holdings for all time unless overridden by an amortisation rule.

To choose a method when creating a portfolio, specify the `amortisationMethod` field in a call to the [CreatePortfolio](https://www.lusid.com/docs/api#operation/CreatePortfolio) API. To retrospectively change an existing portfolio, call the [PatchPortfolioDetails](https://www.lusid.com/docs/api#operation/PatchPortfolioDetails) API, for example:

```json
curl -X POST "https://<your-domain>.lusid.com/api/api/transactionportfolios/fixedincome/uk/details"
 -H "Authorization: Bearer <your-API-access-token>"
 -H "Content-Type: application/json-patch+json"
 -d '[
  {
    "value": "EffectiveYield",
    "path": "/amortisationMethod",
    "op": "add"
  }
]'
```

## Applying amortisation rules to particular bonds for a period of time

You can specify amortisation rules that override the portfolio amortisation method. To do this:

1. Call the [CreateAmortisationRuleSet](https://www.lusid.com/docs/api/lusid/endpoints/amortisation-rule-sets/CreateAmortisationRuleSet) API to create an empty amortisation ruleset identified by scope and code.
2. Call the [SetAmortisationRules](https://www.lusid.com/docs/api/lusid/endpoints/amortisation-rule-sets/SetAmortisationRules) API to add one or more rules that apply particular amortisation methods to particular bond holdings from a particular date.
3. Register the amortisation ruleset with a new portfolio using the `amortisationRuleSetId` object in a call to the [CreatePortfolio](https://www.lusid.com/docs/api#operation/CreatePortfolio) API. To retrospectively change an existing portfolio, call the [PatchPortfolioDetails](https://www.lusid.com/docs/api#operation/PatchPortfolioDetails) API, for example:

```json
curl -X POST "https://<your-domain>.lusid.com/api/api/transactionportfolios/fixedincome/uk/details"
 -H "Authorization: Bearer <your-API-access-token>"
 -H "Content-Type: application/json-patch+json"
 -d '[
  {
    "value": {
      "scope": "AmortRuleSets",
      "code": "UKFixedIncome"
    },,
    "path": "/amortisationRuleSetId",
    "op": "add"
  }
]'
```

Consider the example of the following amortisation ruleset:

```json
{
  "id": {
    "scope": "AmortRuleSets",
    "code": "UKFixedIncome"
  },
  "displayName": "UK Fixed Income amortisation ruleset",
  "rulesInterval": {
    "effectiveRange": {
      "fromDate": "2026-01-01T00:00:00.0000000+00:00"
    },
    "rules": [
      {
        "name": "StraightLineRule",
        "filter": "Properties[Portfolio/Manage/TaxDomicile] eq 'DEU'",
        "amortisationMethod": "StraightLine"
      }
      {
        "name": "EffectiveYieldRule",
        "filter": "Properties[Portfolio/Manage/TaxDomicile] neq 'DEU' and Properties[Instrument/Manage/assetType] exists",
        "amortisationMethod": "EffectiveYield"
      }
    ]
  },
```

Note the following:

- There are two rules, evaluated in order. For each bond holding, the first matching rule applies.
- The first rules applies the `StraightLine` method to bond holdings with a particular `Portfolio` property.
- The second rule applies the `EffectiveYield` method to bond holdings with a particular `Portfolio` *and* `Instrument` property. Note you can use any `Portfolio` or `Instrument` in a filter expression, and join them using the `and/or` conditional operators if required.
- Both rules apply from 1 January 2026 until or unless superceded by rules with a subsequent `fromDate`.

The portfolio `amortisationMethod` applies to all bond holdings until 1 January 2026, and continues to apply to any bold holding that does not match a rule. Note this defaults to `NoAmortisation` unless explicitly specified.

## Understanding amortisation methods

> **Note**: By default, LUSID recognises amortisation accruals in the same way as [interest accruals](/v1/docs/how-does-lusid-calculate-accrued-interest#changing-the-accrual-recognition-time-of-day-in-a-recipe) at start of day (SOD). To change this to end of day (EOD), set the `pricing.accrualDefinition` option in the recipe used to value a portfolio.

### The `StraightLine` method

If you choose this method, LUSID calculates daily amounts from issue date or acquisition date (whichever is later) until maturity date. This method spreads the bond's premium or discount evenly over its term. The amortisation amount per day is calculated by dividing the total premium or discount by the number of days until maturity. This is calculated using the `ActualActual` [day count convention](/v1/docs/day-count-conventions-supported-by-lusid).

Given the following example scenario:

> ABC company issues a 5-year bond on 1st January 2020 with a face value of $1,000,000 and an annual coupon rate of 6% paying coupons semi-annually. The day count convention of the bond is 30/360. The bond was bought at issue at $800,000 and held to maturity.

The calculation steps are as follows:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/9a7911c1-b46d-4c8f-962a-d4f5b4cbdb30.png)

The amortisation schedule is as follows:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/a74c9896-2667-41d0-827b-1c7727c2eb5d.png)

### The `EffectiveYield` method

If you choose this method, LUSID allocates yield income or expense over the relevant period using the effective interest rate on the bond. The effective interest rate is the rate that exactly discounts expected future cash payments and receipts over the life of the financial instrument to the initial carrying amount of the bond.

LUSID recognises accruals daily and uses the Internal Rate of Return compounded daily. Compounded periods are determined using the day count convention specified in the bond economic definition.

Amortisation values calculated using this method are non-analytic in nature and cannot be fully precise. Any errors accrued at each period, resulting from sources including rounding and non-precise yield calculations, are compounded after each period.

> **Note**: The following [metrics are available](/v1/docs/examining-amortisation-calculations#in-a-valuation-report) to examine and understand LUSID’s calculation: `Holding/Diagnostics/Amortisation/EffectiveYield` and `Holding/Diagnostics/Amortisation/EffectiveYieldExplain`.

Given the following example scenario:

> ABC company issues a 5-year bond on 1st January 2020 with a face value of $1,000,000 and an annual coupon rate of 6% paying coupons semi-annually. The day count convention of the bond is 30/360. The bond was bought at issue at $800,000 and held to maturity.

The calculation steps are as follows:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/9d0c0212-8164-4c7d-a2c4-96962dc712a5.png)

The amortisation schedule is as follows:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/f103de0e-fe77-4a19-937c-b26742f91f05.png)

### Using settlement dates instead of trade dates

By default for both `StraightLine` and `EffectiveYield`, LUSID calculates amortisation from trade date to trade date (T2T). A holding starts to accrue amortisation at the trade date of the transaction that opens the position and stops at the trade date of the transaction that closes the position.

You can change this to calculate amortisation from settlement date to settlement date (S2S) if you wish. To do this, choose the `StraightLineSettlementDate` or `EffectiveYieldSettlementDate` method instead. A holding starts to accrue amortisation at the settlement date of the transaction that opens the positions and stops at the settlement date of the transaction that closes the position.

Given the following example scenario:

> ABC company issues a bond starting on 1st Jan 2020 and maturing on 2nd Jan 2022 with a principal of $1. A trade was made to buy 1,000,000 units on 1st Jan 2020, settling on 2nd Jan 2020 at a price of $0.8. On 1st Jan 2021 a trade was made to sell 500,000 units, settling on 2nd Jan 2021.

The amortisation schedules for the `StraightLine` (T2T) and `StraightLineSettlementDate` (S2S) methods are as follows:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/d0ea2cd6-d6bf-48a4-a5e2-9226a956a9dd.png)
