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 |