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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials

question

Upvotes
1 0 0 0

How to add instruments to the instrument list from the extraction response of Search for a Future or Option

Hi Team,


Can you please confirm if there is any API code to add the instruments to the instrument list from the response received in API query of 'Search for a Future or Option'


API Query:

{

"SearchRequest": {

"FileCodes": null,

"CurrencyCodes": null,

"ExchangeCodes": null,

"IdentifierType": "Ric",

"Identifier": null,

"PreferredIdentifierType": "Ric",

"UnderlyingRic": "AAL.O"

}

}


Sample Response:

{

"@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#Collection(DataScope.Select.Api.Search.FuturesAndOptionsSearchResult)",

"value": [

{

"Identifier": "AALF212403700.U",

"IdentifierType": "Ric",

"Source": "OPQ",

"Key": "VjF8MHgwMDEwMGIwMDJlMzYwYjNhfDB4MDAxMDBiMDAyZTM1OTcwMHxPUFF8RFZRVXxERVJWfE9QVHxEfHxBQUxGMjEyNDAzNzAwLlV8NzE0MQ",

"Description": "AAL Jun4 37.0 C",

"InstrumentType": "DerivativeQuote",

"Status": "Valid",

"ExchangeCode": "OPQ",

"CurrencyCode": "USD",

"FuturesAndOptionsType": "Options",

"PutCallCode": "Call",

"ExpirationDate": "2024-06-21T00:00:00.000Z",

"StrikePrice": 37,

"AssetStatus": "Active"

},

{

"Identifier": "AALF212402000.U",

"IdentifierType": "Ric",

"Source": "OPQ",

"Key": "VjF8MHgwMDEwMGIwMDJlMzYwZTE2fDB4MDAxMDBiMDAyZTM1OWE2OXxPUFF8RFZRVXxERVJWfE9QVHxEfHxBQUxGMjEyNDAyMDAwLlV8NzE0MQ",

"Description": "AAL Jun4 20.0 C",

"InstrumentType": "DerivativeQuote",

"Status": "Valid",

"ExchangeCode": "OPQ",

"CurrencyCode": "USD",

"FuturesAndOptionsType": "Options",

"PutCallCode": "Call",

"ExpirationDate": "2024-06-21T00:00:00.000Z",

"StrikePrice": 20,

"AssetStatus": "Active"

},

{

"Identifier": "AALR212402700.U",

"IdentifierType": "Ric",

"Source": "OPQ",

"Key": "VjF8MHgwMDEwMGIwMDJlMzYwZTkyfDB4MDAxMDBiMDAyZTM1OWIzNHxPUFF8RFZRVXxERVJWfE9QVHxEfHxBQUxSMjEyNDAyNzAwLlV8NzE0MQ",

"Description": "AAL Jun4 27.0 P",

"InstrumentType": "DerivativeQuote",

"Status": "Valid",

"ExchangeCode": "OPQ",

"CurrencyCode": "USD",

"FuturesAndOptionsType": "Options",

"PutCallCode": "Put",

"ExpirationDate": "2024-06-21T00:00:00.000Z",

"StrikePrice": 27,

"AssetStatus": "Active"

}


Can the RICs received in this response be added to the Instrument list in the same or different API?


Thanks,

Anirudh

dss-rest-api#product
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 @Anirudh Vishnubhatla ,

Thank you for your participation in the forum.

Are any of the replies below satisfactory in resolving your query?

If yes please click the 'Accept' text next to the most appropriate reply. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thank you,

AHS

1 Answer

· Write an Answer
Upvotes
22.2k 59 14 21

Hi @Anirudh Vishnubhatla,

There is no direct API call which will take the output of the search API and create an instrument list for it. Your application will have to handle this in the code.

If the list does not exist already, it should be created:

url = "https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/InstrumentLists"

body = {
  "@odata.type": "#DataScope.Select.Api.Extractions.SubjectLists.InstrumentList",
  "Name": "Python Instrument List"
}

resp = requests.post(url, data = json.dumps(body), headers = ...)

Now instruments from Search results can be added to it. The instrument list JSON should contain an array of identifiers. Using your search results as example:

il = []
for inst in searchResults['value']:
    lInstr = {
        'Identifier': inst['Identifier'],
        'IdentifierType': inst['IdentifierType'],
        'UserDefinedIdentifier': inst['Identifier']
    }
    il.append(lInstr)

url = "https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/InstrumentLists('" + listID + "')/DataScope.Select.Api.Extractions.InstrumentListAppendIdentifiers"

body = {
  "Identifiers": il,
  "KeepDuplicates": True
}

resp = requests.post(url, data = json.dumps(body), headers = ...)

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.

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.