question

Upvotes
Accepted
5 0 0 1

HistoricalReferenceの欠損について

HistoricalReferenceレポートで、ESc1の満期日を取得しようとしています。

Expiration Dateは未設定であるため、Last Trading Dayを満期日として参照しようとしたのですが、

2021/3/19の満期日の情報が入っていません。

ESc1は3月、6月、9月、12月の第3金曜日が満期日であるため、上記の情報が欠損していると思うのですが、こちらはバグでしょうか?

また、過去データのみで発生しており、今後発生することはないでしょうか?


#producttick-history-rest-api
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.

Hello @shiro.chiba

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?


If so please can you click the 'Accept' text next to the appropriate reply? This will guide all community members who have a similar question.

Thanks,


AHS

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,
AHS

Upvotes
Accepted
79.2k 251 52 74

@shiro.chiba

Thank you for reaching out to us.

Please try the "ETH Expiry Date" field.

{
                
    "ExtractionRequest": {
                
        "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.HistoricalReferenceExtractionRequest",
        "ContentFieldNames": [
            "RIC",          
            "ETH Expiry Date"
        ],
        "IdentifierList": {
                
            "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
            "InstrumentIdentifiers": [
                {
                
                    "Identifier": "ESc1",
                    "IdentifierType": "Ric"
                }
            ],
            "ValidationOptions": {
                
                "AllowHistoricalInstruments": true
            },
            "UseUserPreferencesForValidationOptions": false
        },
        "Condition": {
                
            "ReportDateRangeType": "Range",
            "QueryStartDate": "2021-05-01",
            "QueryEndDate": "2023-10-31"
        }
    }
}

The output is:

       ...
        {
                
            "IdentifierType": "Ric",
            "Identifier": "ESc1",
            "RIC": "ESc1",
            "ETH Expiry Date": "2023-03-17"
        },
        {
                
            "IdentifierType": "Ric",
            "Identifier": "ESc1",
            "RIC": "ESc1",
            "ETH Expiry Date": "2023-06-16"
        },
        {
                
            "IdentifierType": "Ric",
            "Identifier": "ESc1",
            "RIC": "ESc1",
            "ETH Expiry Date": "2023-06-16"
        },
        {
                
            "IdentifierType": "Ric",
            "Identifier": "ESc1",
            "RIC": "ESc1",
            "ETH Expiry Date": "2023-09-15"
        },
        {
                
            "IdentifierType": "Ric",
            "Identifier": "ESc1",
            "RIC": "ESc1",
            "ETH Expiry Date": "2023-09-15"
        },
        {
                
            "IdentifierType": "Ric",
            "Identifier": "ESc1",
            "RIC": "ESc1",
            "ETH Expiry Date": "2023-12-15"
        },


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.

Upvotes
5 0 0 1

@Jirapongse ご回答ありがとうございます。

上記のリクエストを行うと、400エラーが発生しました。


'{"error":{"message":"Validation Error:\\r\\n\\r\\nInvalid content FieldName \\"ETH Expiry Date\\"V}'

pythonでリクエストを行ったのですが、Bodyは以下の内容になります。

    url = 'https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/ExtractWithNotes'

    headers =
        'Prefer': 'respond-async
        'Content-Type': 'application/json
        'Authorization': f'Token {token
    }

    data = {
        "ExtractionRequest": {
            "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.HistoricalReferenceExtractionRequest",
            "ContentFieldNames": [
            "RIC",          
            "ETH Expiry Date"
        ],
            "IdentifierList":
                "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
                "InstrumentIdentifiers":[
                {
                    "Identifier": "ESc1",
                    "IdentifierType": "Ric"
                }
            ],
                "ValidationOptions": {"AllowHistoricalInstruments": True},
                "UseUserPreferencesForValidationOptions": False
            },
            "Condition":
                "ReportDateRangeType": "Range",
                "QueryStartDate": {start_date},
                "QueryEndDate": {end_date}
            }
       }
    response = requests.post(url, data=json.dumps(data), headers=headers)

何か間違ってますでしょうか?



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.

Upvotes
79.2k 251 52 74

@shiro.chiba

The request message is not a valid JSON.

1699933354625.png

The code should look like this:

import requests
import json
url = "https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/ExtractWithNotes"
payload = json.dumps({
  "ExtractionRequest": {
    "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.HistoricalReferenceExtractionRequest",
    "ContentFieldNames": [
      "RIC",
      "ETH Expiry Date"
    ],
    "IdentifierList": {
      "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
      "InstrumentIdentifiers": [
        {
          "Identifier": "ESc1",
          "IdentifierType": "Ric"
        }
      ],
      "ValidationOptions": {
        "AllowHistoricalInstruments": True
      },
      "UseUserPreferencesForValidationOptions": False
    },
    "Condition": {
      "ReportDateRangeType": "Range",
      "QueryStartDate": "2020-01-01",
      "QueryEndDate": "2023-01-01"
    }
  }
})
headers = {
  'Prefer': 'respond-async',
  'Content-Type': 'application/json',
  'Authorization': 'Token <token>'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

1699933354625.png (41.7 KiB)
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.

Upvotes
5 0 0 1

@Jirapongse

Thank you. However, I'm still encountering the same error.

1699942130413.png


1699942130413.png (60.3 KiB)
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.

@shiro.chiba

This is strange. This field may be an internal field.

Please contact the Refinitiv Tick History support team directly via MyRefinitiv to verify this field or get another field that can provide the same data.

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.