Hello Team,
Is it possible to get SONIA curve via Refinitiv?
The product in use is Instrument Pricing Analytics (IPA). To give you more context we are trying to get forward rates similar to SOFR and LIBOR.
Please advise. Thank you!
Hello Team,
Is it possible to get SONIA curve via Refinitiv?
The product in use is Instrument Pricing Analytics (IPA). To give you more context we are trying to get forward rates similar to SOFR and LIBOR.
Please advise. Thank you!
Hi @darryl.cantre01,
You can use the 'curves/zc-curve-definitions' IPA endpoint to obtain the exhaustive list of curves supported by Refinitiv. To focus on GBP, you can make the following request:
{ "universe": [ { "currency": "GBP", "source": "Refinitiv" } ] }
Which returns the curve id : 69348bb7-d0b3-49b3-b2b2-782ab4ad29f8
Then you can use the ‘curves/zc-curves’ endpoint to obtain the SONIA curve:
{ "outputs": [ "Constituents" ], "universe": [ { "curveDefinition": { "id": "69348bb7-d0b3-49b3-b2b2-782ab4ad29f8", "discountingTenor": "OIS" } } ] }
Best Regards
Michel
Question?
Just to reconfirm, my understanding is correct, I followed your instructions as follows: I made a below call
{ "universe": [
{ "currency": "GBP", "source": "Refinitiv" } ]
}
The response had following curveDefinitions
"curveDefinitions": [
{ "currency": "GBP",
"mainConstituentAssetClass": "Swap",
"riskType": "InterestRate",
"indexName": "LIBOR",
"source": "Refinitiv",
"name": "GBP LIBOR Swap ZC Curve",
"firstHistoricalAvailabilityDate": "2011-02-09",
"id": "69348bb7-d0b3-49b3-b2b2-782ab4ad29f8",
} ]
Used the id ("id": "69348bb7-d0b3-49b3-b2b2-782ab4ad29f8") in IPA endpoint 'curves/zc-curve-definitions' and got the response with curveDefinition that has following details "indexName": "LIBOR", "source": "Refinitiv", "name": "GBP LIBOR Swap ZC Curve", Its only has indexName : LIBOR (Please let me know if the response you have is different) .
If it was for SONIA I am assuming indexName would be set to SONIA as it is set to LIBOR in this case, is this a correct understanding?
Continuing above question..
Looking further down in the response I noticed below information which has ["template": "OIS_SONIA" and "statusMessage": "Access denied to GBPSWOIS=ICAP for user [assignedUserID]] can you help me to understand if there are any issue to get SONIA details with assigned userID.
"overnightIndexSwaps": [
{
"statusMessage": "Access denied to GBPSWOIS=ICAP for user [assignedUserID]", "instrumentDefinition": {
"instrumentCode": "GBPSWOIS=ICAP",
"template": "OIS_SONIA",
"tenor": "SW"
},
"basis": [ "OIS" ]
},
{
"statusMessage": "Access denied to GBP2WOIS=ICAP for user [assignedUserID]", "instrumentDefinition": {
"instrumentCode": "GBP2WOIS=ICAP",
"template": "OIS_SONIA",
"tenor": "2W"
},
"basis": [ "OIS" ]
},
{ "statusMessage": "Access denied to GBP1MOIS=ICAP for user [assignedUserID]", "instrumentDefinition":
{
"instrumentCode": "GBP1MOIS=ICAP",
"template": "OIS_SONIA",
"tenor": "1M" },
"basis": [ "OIS" ]
},
Thank you very much for your help.
Hi @igurung
The index name is indeed 'LIBOR' at the moment for the GBP curve definition. If the 'LIBOR' naming is correct with regards to 1M, 3M, 6M index tenors, it is less adequate concerning the OIS curve, which is built from SONIA swaps. We plan to create a distinct 'SONIA' definition focusing on the SONIA RFR curve.
Regarding this error message it seems that your UUID (user id) is not permissioned to access GBP1MOIS=ICAP. Did you try to get real time in RDP for that specific RIC?
Regards
Michel
Thank you for you explanation. Just to confirm, if used "id": "69348bb7-d0b3-49b3-b2b2-782ab4ad29f8", the discounting factor in response relates to SONIA!
Also you said "We plan to create a distinct 'SONIA' definition focusing on the SONIA RFR curve." Is this going to happen soon or just in agenda to be done in future. If you could provide ETA on this, it would be easy to decide whether to wait or move with current format.
The split of curve definitions (with specific RFR definitions) is planned for the current month but i can't give you a precise date yet.
Regards
Michel
If Refinitiv starts providing the SONIA curve based on the specific RFR definitions, will it still continue to provide the same curve based on the curve id : 69348bb7-d0b3-49b3-b2b2-782ab4ad29f8?
Just curious, will current way of retrieving sonia curve (i.e id: 69348bb7-d0b3-49b3-b2b2-782ab4ad29f8) will still be supported in future after RFR based sonia curve will be live?
Hi @igurung
Yes you'll still be able to obtain the SONIA curve using the existing curve definition. The 'OIS' index of the calculated multiple curves will be the same as the single SONIA curve obtained from the new SONIA definition.
Regards
Michel
Hi,
Thinking twice about this question, another way to obtain this RFR indexed curve would be to use the 'indexName' instead:
{ "universe": [ { "curveParameters": { "valuationDate": "2021-02-28" }, "curveDefinition": { "currency": "GBP", "indexTenors":["OIS"], "indexName": "SONIA", "source": "Refinitiv", "discountingTenor": "OIS" } } ], "outputs":["Constituents"] }
The curve definition id requires a first call to the zc-curve-definitions endpoint, and then select the id based on indexName .. That involves two requests and the id is not user-friendly.
You can directly input the 'indexName' in the zc-curves endpoint. Which means that for SOFR you should use: 'currency':'USD' / 'indexName':'SOFR', for EUR: 'currency':'EUR' / 'indexName':'ESTR'.
Also you'll notice that i use 'indexTenors':['OIS'] above. why? because for certain RFR curve definitions (like SOFR) we may have OIS-3M tenor basis swaps within the constituents and the multiple-curves framework may return an additional 3M index curve. In case you just need the OIS index curve, you can use the 'indexTenors' property. That makes the result less verbose and the calculation time is more performant.
Hope that helps
Best Regards
Michel