Related resources:



How-to guides

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.

DateColumn A
Discount factors on Jan 1 2021
Column B
Discount factors on Oct 1 2021
01 Jan 20211 
01 Feb 20210.999 
01 Mar 20210.998001 
01 April 20210.997002999 
01 May 20210.995008993 
01 June 20210.993018975 
01 July 20210.991032937 
01 Aug 20210.988059838 
01 Sep 20210.985095659 
01 Oct 20210.9821403721
01 Nov 20210.9791939510.997
01 Dec 20210.9762563690.994009
01 Jan 20220.97332760.991026973
01 Feb 20220.9713809440.989044919
01 Mar 20220.9694381830.987066829
01 April 20220.9674993060.985092696
01 May 20220.9636293090.981152325
01 June 20220.9597747920.977227715
01 July 20220.9559356930.973318805
01 Aug 20220.952111950.969425529
01 Sep 20220.9483035020.965547827
01 Oct 20220.9445102880.961685636
01 Nov 20220.9407322470.957838893