HistoricalReferenceレポートで、ESc1の満期日を取得しようとしています。
Expiration Dateは未設定であるため、Last Trading Dayを満期日として参照しようとしたのですが、
2021/3/19の満期日の情報が入っていません。
ESc1は3月、6月、9月、12月の第3金曜日が満期日であるため、上記の情報が欠損していると思うのですが、こちらはバグでしょうか?
また、過去データのみで発生しており、今後発生することはないでしょうか?
HistoricalReferenceレポートで、ESc1の満期日を取得しようとしています。
Expiration Dateは未設定であるため、Last Trading Dayを満期日として参照しようとしたのですが、
2021/3/19の満期日の情報が入っていません。
ESc1は3月、6月、9月、12月の第3金曜日が満期日であるため、上記の情報が欠損していると思うのですが、こちらはバグでしょうか?
また、過去データのみで発生しており、今後発生することはないでしょうか?
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
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" },
@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)
何か間違ってますでしょうか?
The request message is not a valid JSON.
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)
Thank you. However, I'm still encountering the same error.
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.