Is there a way to limit the list of fields and/or record types (trades vs. bid/ask) when using REST API? The default mode is sending too many records that are discarded but take up bandwidth and extra time to evaluate.
Thank you.
Is there a way to limit the list of fields and/or record types (trades vs. bid/ask) when using REST API? The default mode is sending too many records that are discarded but take up bandwidth and extra time to evaluate.
Thank you.
H Eugene @ekhosid,
You will be able to specify fids into raw extraction request, please see
REST API Reference -> TickHistoryRawExtractionRequest -> Condition -> Fids
At the bottom, change Request/Response examples to "Create TickHistoryRaw" and you should see the example naked request:
Raw Extraction Tutorial goes in detail on how to filter fids.
Also, in the latest version of REST SDK Example you will find it shown in .Net code:
Condition = new TickHistoryRawCondition() { DaysAgo = null, MessageTimeStampIn = TickHistoryTimeOptions.GmtUtc, QueryEndDate = null, // Note that since the time ranges are specified in the list, there is no range specified in the condition. QueryStartDate = null, ReportDateRangeType = ReportDateRangeType.PerIdentifier, ExtractBy = TickHistoryExtractByMode.Ric, SortBy = TickHistorySort.SingleByRic, DomainCode = TickHistoryRawDomain.MarketPrice, DisplaySourceRIC = false, Fids = "25" }
However, if you are not using the latest or very recent version of the example, then this condition example is not included in the example yet. If you do not see it, please download Latest .Net SDK Example.
Let us know how this works for you.
Hello @ekhosid,
The online documentation REAST API Reference, can help you look up the complete specification for your required request type/template:
Many request types allow for the selection of fields to return.
If you include your request, we can be more specific by looking at that request type.
I'm using ExtractRaw method with ExtractionRequest. ExtractionRequest does have an option to specify fields and it works for other requests but not for
var result = await ExtractionsContext.ExtractRawAsync(
new TickHistoryRawExtractionRequest
{
Condition = new TickHistoryRawCondition
{
ReportDateRangeType = ReportDateRangeType.Range,
QueryStartDate = startDate,
QueryEndDate = endDate,
ExtractBy = TickHistoryExtractByMode.Ric,
MessageTimeStampIn = TickHistoryTimeOptions.GmtUtc,
SortBy = TickHistorySort.SingleByRic,
DomainCode = TickHistoryRawDomain.MarketPrice,
DisplaySourceRIC = true
},
IdentifierList = new InstrumentIdentifierList
{
InstrumentIdentifiers = instruments.ToArray(),
ValidationOptions = new InstrumentValidationOptions
{
AllowHistoricalInstruments = true,
},
},
});
I had tried to retrieve available fields using
var availableFields = ExtractionsContext.GetValidContentFieldTypes(ReportTemplateTypes.TickHistoryRaw);
but it returns no records.
Eugene