<0#EXCHANGE/DATES> for discointinued data series and how to find the Date(s) - Eikon API

Dear Community.

I'm looking for a RIC of discontinued instruments to find a date in the SUPER RIC <0#EXCHANGE/DATES>.

Taking <GCZ0> as the RIC and looking for the "First Notice Date", the code

"

df, err = ek.get_data(

instruments = ['GCZ0FUTDATE1'],

fields = ['ROW80_8']

)


display(df)

df

"

will work.

In other hand, the RIC <GCZ0^1>, from DEC 2010, and the same logic

"

df, err = ek.get_data(

instruments = ['GCZ0^1FUTDATE1'],

fields = ['ROW80_8']

)


display(df)

df

"

don't retrive the data.

Need to know how to do it.

Best Answer

  • zoya faberov
    zoya faberov ✭✭✭✭✭
    Answer ✓

    Hello @vibisogni,

    Let's look at Datascope Historical Reference Extraction Request:

    "Name": "Start date",

    "Description": "Starting date of the instrument. This field contains values formerly found under First Notice day.",

    {
        "ExtractionRequest": {
            "@odata.type": "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.HistoricalReferenceExtractionRequest",
            "ContentFieldNames": [
               "RIC",  "Start date"
            ],
            "IdentifierList": {
                "@odata.type": "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
                "InstrumentIdentifiers": [
                    {
                        "Identifier": "GCZ0^1",
                        "IdentifierType": "Ric"
                    }
                ],
                "ValidationOptions": {"AllowHistoricalInstruments": true},
                "UseUserPreferencesForValidationOptions": false
            },
            "Condition": {
              "StartDate": "2007-01-01T00:00:00.000Z",
                "EndDate": "2020-08-01T23:59:59.000Z"
            }
        }
    }

    The results include

       {
                "IdentifierType": "Ric",
                "Identifier": "GCZ0^1",
                "RIC": "GCZ0",
                "Start date": "2010-11-30"
            },
            {
                "IdentifierType": "Ric",
                "Identifier": "GCZ0^1",
                "RIC": "GCZ0",
                "Start date": "2010-11-30"
            },

    Hope this helps



Answers

  • zoya faberov
    zoya faberov ✭✭✭✭✭

    Hello @vibisogni,

    Let's step back from Eikon Data API Python and review how you achieve this goal with the first example, GCZ0^1FUTDATE1, an active Gold Composite Commodity Future:

    1. Request reference RIC: 0#EXCHANGE/DATES

    It's a chain RIC, and you follow to LONGLINK4 = COMMOD/CTR/DATE

    2. Request reference RIC: COMMOD/CTR/DATE

    It's a chain RIC, GCZ is not on the first page, and you follow LONGNEXTLR = 1#COMMOD/CTR/DATE

    3. Request reference RIC: 1#COMMOD/CTR/DATE

    It's a chain RIC, and GCZ is not on this page, and you follow LONGNEXTLR = 2#COMMOD/CTR/DATE

    4.Request reference RIC: 2#COMMOD/CTR/DATE

    It's a chain RIC, we find GCZ in LONGLINK10 = GC/FUT/DATE

    5. Request reference RIC: GC/FUT/DATE

    It's a chain RIC and we follow to GCFUTDATE1

    6. Request RIC: GCFUTDATE1

    It's a page, we cut out ROW80_7 = GCZ0/FUT/DATE

    7.Request RIC: GCZ0/FUT/DATE

    It's a chain, we follow two links

    HCMXFUTDATE1 for headers (field name locations, i.e. ROW80_8)

    GCZ0FUTDATE1 for values (in ROW80_8)

    8. Request RIC: HCMXFUTDATE1 and RIC: GCZ0FUTDATE1

    This approach of "walking" down the reference tree to find what you need works. But to my best knowledge, references are up-to-date, do not include expired instruments with "^". So, in my understanding, you will not be able to pursue this approach via reference. I am a developer, so I have opened a content investigation case # 09230144 to confirm this with content experts.

    I would consider to examine a solution with Reference data product such as Datascope.