Strategy Fill Processing

When a strategy order having N legs is filled or partially filled, the Client expects N+1 execution reports from the Fix Server for each individual partial or full fill: fill reports for the N individual legs of the strategy, and a summary fill report. The order of these messages is not relevant, however, it is expected that all N+1 messages shall arrive within a configurable timeout. The fill reports for the individual legs shall have the MultiLegReportingType tag(442) populated with the value 2(IndividualLeg). The summary fill report shall have the same tag populated with the value 3(MultiLegSecurity).

For strategies with number of legs more than 2 a fill or a partial fill execution report shall contain SecondaryExecID (tag 527) – an unique identifier provided on leg and summary fills and used to link leg fills with their associated summary.

Also a special strategy fills reporting mode may be configured for a route: it is allowed to process fills reporting without summary fill event when only legs execution reports are coming from exchange. This mode required SecondaryExecID (tag 527) for all kind of strategies regardless of legs number. Exchange cannot send strategy fills with and without summary simultaneously.

Here is an example of three Execution Report messages pertaining to the same fill event of a two-leg calendar spread:

 

The fill summary:

 

  8 BeginString                      = FIX.4.2

     9 BodyLength                       = 314

    35 MsgType                          = 8      "ExecutionReport"

    49 SenderCompID                     = s.ord.ul.chi1

    56 TargetCompID                     = s.cqg.com

    34 MsgSeqNum                        = 3504

   369 LastMsgSeqNumProcessed           = 2036

    52 SendingTime                      = 20140905-13:07:19

    57 TargetSubID                      = 4274

     1 Account                          = neg

     6 AvgPx                            = 100

    11 ClOrdID                          = 140905232321

    14 CumQty                           = 1  

    17 ExecID                           = US200000218033AELO1

    20 ExecTransType                    = 0      "New"

    21 HandlInst                        = 1      "AutomatedExecutionOrder,Private,NoBrokerIntervention"

    31 LastPx                           = 100

    32 LastShares                       = 1  

    37 OrderID                          = 00000643119AOLO1

    38 OrderQty                         = 1  

    39 OrdStatus                        = 2      "Filled"

    40 OrdType                          = 2      "Limit"

    44 Price                            = 100

    54 Side                             = 1      "Buy"

    55 Symbol                           = FIBZ4U4

    59 TimeInForce                      = 0      "Day"

    60 TransactTime                     = 20140905-13:07:19

    77 OpenClose                        = O      "OpenTrade"

   150 ExecType                         = 2      "Fill"

   151 LeavesQty                        = 0  

   167 SecurityType                     = SPD    "Spread"

   527 SecondaryExecID                  = 1409053I110za

   442 MultiLegReportingType            = 3      "StrategySummary"

    10 CheckSum                         = 188

 

 

The first leg:

     8 BeginString                      = FIX.4.2

     9 BodyLength                       = 324

    35 MsgType                          = 8      "ExecutionReport"

    49 SenderCompID                     = s.ord.ul.chi1

    56 TargetCompID                     = s.cqg.com

    34 MsgSeqNum                        = 3506

   369 LastMsgSeqNumProcessed           = 2036

    52 SendingTime                      = 20140905-13:07:19

    57 TargetSubID                      = 4274

     1 Account                          = neg

     6 AvgPx                            = 21270

    11 ClOrdID                          = 140905232321

    14 CumQty                           = 1  

    17 ExecID                           = US200000218035AELO1

    20 ExecTransType                    = 0      "New"

    21 HandlInst                        = 1      "AutomatedExecutionOrder,Private,NoBrokerIntervention"

    31 LastPx                           = 21270

    32 LastShares                       = 1  

    37 OrderID                          = 00000643119AOLO1

    38 OrderQty                         = 1  

    39 OrdStatus                        = 2      "Filled"

    40 OrdType                          = 2      "Limit"

    44 Price                            = 100

    54 Side                             = 1      "Buy"

    55 Symbol                           = FIBZ4U4

    59 TimeInForce                      = 0      "Day"

    60 TransactTime                     = 20140905-13:07:19

   150 ExecType                         = 2      "Fill"

   151 LeavesQty                        = 0  

   167 SecurityType                     = SPD    "Spread"

   527 SecondaryExecID                  = 1409053I110za

   200 MaturityMonthYear                = 201412

   442 MultiLegReportingType            = 2      "StrategyLeg"

    10 CheckSum                         = 149

 

The second leg:

 

     8 BeginString                      = FIX.4.2

     9 BodyLength                       = 324

    35 MsgType                          = 8      "ExecutionReport"

    49 SenderCompID                     = s.ord.ul.chi1

    56 TargetCompID                     = s.cqg.com

    34 MsgSeqNum                        = 3508

   369 LastMsgSeqNumProcessed           = 2036

    52 SendingTime                      = 20140905-13:07:19

    57 TargetSubID                      = 4274

     1 Account                          = neg

     6 AvgPx                            = 21170

    11 ClOrdID                          = 140905232321

    14 CumQty                           = 1  

    17 ExecID                           = US200000218039AELO1

    20 ExecTransType                    = 0      "New"

    21 HandlInst                        = 1      "AutomatedExecutionOrder,Private,NoBrokerIntervention"

    31 LastPx                           = 21170

    32 LastShares                       = 1  

    37 OrderID                          = 00000643119AOLO1

    38 OrderQty                         = 1  

    39 OrdStatus                        = 2      "Filled"

    40 OrdType                          = 2      "Limit"

    44 Price                            = 100

    54 Side                             = 2      "Sell"

    55 Symbol                           = FIBZ4U4

    59 TimeInForce                      = 0      "Day"

    60 TransactTime                     = 20140905-13:07:19

   150 ExecType                         = 2      "Fill"

   151 LeavesQty                        = 0  

   167 SecurityType                     = SPD    "Spread"

   527 SecondaryExecID                  = 1409053I110za

   200 MaturityMonthYear                = 201409

    442 MultiLegReportingType            = 2      "StrategyLeg"

    10 CheckSum                         = 160