Unable to query Symbology Changes using DataScope Select API

I'm trying to generate a symbology change report using DataScope Select API, however it is unable to process many Ric Roots.


Example 1: Symbology Change for FW20 using continuous RIC

Input

URL: https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/ExtractRaw (POST)

{
"ExtractionRequest": {
"@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.TickHistoryTimeAndSalesExtractionRequest",
"ContentFieldNames": [
"Symbology Change - Change Type",
"Symbology Change - New Value",
"Symbology Change - Old Value"
],
"IdentifierList": {
"@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
"InstrumentIdentifiers": [
{
"Identifier": "FW20c1",
"IdentifierType": "Ric"
}
]
},
"Condition": {
"MessageTimeStampIn": "GmtUtc",
"ApplyCorrectionsAndCancellations": "false",
"ReportDateRangeType": "Range",
"QueryStartDate": "1996-01-01T00:00:00.000Z",
"QueryEndDate": "2021-11-23T12:59:59.000Z",
"DateRangeTimeZone": "Local Exchange Time Zone",
"DisplaySourceRIC": "true"
}
}
}

Output

{
"@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#RawExtractionResults/$entity",
"JobId": "0x07ccb58680fd568a",
"Notes": [
"All identifiers were invalid. No extraction performed."
],
"IdentifierValidationErrors": [
{
"Identifier": {
"@odata.type": "#DataScope.Select.Api.Content.InstrumentIdentifier",
"Identifier": "FW20c1",
"IdentifierType": "Ric",
"Source": ""
},
"Message": "Not found"
}
]
}

Observation

Continuous Ric is considered invalid by the API but this works on the GUI while querying in Historical section


Example 2: Symbology Change for FW20 after expanding RIC chain

Input

URL: https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/ExtractRaw (POST)

{
"ExtractionRequest": {
"@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.TickHistoryTimeAndSalesExtractionRequest",
"ContentFieldNames": [
"Symbology Change - Change Type",
"Symbology Change - New Value",
"Symbology Change - Old Value"
],
"IdentifierList": {
"@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
"InstrumentIdentifiers": [
{
"Identifier": "FW20H11",
"IdentifierType": "Ric"
},
{
"Identifier": "FW20M11",
"IdentifierType": "Ric"
},
{
"Identifier": "FW20U11",
"IdentifierType": "Ric"
},
{
"Identifier": "FW20Z11",
"IdentifierType": "Ric"
}
]
},
"Condition": {
"MessageTimeStampIn": "GmtUtc",
"ApplyCorrectionsAndCancellations": "false",
"ReportDateRangeType": "Range",
"QueryStartDate": "1996-01-01T00:00:00.000Z",
"QueryEndDate": "2021-11-23T12:59:59.000Z",
"DateRangeTimeZone": "Local Exchange Time Zone",
"DisplaySourceRIC": "true"
}
}
}

Output

{
"@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#RawExtractionResults/$entity",
"JobId": "0x07ccae777b1d566f",
"Notes": [
"All identifiers were invalid. No extraction performed."
],
"IdentifierValidationErrors": [
{
"Identifier": {
"@odata.type": "#DataScope.Select.Api.Content.InstrumentIdentifier",
"Identifier": "FW20H11",
"IdentifierType": "Ric",
"Source": ""
},
"Message": "Not found"
},
{
"Identifier": {
"@odata.type": "#DataScope.Select.Api.Content.InstrumentIdentifier",
"Identifier": "FW20M11",
"IdentifierType": "Ric",
"Source": ""
},
"Message": "Not found"
},
{
"Identifier": {
"@odata.type": "#DataScope.Select.Api.Content.InstrumentIdentifier",
"Identifier": "FW20U11",
"IdentifierType": "Ric",
"Source": ""
},
"Message": "Not found"
},
{
"Identifier": {
"@odata.type": "#DataScope.Select.Api.Content.InstrumentIdentifier",
"Identifier": "FW20Z11",
"IdentifierType": "Ric",
"Source": ""
},
"Message": "Not found"
}
]
}

Observation

Constituent Rics are considered invalid by the API but this works on the GUI while querying in Historical section

This is the case for many more Ric Roots such as NG, DOL, IND, LCO etc. It does work for some Ric Roots such as JYc1, but I can't figure out why. Please advise.

Best Answer

  • @abhinav.mathur

    You may need to set AllowHistoricalInstruments to true, as shown below.

     "IdentifierList": {
          "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
          "InstrumentIdentifiers": [
            {
              "Identifier": "FW20c1",
              "IdentifierType": "Ric"
            }
          ],"ValidationOptions":{"AllowHistoricalInstruments": true}

Answers