question

Upvotes
Accepted
1 0 1 0

RDP IPA - Sonia Curve

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!

rdp-apirefinitiv-data-platform
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

10 Answers

Upvotes
Accepted
136 5 0 0

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


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

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?



Upvotes
1 0 0 0

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.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
136 5 0 0

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

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
1 0 0 0

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.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
136 5 0 0

@igurung

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

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
1 0 0 0

@michelhugo.battistini

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?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
136 5 0 0

Hi @igurung

No, the new RFR specific definitions will have their own curve id.

Regards

Michel

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
1 0 0 0

michelhugo.battistini

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?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
136 5 0 0

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

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
136 5 0 0

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

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Click below to post an Idea Post Idea