question

Upvotes
Accepted
1 0 1 2

Filtering fields and/or record types using REST Tick History API

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.

tick-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.

Upvotes
Accepted
32.2k 40 11 19

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.


rawfids.gif (27.9 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
32.2k 40 11 19

Hello @ekhosid,

The online documentation REAST API Reference, can help you look up the complete specification for your required request type/template:

  • Follow Extractions -> On Deman Extraction -> Extract With Notes
  • Then select your required request from ExtractionRequest dropdown
  • To see the complete spec on that request.

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.

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
1 0 1 2

Hi @zoya.farberov,

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



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
1 0 1 2

@zoya.farberov

That's exactly what I needed. Thank you very much!


Eugene

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.

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.