Trade Capture Report Request - TrdCapDtGrp semantics

I’m uncertain of the semantics for TrdCapDtGrp. There is TradeDate and LastUpdateTime.

It does not seem intended that the group be used for a date and time interval like from-to. One could document such a use in an ROE and say group 1 represents “from” with LastUpdateTime being the start time and group 2 representing “to” using LastUpdateTime as the end time of the interval. Does anyone do this ?

If not one would specify each date of interest but only be able to specify an end time. This is suboptimal if one is only intending to receive trades that were missed within a certain interval.

@davidcgibbs the group represents a filter for the expected responses, whereby the usage comment provides the basis

Number of date ranges provided (must be 1 or 2 if specified)

That means you can either specify one (single date/time) or two instances (date/time range) of the group. Each instance must have TradeDate(75) and can optionally have LastUpdateTime(779) or TransactTime(60) to be more granular than just the date.

The usage comment in LastUpdateTime(779) in the TCR limits the trades as follows:

Used to indicate reports after a specific time.

TransactTime(60) is more generic and really only makes sense when requesting a range with a date and time.

The date portion of both LastUpdateTime(779) and TransactTime(60) should be identical to TradeDate(75). FIX does not require this. Not sure if there is a use case where trades can be updated on subsequent days, i.e. that the date of LastUpdateTime(779) is later than TradeDate(75) to request trades that were updated after the business day of the trade.

OK “after a specific time”, interesting. LastUpdateTime It’s not an end time of an interval, its a start time. This is how I did imagine it would be used . that you would specify each day for which you wanted the reports. One just can’t specific a date/time interval, as I expected… Thanks for clarification.

You can use two instances of TrdCapDtGrp with the first TradeDate(75) being FROM and the second being the TO date. Each instance then also needs a TransactTime(60) to specify the start and end times on these two dates.

Since TransactTime(60) is a UTCTimestamp, you need to repeat the dates you put into TradeDate(75). This is redundant but required due to the datatype. In FIX TagValue, you cannot omit TradeDate(75) as it is the first field of the repeating group.