Historical Reference for RIC identifier: All identifier invalid. No Extraction performed
I try to extract the Historical reference for certain RICs. It works with ChainRICs but when I enter a RIC, there is an error of invalid identifier.
See the code example
string[] requestedFieldNames = {
"RIC",
"RIC Root",
"Expiration Date"};
//Create the request
var extractionRequest = new HistoricalReferenceExtractionRequest()
{ IdentifierList = new InstrumentIdentifierList()
{ InstrumentIdentifiers = new[] { new InstrumentIdentifier { IdentifierType = IdentifierType.Ric, Identifier = "HOZ5" } }
},
Condition = new HistoricalReferenceCondition()
{ ReportDateRangeType = ReportDateRangeType.Range,
//QueryStartDate = new DateTimeOffset(new DateTime(2014, 1, 1)),
//QueryEndDate = new DateTimeOffset(new DateTime(2014, 1, 31))
QueryStartDate = new DateTimeOffset(new DateTime(2015, 12, 1)),
QueryEndDate = new DateTimeOffset(new DateTime(2015, 12, 4))
},
ContentFieldNames = requestedFieldNames
};
//Extract - NOTE: If the extraction request takes more than 30 seconds the async mechansim will be used. See Key Mechanisms
var extractionResult = ExtractionsContext.ExtractWithNotes(extractionRequest);
var extractedRows = extractionResult.Contents;
Best Answer
-
@dirk, yes you are right of course. Sorry, my mistake, I was looking for a current instrument, not a historical one.
When I use your code I get a "Not found" error, and the extraction notes contain:
All identifiers were invalid. No extraction performed.
Cause: by default historical instruments are not included in the results.
Solution: you need to add a validation option to allow historical instruments. The following code should get the data you want:
var extractionRequest = new HistoricalReferenceExtractionRequest()
{
IdentifierList = new InstrumentIdentifierList()
{
InstrumentIdentifiers = new[] {
new InstrumentIdentifier { IdentifierType = IdentifierType.Ric, Identifier = "HOZ5" }
},
ValidationOptions = new InstrumentValidationOptions() {
AllowHistoricalInstruments = true
}
},
Condition = new HistoricalReferenceCondition()
{
ReportDateRangeType = ReportDateRangeType.Range,
QueryStartDate = new DateTimeOffset(new DateTime(2015, 12, 01)),
QueryEndDate = new DateTimeOffset(new DateTime(2015, 12, 04))
},
ContentFieldNames = requestedFieldNames
};Just to illustrate, the following code sets all validation options, and disables the user preferences for this call (because we are overriding them with our validation options):
var extractionRequest = new HistoricalReferenceExtractionRequest()
{
IdentifierList = new InstrumentIdentifierList()
{
InstrumentIdentifiers = new[] {
new InstrumentIdentifier { IdentifierType = IdentifierType.Ric, Identifier = "HOZ5" }
},
ValidationOptions = new InstrumentValidationOptions() {
AllowHistoricalInstruments = true,
AllowOpenAccessInstruments = false,
UseExchangeCodeInsteadOfLipper = true,
ExcludeFinrAsPricingSourceForBonds = false,
UseConsolidatedQuoteSourceForCanada = false,
UseConsolidatedQuoteSourceForUsa = false,
UseUsQuoteInsteadOfCanadian = true
},
UseUserPreferencesForValidationOptions = false
},
Condition = new HistoricalReferenceCondition()
{
ReportDateRangeType = ReportDateRangeType.Range,
QueryStartDate = new DateTimeOffset(new DateTime(2015, 12, 01)),
QueryEndDate = new DateTimeOffset(new DateTime(2015, 12, 04))
},
ContentFieldNames = requestedFieldNames
};Hope this helps.
0
Answers
-
@dirk, the RIC instrument identifier is defined correctly. The issue is that HOZ5 is not a valid RIC.
0 -
Sorry, HOZ5 is a valid RIC. E.g. if I expand the ChainRIC 0#HO: I get HOZ5 as a RIC for the December 2015 Heating Oil Future.
Also, If I do the request 1) with the GUI or 2) creating instrument lists and a report template, it works. So this seems a Bug on your side.
0 -
See here for HOZ5 as RIC
0 -
see my answer above, HOZ5 is a valid RIC
0 -
Is it possible to match permno (identifier from CRSP) with RIC using a similar code to the one you used above?
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 690 Datastream
- 1.5K DSS
- 629 Eikon COM
- 5.2K Eikon Data APIs
- 11 Electronic Trading
- 1 Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 255 ETA
- 560 WebSocket API
- 39 FX Venues
- 15 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 25 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 281 Open PermID
- 46 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 23 RDMS
- 2K Refinitiv Data Platform
- 724 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 106 UPA
- 194 TREP Infrastructure
- 229 TRKD
- 918 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 95 Workspace SDK
- 11 Element Framework
- 5 Grid
- 19 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛