Using discount factor curves in LUSID

You can upload a discount factor curve to the Complex Market Data Store and then reference that object in a recipe to value your positions in certain instruments.

A discount factor curve encapsulates the idea that, with all else being equal, money today is not worth the same as money in the future. In the case of positive interest rates, the value of today's money is higher than the value of the same amount paid at some point in the future, because in the meantime it could be invested to generate returns. For example, a discount factor curve starting on January 1st 2017 that gives a discount factor of 0.95 on January 1st 2020 means that $1 received on January 1st 2020 is worth $0.95 on January 1st 2017.

Note each time you perform a valuation LUSID automatically rescales your discount factor curve to the current date so you get a more accurate price.

Uploading a discount factor curve

Follow these instructions to create a suitable market data object. Note the marketAsset field in the market data ID for the discount factor curve must have the syntax <Ccy>/<Ccy>OIS, for example USD/USDOIS.

To see how to define the actual object, examine the API documentation and choose DiscountFactorCurveData from the dropdown box:

Understanding how LUSID automatically rescales curves

In the likely scenario that your discount factor curve starts on one date but you perform valuations on subsequent dates, there will always be a discrepancy between the date on which the data was valid (the base date) and the valuation date.

Consider the example above, where a curve starting on January 1st 2017 gives a discount factor of 0.95 for $1 on January 1st 2020. If you perform your valuation on December 1st 2019 then it is probably wrong to use a discount factor of 0.95 for cash on January 1st 2020. This is because 0.95 describes the value of $1 payable on January 1st 2020 from the perspective of January 1st 2017, whereas what you want is the value of that same $1 payable on January 1st 2020 from the perspective of December 1st 2019.

To achieve this, LUSID automatically rescales a discount factor curve to your valuation date simply by dividing the valuation date discount factor and all subsequent discount factors by the discount factor at the valuation date. Dividing the valuation date discount factor by itself naturally sets it to 1, and all subsequent discount factors are then rescaled relative to this new base date. This rescaling has the effect of ‘ignoring’ all discounting that occurred between the original base date and the valuation date.

Consider the following example. Column A shows the discount factors for a curve uploaded into LUSID on January 1st 2021, at which point the base date discount factor is 1. Column B shows the new discount factors automatically generated by LUSID when you perform a valuation on October 1st 2021 (the date in red). The valuation date is the new base date and is set to 1, and all subsequent discount factors are rescaled accordingly.

Note: As always, the exact numbers can be slightly affected by your choice of day count convention, since the number of days in each month varies.

Date

Column A
Discount factors on Jan 1 2021

Column B
Discount factors on Oct 1 2021

01 Jan 2021

1

 

01 Feb 2021

0.999

 

01 Mar 2021

0.998001

 

01 April 2021

0.997002999

 

01 May 2021

0.995008993

 

01 June 2021

0.993018975

 

01 July 2021

0.991032937

 

01 Aug 2021

0.988059838

 

01 Sep 2021

0.985095659

 

01 Oct 2021

0.982140372

1

01 Nov 2021

0.979193951

0.997

01 Dec 2021

0.976256369

0.994009

01 Jan 2022

0.9733276

0.991026973

01 Feb 2022

0.971380944

0.989044919

01 Mar 2022

0.969438183

0.987066829

01 April 2022

0.967499306

0.985092696

01 May 2022

0.963629309

0.981152325

01 June 2022

0.959774792

0.977227715

01 July 2022

0.955935693

0.973318805

01 Aug 2022

0.95211195

0.969425529

01 Sep 2022

0.948303502

0.965547827

01 Oct 2022

0.944510288

0.961685636

01 Nov 2022

0.940732247

0.957838893