When mastering certain types of instrument in LUSID, you must specify rules for payments arising during the lifetime of those instruments:
- A flow convention determines the date schedule for a leg or set of cashflows. This is represented in LUSID by a
FlowConventions
object. - A CDS flow convention determines the date schedule for instruments of type
CreditDefaultSwap
andCdsIndex
. This is represented in LUSID by aCdsFlowConventions
object that is similar, though not identical, toFlowConventions
. - An index convention derives the calculation of payments from interbank lending rates and similar. This is represented in LUSID by an
IndexConvention
object. - An inflation index convention derives the calculation of payments from an index such as UKRPI. This is represented in LUSID by an
InflationIndexConventions
object.
Instrument type (see all) | Flow convention | CDS flow convention | Index convention | Inflation index convention | |
Bond | YES | N/A | N/A | N/A | |
ComplexBond | Fixed schedule | YES | N/A | N/A | N/A |
FX rate schedule | YES | N/A | N/A | N/A | |
Floating schedule | YES | N/A | YES | N/A | |
InflationLinkedBond | YES | N/A | N/A | YES | |
CapFloor | YES | N/A | YES | N/A | |
CreditDefaultSwap | N/A | YES | N/A | N/A | |
CdsIndex | N/A | YES | N/A | N/A | |
EquitySwap | Equity leg | YES | N/A | N/A | N/A |
Interest-paying leg | YES | N/A | YES | N/A | |
ForwardRateAgreement | N/A | N/A | YES (optional) | N/A | |
FundingLeg | YES | N/A | YES (optional) | N/A | |
InflationSwap | YES | N/A | N/A | Coming soon | |
InterestRateSwap (also InterestRateSwaption ) | YES | N/A | YES | N/A | |
TermDeposit | YES | N/A | N/A | N/A |
Understanding convention objects
Object | Documentation | Extra notes |
FlowConventions | Class reference | For information on the tenors accepted by the For information on the day count methodologies supported by the
For information on the business day and roll conventions supported by the
The |
CdsFlowConventions | Class reference | |
IndexConvention | Class reference | The For information on the tenors accepted by the For information on the day count methodologies supported by the |
InflationIndexConventions | Class reference | For information on the format of tenors accepted by the inflationFrequency and observationLag fields, see this article. |
Specifying convention objects inline
For any instrument that requires a flow convention and/or an index convention, you can specify the object ‘inline’ within the economic definition; that is, create a bespoke convention object at the same time as you master that instrument.
Consider the following example of a call to the UpsertInstruments API to master a floating schedule complex bond:
curl -X POST "https://<your-domain>.lusid.com/api/api/instruments" -H "Authorization: Bearer <your-API-access-token>" -H "Content-Type: application/json" -d '{ "bond-upsert-1": { "name": "NWG 3 1/8 03/28/27", "identifiers": {"ClientInternal": {"value": "XS1970533219"}}, "definition": { "instrumentType": "ComplexBond", "schedules": [ { "scheduleType": "Float", "startDate": "2026-03-28T00:00:00+00:00", "maturityDate": "2027-03-28T00:00:00+00:00", "flowConventions": { "currency": "GBP", "paymentFrequency": "12M", "dayCountConvention": "ActActIcma", "rollConvention": "None", "paymentCalendars": ["GBP","LON"], "resetCalendars": ["GBP","LON"], "settleDays": 2, "resetDays": 2, "leapDaysIncluded": true }, "notional": 1000000.0, "paymentCurrency": "GBP", "stubType": "ShortFront", "spread": "0.0", "indexConventions": { "currency": "GBP", "code": "GBP1YSWO", "paymentTenor": "12M", "dayCountConvention": "ActActIcma", "fixingReference": "GBP1YSWO", "publicationDayLag": 0, "IndexName": "GBP1YSWO" } } ] } } }'