By default, no scaling is applied to a market price loaded into LUSID for a particular instrument on a particular date.
You can specify an explicit scaleFactor
to scale a price down if you want, for example 100
for a bond price that is expressed as a percentage of par:
curl -X POST 'https://<your-domain>.lusid.com/api/api/quotes/MyBondPrices'
-H 'Authorization: Bearer <your-API-access-token>'
-H 'Content-Type: application/json-patch+json'
-d '{
"Quote-0001": {
"quoteId": {
"quoteSeriesId": {
"provider": "Lusid",
"instrumentIdType": "ClientInternal",
"instrumentId": "MyFixedRate2YBond",
"quoteType": "Price",
"field": "mid"
},
"effectiveAt": "2025-09-07T00:00:00Z"
},
"metricValue": {"value": 103, "unit": "USD"},
"scaleFactor": 100
}
}'
Rather than scaling individual prices, however, it may be more efficient to automatically scale all the prices loaded for a particular instrument by configuring its definition. To do this:
Specify the
tradingConventions.priceScaleFactor
field in the instrument definition. This is currently available for the following instrument types:Bond
,ComplexBond
,InflationLinkedBond
,Equity
,ExchangeTradedOption
,FlexibleDeposit
,FlexibleRepo
,FundShareClass
,Future
,SimpleInstrument
,TermDeposit
. See an example for a fixed-rate bond.Do not specify the
scaleFactor
field when you upload prices for the instrument. Any value applied to this field for an individual price overrides the instrument definition.Set the
useInstrumentScaleFactorAsDefault=True
pricing model option in recipes you use to value portfolios with positions in the instrument.