By default, no scaling is applied to a market price loaded into LUSID for a particular instrument on an effective 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, it may be more efficient to apply a scale factor to an instrument as a whole, in which case it applies to every price for that instrument. 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 of a fixed-rate bond.Set the
useInstrumentScaleFactorAsDefault=True
pricing model option in the recipe you intend to use to value portfolios with positions in the instrument.Do not specify the
scaleFactor
field when you upload prices for the instrument. If you do, the factor in the instrument definition is overridden.