For a deeper look into our DataScope Select REST API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials

question

Upvotes
Accepted
1 2 0 3

Need details regarding Options RIC construction

Hi Team,

I'm trying to fetch EOD prices for Options contracts. But I get below response when i place the request.

{"IdentifierType":"Ric","Identifier":"LCO50X1","Error":"Not found"}{"IdentifierType":"Ric","Identifier":"CL56E0","Error":"Not found"}
{"IdentifierType":"Ric","Identifier":"ABY-3.5C0","Error":"Not found"}
{"IdentifierType":"Ric","Identifier":"BZZ97.5L9","Error":"Not found"}

I have constructed the Options RIC as per Refinititiv standard. "Root code+Strikeprice+Put/CallIndicator Month code+year". Please let me know if i'm missing something else. Thanks in advance

dss-rest-apidatascope-selectdss
icon clock
10 |1500

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

Upvote
Accepted
11.3k 25 9 14

Hi @vasanthakumar_s02,

You may use FuturesAndOptionsSearch to get RIC. However, this method requires more tests to ensure that it works on other exchanges.

Below is the sample.

POST https://hosted.datascopeapi.reuters.com/RestApi/v1/Search/FuturesAndOptionsSearh
{
    "SearchRequest": {
        "PutCall": "Call",
        "Description": "*MAR0*",
        "StrikePrice": {
            "@odata.type": "#ThomsonReuters.Dss.Api.Search.NumericValueComparison",
            "Value": -3.5
        },
        "ExpirationDate": null,
        "IdentifierType": "RICRoot",
        "Identifier": "ABY",
        "PreferredIdentifierType": "Ric"
    }
}

Response

{
    "@odata.context": "https://hosted.datascopeapi.reuters.com/RestApi/v1/$metadata#Collection(ThomsonReuters.Dss.Api.Search.FuturesAndOptionsSearchResult)",
    "value": [
        {
            "Identifier": "ABY350C0N",
            "IdentifierType": "Ric",
            "Source": "NYM",
            "Key": "VjF8MHgwMDEwMGIwMDEzYjQwNzZkfDB4MDAxMDBiMDAxM2I0MDY5MHxOWU18RFZRVXxERVJWfEZPUHxEfHxBQlkzNTBDME58NzYyMw",
            "Description": "ABY MAR0 -3.5 C",
            "InstrumentType": "DerivativeQuote",
            "Status": "Valid",
            "ExchangeCode": "NYM",
            "CurrencyCode": "USD",
            "FuturesAndOptionsType": "FuturesOnOptions",
            "PutCallCode": "Call",
            "ExpirationDate": "2020-01-30T00:00:00.000Z",
            "StrikePrice": -3.5,
            "AssetStatus": "Active"
        }
    ]
}

Hope this helps.

icon clock
10 |1500

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

@vasanthakumar_s02

I have done more testing for <CL560E0>. The request body above modified for <CL560E0> returns two RIC for different expiration dates (in 2020 and 2030). You need to specify the expiration date range to scope down the RIC.

{
    "SearchRequest": {
        "PutCall": "Call",
        "Description": "*MAY0*",
        "StrikePrice": {
            "@odata.type": "#ThomsonReuters.Dss.Api.Search.NumericValueComparison",
            "Value": 56
        },
        "ExpirationDate": {
            "@odata.type": "#ThomsonReuters.Dss.Api.Search.DateRangeComparison",
            "From": "2020-01-01T00:00:00.000Z",
            "To": "2020-12-31T00:00:00.000Z"
        },
        "IdentifierType": "RICRoot",
        "Identifier": "CL",
        "PreferredIdentifierType": "Ric"
    }
}
vasanthakumar_s02 avatar image vasanthakumar_s02 veerapath.rungruengrayubkul

Hi Veerapath @ I'm really thankful and appreciate for going extra mile and validating the solution from your end. We will definitely try this solution and let you know.

Upvote
11.3k 25 9 14

Hi @vasanthakumar_s02,

I believe that the issue is in the RIC construction method. For example, I have found <LCO5000X1> RIC for "Crude Oil Electronic Energy Option 50 Put Dec 2021" and <ABY350C0N> RIC for "Crude Oil Spread Electronic Energy Option -3.5 Call Mar 2020".

Please contact Content Support team via MyRefinitiv to confirm this information.

icon clock
10 |1500

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

Upvotes
1 2 0 3

Thanks for your reply @ Veerapath.
1. It seems like, i need to multiply Strike price by some factor. Can you please let me know how to identify the multiplication factor?
2. Also it seems like, If the strike price is negative, i need to append an indicator. If i'm correct, can you please let me know the indicators?

icon clock
10 |1500

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

Hi @vasanthakumar_s02,

I cannot provide more details about the standard as I have limited knowledge on content. The example I found is to demonstrate that there should be more rules in the RIC construction. Please confirm this information with the Content support on the case you have opened.

Upvotes
1 2 0 3

Hi @ Veerapath @ Christiaan. I posted above query to Support team. I shared
<LCO5000X1> RIC for "Crude Oil Electronic Energy Option 50 Put Dec 2021" this RIC as example to the team. Please find response below from Support team.

"I am afraid that the PDF has the standard RIC structure, however, it would vary with the exchanges. For the given example, this refers to strike of 50 with decimal places IE 50.00.
And to note, not all markets will have decimal place holders, some will have only one digit place holders depending on the strike ranges.
Hence it would be really difficult or not possible to state for every market how the RIC is generated.

Let me know if any other questions."

So from above response, i can infer that extra characters that come along with Strike Price in Options RIC refers to decimal places.

So my request is, Can you please let me know if Refinitiv has this information stored any where in the system which i can access through any API? I'm not able to get any information regarding these decimal places. Any information related to this will help me to solve the issue i'm facing. Thanks in advance.

icon clock
10 |1500

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

Upvotes
32.2k 40 11 19

Hello @vasanthakumar_s02,

I am gathering from the Refinitiv content expert's response, that you have included that the subject matter, the RICs of this type, is different for different exchanges, is defined by exchanges differently, and the rules are likely to be documented by the exchanges in question.

Please try to investigate with the exchanges.

icon clock
10 |1500

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

@vasanthakumar_s02,

As a developer, if I was determined to build and request these RICs automatically, without researching through exchange's help channels on teh subject of their strike rules,

in terms of procedure, I would try without decimal places, if not, I would try with, or I would try both and just discard the "not found".

Hope this helps

Hi Zoya @Zoya.farberov . Thank you for the response. We tried standard RIC structure as specified in the document (DSE_RIC_Structures.pdf) without any decimal place holder. But we were not getting data for particular set of contracts. Also we don't have any information regarding decimal places. As Refinitiv already has RICs with decimal places, we were in impression that required information can be availed from Refinitiv system itself.

Hi @vasanthakumar_s02,

I hear you, this is very frustrating.

On the matter of content we (I am also a developer) have to defer to content experts, their conclusion is definitive

Upvotes
1 2 0 3

Hi Zoya @ Can you give us one example how to fetch decimal place holder for strike price from an exchange (assuming that process of fetching the details will be same for all exchanges). We will try from our end as well. Thanks in advance.

icon clock
10 |1500

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

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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