ExecutionReport

Response from server to client, to indicate the following events related to order processing. Enumeratons are related to OrdStatus (tag 39) and ExecType (tag 150) fields, having the same meaning for both, except ExecType=OrderStatus (I), i.e. when report is sent as response to OrderStatusRequest message.

PendingNew (A): order passed validation on SellSides server and ready to be submitted to underlying exchange.

New (0): order has been confirmed by underlying exchange (neither filled nor rejected yet).

Rejected (8): order has been rejected by either SellSides or underlying exchange.

Canceled (4): order has been canceled by underlying exchange.

Filled (2): order has been filled and no unfilled amout left.

PartiallyFilled (1): order had a partial fill and still might be either canceled or get another fills.

Calculated (B): commission value sent by underlying exchange, in the case if it didn't provide it within Filled or PartiallyFilled reports.

If order status has been requested for order which is not recorded by SellSides platform, it will be reported with OrderStatus=8 and OrdRejReason=5.

ExecutionReport message fields, Tag 35=8

Tag

Field Name

Required

Type

Comments

<Standard Header>

11

ClOrdID

Y

String

Custom client identificator for order, as it has been set for NewOrderSingle message.

37

OrderID

N

String

Order identificator, assigned by the destination exchange. Empty for Rejected and PendingNew events.

17

ExecID

N

String

Trade identificator, assigned for Filled and PartiallyFilled events.

1500

MDStreamID

Y*

String

Feed identificator.

39

OrdStatus

Y

Char

150

ExecType

Y

Char

55

Symbol

Y

String

Symbol name, e.g. BTC/USD

38

OrderQty

Y*

Double

Initial order size in base currency.

151

LeavesQty

Y*

Double

Unfilled qty left, in base currency.

32

LastQty

N

Double

Traded qty, corresponding to particular ExecID ot Filled or PartiallyFilled event.

14

CumQty

Y*

Double

Total qty filled, for all partial fills of corresponding order.

54

Side

Y*

Int

The side of the request.

1 = Buy

2 = Sell

31

LastPx

N

Double

Price of last Filled or PartiallyFilled event.

6

AvgPx

N

Double

Average price for all partial fills.

40

OrdType

Y*

Char

Type of the order.

1 = Market

2 = Limit

60

TransactTime

Y*

Time

Timestamp of event, in UTC.

44

Price

N

Double

Limit price requested for order. Required for Limit type (tag 40=2) only.

103

OrdRejReason

N

Int

The reason order was rejected, in the case of Rejected (8) event type.

58

Text

N

String

Additional textual description related to rejection reason.

1

Account

N

String

Underlying client identificator

Fields marked by Y* should be set for all reports except OrderStatus reports for unidentified orders.

Below are possible rejection reason codes (values of Tag 103) and their descriptions, to make it easier to understand in what scenarios they could be met:

ExchangeClosed (2): orders processing is paused on the SellSides server.

TooLateToEnter (4): EMM server is shutting down or going to restart.

DuplicateOrder (6): client requested an order with ClOrdID which is matching one of the recently used values. It is recommended to keep ClOrdID unique per account as long as possible.

UnsupportedOrderCharacteristic (11): some of order parameters are not supported or disabled in the current configuration (like order type, min and max order sizes, TimeInForce values).

IncorrectQuantity (13): requested order quantity does not correspond to instrument configuration.

ReferencePriceNotAvailable (19): for the direct streams, indicates no prices in the source feed. Not applicable to aggregated streams.

InsufficientCreditLimit (25): allowed credit limit set for particular account, is not enough to place new order.

NoLiquidity (97): there is no price in the feed, or available amount is too small.

NoConnection (98): trading connection to underlying liquidity provider is off.

Other (99): cases not covered by previous ones. Might be some kind of misconfiguration for the feed parameters.

Last updated