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

Options

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.



Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.