API Support Forum
OEC API > FIX Support > Request for Positions Issue
Author Topic: Request for Positions Issue
(4 messages, Page 1 of 1)
Moderators: VPfau
DThemistokleo
Posts: 4
Joined: Sep 29, 2016


Posted: Feb 08, 2017 @ 10:24 AM             Msg. 1 of 4
When I submit a RequestForPositions message and I have no positions in my account, I get a RequestForPositionsAck response instead of a PositionReport. This is fine except that there is NO WAY OF MAPPING my RequestForPositions request with the RequestForPositionsAck response. The RequestForPositionsAck response DOES NOT INCLUDE the PosReqId. So there is no way of knowing which request maps to which response.
CMicciche902
Posts: 230
Joined:


Posted: Feb 08, 2017 @ 11:59 AM             Msg. 2 of 4
I'll ask our Developers to review.

Here is what I see in this case with no open position:

Tag Tag Description Value Value Description
8 BeginString FIX.4.4
9 BodyLength 147
35 MsgType AN REQUEST FOR POSITIONS
49 SenderCompID CMicciche
56 TargetCompID OEC_TEST
34 MsgSeqNum 3
52 SendingTime 20170208-17:48:26.606
710 PosReqID 6327273
724 PosReqType 0 POSITIONS
263 SubscriptionRequestType 0 SNAPSHOT
1 Account API000839
581 AccountType 1 ACCOUNT IS CARRIED ON CUSTOMER SIDE OF BOOKS
715 ClearingBusinessDate 20170208
725 ResponseTransportType 0 INBAND
60 TransactTime 20170208-17:48:26.000
10 CheckSum 115



Response: PosReqID is not provided. I'll check if this is correct behavior. However, the FIX application I'm using (developed by another party) does not care that PosReqID was not provided. It understands that no open position exists and handles appropriately.


Tag Tag Description Value Value Description
8 BeginString FIX.4.4
9 BodyLength 122
35 MsgType AO REQUEST FOR POSITIONS ACK
34 MsgSeqNum 48
49 SenderCompID OEC_TEST
52 SendingTime 20170208-17:48:26
56 TargetCompID CMicciche
1 Account API000839
581 AccountType 0
721 PosMaintRptID OECFIX:636219309019392659:543
728 PosReqResult 2 NO POSITIONS FOUND THAT MATCH CRITERIA
729 PosReqStatus 1 COMPLETED WITH WARNINGS
10 CheckSum 176




When I add a position and then perform same request. Here is what happens:

Tag Tag Description Value Value Description
8 BeginString FIX.4.4
9 BodyLength 147
35 MsgType AN REQUEST FOR POSITIONS
49 SenderCompID CMicciche
56 TargetCompID OEC_TEST
34 MsgSeqNum 3
52 SendingTime 20170208-17:51:49.794
710 PosReqID 2994171
724 PosReqType 0 POSITIONS
263 SubscriptionRequestType 0 SNAPSHOT
1 Account API000839
581 AccountType 1 ACCOUNT IS CARRIED ON CUSTOMER SIDE OF BOOKS
715 ClearingBusinessDate 20170208
725 ResponseTransportType 0 INBAND
60 TransactTime 20170208-17:51:49.000
10 CheckSum 124


Response PosReqID was provided 2994171 for ESH7 position.

Tag Tag Description Value Value Description
8 BeginString FIX.4.4
9 BodyLength 225
35 MsgType AP POSITION REPORT
34 MsgSeqNum 7
49 SenderCompID OEC_TEST
52 SendingTime 20170208-17:51:49
56 TargetCompID CMicciche
1 Account API000839
55 Symbol ES
200 MaturityMonthYear 201706
461 CFICode FXXXXS
581 AccountType 0
710 PosReqID 2994171
715 ClearingBusinessDate 20170208
721 PosMaintRptID OECFIX:636219309019392659:562
727 TotalNumPosReports 1
728 PosReqResult 0 VALID REQUEST
730 SettlPrice 0
731 SettlPriceType 2 THEORETICAL
734 PriorSettlPrice 0
702 NoPositions 1
704 LongQty 1
705 ShortQty 0
753 NoPosAmt 1
708 PosAmt 2282
10 CheckSum 056
Chris M
DThemistokleo
Posts: 4
Joined: Sep 29, 2016


Posted: Feb 09, 2017 @ 09:48 AM             Msg. 3 of 4
Thanks for your response Chris.

My only concern would be if I send out 2 RequestForPositions Request concurrently with ONLY the Account field differing. How would I know which response maps to each request. Right now, there wouldn't be a way without the PosReqId field populated.

I am able to 'develop' around this since I only have a single account, but it would be nice to 'future-proof' my software for this scenario.

Thanks,
Demetris
ETrifonov
Posts: 36
Joined: Feb 09, 2015


Posted: Apr 12, 2017 @ 12:13 PM             Msg. 4 of 4
Thank you. We will fix this soon.
Evgeny