Restrict Composite extraction request for certain exchange

I am using below Composite extraction request where i am providing ISIN with the certain fields.
Currently its giving the response as result for all different exchanges(RIC). For every ISIN i am getting more than 100 rows as returned for all the different exachanges (RIC).
I want to restrict the extraction request for certain exchange for ISIN like:
- Frankfurt - F
- Stuttgart - SG
- München - MU
- New York - N
- London - L
- Tokyo - T
- Eurex - d
Below is my composite extraction request:
requestBody = {
"ExtractionRequest": {
"@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.CompositeExtractionRequest",
"ContentFieldNames": [
"ISIN","RIC","Average Volume - 30 Days","Average Volume - 90 Days","Close on Close Volatility - 90 Days","Dollar Daily Value Average - 30 Days","CESR Free Float","CRA Free Float","Outstanding Shares - Issue Shares Amount","Outstanding Shares - Other Shares Amount"
],
"IdentifierList": {
"@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
"InstrumentIdentifiers": [{
"Identifier": "DE000A168205",
"IdentifierType": "Isin",
"Source":"*"
}],
"ValidationOptions": {
"AllowInactiveInstruments": "false"
},
"UseUserPreferencesForValidationOptions": "false"
},
"Condition": {
"ScalableCurrency": "true"
}
}
}
Is it possible to limit the request for certain exchange for ISIN ?
Best Answer
-
Hello @rahul.deshmukh ,
I do not see "Exchange" filter included in Composite request spec, the filter that is available is "Source", please see Composite request spec in REST API Reference Tree for the details.
Try this:
1. To see Contributor Codes in the result
{
"ExtractionRequest": {
"@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.CompositeExtractionRequest",
"ContentFieldNames": [
"ISIN","RIC","Average Volume - 30 Days","Average Volume - 90 Days","Close on Close Volatility - 90 Days","Dollar Daily Value Average - 30 Days","CESR Free Float","CRA Free Float","Outstanding Shares - Issue Shares Amount","Outstanding Shares - Other Shares Amount","Contributor Code"
],
"IdentifierList": {
"@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
"InstrumentIdentifiers": [{
"Identifier": "DE000A168205",
"IdentifierType": "Isin",
"Source":"*"
}],
"ValidationOptions": {
"AllowInactiveInstruments": "false"
},
"UseUserPreferencesForValidationOptions": "false"
},
"Condition": {
"ScalableCurrency": "true"
}
}
}2. Next, you can include the codes that you require in the filter and filter the results:
{
"ExtractionRequest": {
"@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.CompositeExtractionRequest",
"ContentFieldNames": [
"ISIN","RIC","Average Volume - 30 Days","Average Volume - 90 Days","Close on Close Volatility - 90 Days","Dollar Daily Value Average - 30 Days","CESR Free Float","CRA Free Float","Outstanding Shares - Issue Shares Amount","Outstanding Shares - Other Shares Amount","Contributor Code"
],
"IdentifierList": {
"@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
"InstrumentIdentifiers": [{
"Identifier": "DE000A168205",
"IdentifierType": "Isin",
"Source":"FRA"
},
{
"Identifier": "DE000A168205",
"IdentifierType": "Isin",
"Source":"STU"
}],
"ValidationOptions": {
"AllowInactiveInstruments": "false"
},
"UseUserPreferencesForValidationOptions": "false"
},
"Condition": {
"ScalableCurrency": "true"
}
}
}Resulting in:
{
"@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#DataScope.Select.Api.Extractions.ExtractionRequests.ExtractionResult",
"Contents": [
{
"IdentifierType": "Isin",
"Identifier": "DE000A168205",
"ISIN": "DE000A168205",
"RIC": "SHVA.F",
"Average Volume - 30 Days": null,
"Average Volume - 90 Days": null,
"Close on Close Volatility - 90 Days": null,
"Dollar Daily Value Average - 30 Days": null,
"CESR Free Float": null,
"CRA Free Float": null,
"Outstanding Shares - Issue Shares Amount": null,
"Outstanding Shares - Other Shares Amount": null,
"Contributor Code": "FRA"
},
{
"IdentifierType": "Isin",
"Identifier": "DE000A168205",
"ISIN": "DE000A168205",
"RIC": "SHVA.SG",
"Average Volume - 30 Days": null,
"Average Volume - 90 Days": null,
"Close on Close Volatility - 90 Days": null,
"Dollar Daily Value Average - 30 Days": null,
"CESR Free Float": null,
"CRA Free Float": null,
"Outstanding Shares - Issue Shares Amount": null,
"Outstanding Shares - Other Shares Amount": null,
"Contributor Code": "STU"
}
],Hope that this information helps
0
Answers
-
@zoya faberov i have updated the request correctly now...which gives me all the exchanges for certain Isin and i want to restrict for certain exchanges0
-
@zoya faberov thanks this looks good. But currently i have 1000 ISIN list and i am passing 50 ISIN per request. In this case its really difficult to write source for different exchange for each ISIN...Is it possible to write for example "Source" : "STU", "FRA" in request ?0
-
Hello @rahul.deshmukh ,
If you have 1000 ISINs to request with, the approach that I would use is include "Contributor Code" in the request and filter out the results, based on "Contributor Code", dropping any result points that do not match the requirement.
The alternative approach may be not to use ISINs as identifiers, but to convert them to RICs with exchange spec, first. You may find useful article ISIN to RIC conversion with the DSS (DataScope Select) REST API.
To my best knowledge, Source field in the request spec does not include comma or regex options.
0 -
@zoya faberov what do you mean actually "filter out the results, based on "Contributor Code" " ...do you mean first i should extract for all exchanges and then filter out from result ?
I will also check the article thanks..
0 -
@rahul.deshmukh ,
Yes.
If you have 1000 ISINs, not all of which may be present from every source, I would consider filtering source from the results, rather then in the request.
0 -
@zoya faberov Thanks One more small question is do we have any field which gives me load date or current sysdate ? I just need this so that i will know i extracted the data from today for example...
0 -
@rahul.deshmukh ,
If I understand the question correctly - Composite extraction provides you with the result at the current point of time.
You can obtain current date using facilities of the language that you use to request the extraction, rather then DSS API and save it with the result, if required?
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 690 Datastream
- 1.4K DSS
- 629 Eikon COM
- 5.2K Eikon Data APIs
- 11 Electronic Trading
- 1 Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 255 ETA
- 559 WebSocket API
- 39 FX Venues
- 15 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 25 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 279 Open PermID
- 45 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 23 RDMS
- 2K Refinitiv Data Platform
- 716 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 106 UPA
- 194 TREP Infrastructure
- 229 TRKD
- 918 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 95 Workspace SDK
- 11 Element Framework
- 5 Grid
- 19 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛