--- title: "How does LUSID categorise instruments into asset classes?" slug: "how-does-lusid-categorise-instruments-into-asset-classes" updated: 2026-11-06T14:41:02Z published: 2026-11-06T14:41:02Z canonical: "support.lusid.com/how-does-lusid-categorise-instruments-into-asset-classes" --- > ## 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 categorise instruments into asset classes? LUSID gives every instrument an *asset class*, such as `Equities`, `Credit` or `InterestRates`. Because LUSID works out the asset class for you, you can group and filter holdings, choose market data suppliers and write compliance rules by asset class from day one, without first implementing your own classification. ## How LUSID decides the asset class For most [instrument types](/v1/docs/supported-instruments-in-lusid), the asset class is fixed by the type. Every `Bond` is `Credit`, and every `FxForward` is `FX`. You cannot change it. A few instrument types can represent more than one kind of asset, so LUSID takes the asset class from somewhere else: - From a field you set. A `Future` contract can be on a bond, an interest rate, an equity index, a currency or a commodity, and LUSID cannot tell which from the contract alone. You state it in the `contractDetails.assetClass` field. A `SimpleInstrument` works the same way, through its required `assetClass` field. - From the underlying instrument. A `BondForward`, `BondOption`, `ToBeAnnouncedOption` or `ExchangeTradedOption` takes the asset class of the instrument it is written on. If LUSID cannot work out an asset class, it uses `Unknown`. > **Note:** If you want to classify instruments in your own way, for example to split `Credit` into government and corporate, [add a custom property](/v1/docs/how-do-i-add-a-property-to-an-entity) to your instruments, for example `Instrument/MyScope/AssetClass`. You cannot change the asset class LUSID assigns. ## Asset classes by instrument type | Asset class | Instrument types | | --- | --- | | `Commodities` | `CommodityCalendarSwap` `CommodityForward` | | `Credit` | `Bond` `CdsIndex` `CdsOption` `ComplexBond` `CreditDefaultSwap` `FlexibleLoan` `LoanFacility` `SimpleCashFlowLoan` `StripBond` `ToBeAnnounced` `WholeLoanFacility` | | `Equities` | `CapitalInterest` `ContractForDifference` `Equity` `EquityOption` `EquitySwap` `FundShareClass` `PreferredShare` | | `Exotic` | `VolatilitySwap` | | `FX` | `FxForward` `FxOption` `FxSwap` | | `Inflation` | `InflationLeg` `InflationLinkedBond` `InflationSwap` | | `InterestRates` | `CapFloor` `FixedLeg` `FloatingLeg` `FlexibleRepo` `ForwardRateAgreement` `FundingLeg` `InterestRateSwap` `InterestRateSwaption` `Repo` `TermDeposit` `TotalReturnSwap` | | `Money` | All [currency instruments](/v1/docs/how-do-i-create-a-currency) `CashPerpetual` `FlexibleDeposit` | | `Unknown` | `ExoticInstrument` `ReferenceInstrument` | ### Instrument types whose asset class varies | Instrument type | Where the asset class comes from | If not set | | --- | --- | --- | | `Future` | The `contractDetails.assetClass` field. You can set any asset class. | `Unknown` | | `SimpleInstrument` | The `assetClass` field, which is required. You can set any asset class. | Not applicable | | `ExchangeTradedOption` | The instrument in `contractDetails.underlying`. An `Equity` underlying gives `Equities`. A `Future` underlying gives that future's asset class. | `Unknown`, if the underlying is an `ExoticInstrument` placeholder | | `BondForward`, `BondOption` | The underlying bond: `Credit` for a `Bond`, `ComplexBond` or `StripBond`, and `Inflation` for an `InflationLinkedBond`. | | | `ToBeAnnouncedOption` | The underlying `ToBeAnnounced`, so `Credit`. | | | `MasteredInstrument` reference | The instrument it resolves to. | `Unknown`, if it does not resolve | ## Where you can use the asset class - Instrument responses. Every instrument returned by the `GetInstrument` and `ListInstruments` APIs carries a read-only `assetClass` field. - Filtering instruments. You can filter on asset class when listing instruments, for example `AssetClass eq 'Equities'`. - Choosing market data. In a recipe, a market data rule's `dependencySourceFilter.assetClass` limits the rule to instruments of one asset class. See [overriding market data rules for particular instruments](/v1/docs/recipes-locating-market-data#overriding-market-data-rules-for-particular-instruments). - Valuation and derived properties. The `Instrument/AssetClass` metric returns the asset class in valuation reports and in derivation formulas. - Compliance. Compliance rules can test the `Instrument/default/AssetClass` field.