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)
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 API. To retrospectively change an existing portfolio, call the PatchPortfolioDetails API, for example:
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:
Call the CreateAmortisationRuleSet API to create an empty amortisation ruleset identified by scope and code.
Call the SetAmortisationRules API to add one or more rules that apply particular amortisation methods to particular bond holdings from a particular date.
Register the amortisation ruleset with a new portfolio using the
amortisationRuleSetIdobject in a call to the CreatePortfolio API. To retrospectively change an existing portfolio, call the PatchPortfolioDetails API, for example: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:
{
"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
StraightLinemethod to bond holdings with a particularPortfolioproperty.The second rule applies the
EffectiveYieldmethod to bond holdings with a particularPortfolioandInstrumentproperty. Note you can use anyPortfolioorInstrumentin a filter expression, and join them using theand/orconditional 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 at start of day (SOD). To change this to end of day (EOD), set the
pricing.accrualDefinitionoption 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.
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:

The amortisation schedule is as follows:

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 to examine and understand LUSID’s calculation:
Holding/Diagnostics/Amortisation/EffectiveYieldandHolding/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:

The amortisation schedule is as follows:

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:
