Imported from previous forum
I believe there is an ambiguity in the FIX Repository. The field usage comment of SubscriptionRequestType(263) in the RequestForPositions message says “trade capture reports” but should rather say “positions, trades etc.”. Maybe the value 1=Trades for PosReqType(724) was provided for cases where there is a 1:1 relationship of trades and positions, i.e. no real need for a distinction, and no need for TCR-specific fields. The addition of the RelatedTradeGrp to the PositionReport is fairly new but a new use case, e.g. “give me the IDs of all trades related to a position with a PositionReport followed by individual TCRs for each of these trades.”.
Thanks Yuval - this is pretty much what I guessed was probably the case.
Hello Daniel,
In order to maintain up-to-date position report, one needs to receive
- the positions (i.e. PosReqType[724] = Positions[0]) [which are valid to the start of trading day]
- as well as current day trades (i.e. PosReqType[724] = trades[1]).
In many cases, The RequestForPositions[35=AN] contains the flag SubscriptionRequestType[263=1] which is used to subscribe to TradeCaptureReport[35=AE] updates.
Use RequestForPositionsAck[35=AO] even for request of trades only.
Use TotNumReports(911) (in the RequestForPositionsAck) to indicate the number of TCR[35=AE] in the following snapshot. (Note: 727 deprecated! and replaced by 911)
Indeed there is no obvious tag to link the RequestForPositions[35=AN] and the TCR[35=AE]. I’d recommend having the value of TradeRequestID(568) (in the TCR message) with same value as PosReqID(710) on the request.
I hope this helps,
Yuval
The Request for Positions message allows the sender to request PosReqType(724)=‘1’(Trades) which is documented as requesting Trade Capture Reports. But Trade Capture Reports can also be requested using Trade Capture Report Request which seems in many ways a more “obvious” approach. This is partly because the Request For Positions Ack message tells you how many Position Reports are going to be supplied in TotalNumPosReports(727), the Trade Capture Report Request Ack tells you how many Trade Capture Reports are going to be supplied in TotNumTradeReports(748). It is also because Position Report can refer back to a Request For Positions using PosReqID(710) and Trade Capture Report can refer back to a Trade Capture Report Request in TradeRequestID(568). So if I wanted to implement a system which did use Request For Positions to obtain Trades, how is it intended that I know how many Trade Capture Reports were going to be supplied and how is it intended that each Trade Capture Report should refer back to the original Request For Positions?