Application Layer FIX Message Definitions

Application Layer FIX Message Definitions include the following. 

Contents

Supported Application Layer Messages

Supported messages together with the sessions they are applicable for are outlined below:

Message Name

MsgType

Session Type

Sent by Client

Sent by EBS

Message Name

MsgType

Session Type

Sent by Client

Sent by EBS

MarketDataRequest

V

Market Data

√

-

MarketDataFullRefresh

W

Market Data

-

√

MarketDataIncrementalRefresh

X

Market Data

-

√

MarketDataRequestReject

Y

Market Data

-

√

NewOrderSingle

D

Order

√

-

ExecutionReport

8

Order

-

√

OrderCancelRequest

F

Order

√

-

OrderCancelReject

9

Order

-

√

OrderStatusRequest

H

Order

√

-

OrderMassCancelReport

r

Order

-

√

BusinessMessageReject

j

All

√

√

In the following section where fields contain custom values or elements of later versions of the FIX protocol these have been highlighted.

Market Data (ESP)

Market Data Request (35=V)

Tag

Field Name

Req

Ver

Comments

Tag

Field Name

Req

Ver

Comments

128

DeliverToCompId

N

4.4

Used to target a specific LP (Pass-Through) for this Market Data Request.

262

MDReqID

Y

4.4

Unique identifier for the MarketDataRequest. Should be unique for at least 1 week.

263

SubscriptionRequestType

Y

4.4

1 = Subscribe

2 = Unsubscribe (MDReqID must match original subscription)

265

MDUpdateType

C

4.4

Required when SubscriptionRequestType=1.
0 = Snapshot Message

1 = Incremental Update Messages - only supported on Sweepable (1300=D) segment

12003

UpdateInterval

N

Custom (Int)

Requested frequency of updates in milliseconds.

Valid Values:

0-1000

1021

MDBookType

C

5.0*

Required when SubscriptionRequestType=1.
2 – PriceDepth (sweepable)

1104 – MultiLevelPriceDepth (SIngle TIcket, custom).

264

MarketDepth

Y

4.4

For Unsubscribe, the value will be ignored by EBS.
Number of price levels requested.

0 = Full book

PriceDepth (Sweepable) – All prices

MultiLevelPriceDepth (Single Ticket) –All prices at each LP Level.
1 = Top of book

PriceDepth (Sweepable) – Best price. (Not supported for MDUpdateType of 1, Incremental.)

MultiLevelPriceDepth (Single Ticket) –Best price at each LP Level.
n = number of price levels

PriceDepth (Sweepable) – Not supported for MDUpdateType of 1, Incremental.

MultiLevelPriceDepth (Single Ticket) - Number of price entries at each LP Level.

266

AggregatedBook

N

4.4

Specifies whether book entries should be aggregated.
Y = Market by Price –MDUpdateType of Snapshot. One entry per side per price. Amounts of multiple quotes at the same price are aggregated together in a single MDEntry. No attribution possible.
N = Market by Order - Each MDEntry reflects a single quote of a single LP. Attribution may be provided.
Default value is N.
If MDBookType = MultiLevelPriceDepth (1104) and AggregatedBook is Y, the request will be rejected.

MDReqGrp

267

NoMDEntryTypes

Y

4.4

For Subscribe:Set to '2' (All requests must be two-sided price requests)
For Unsubscribe, the value will be ignored by EBS.

→

269

MDEntryType

Y

4.4

For Unsubscribe, the value will be ignored.

0 = Bid

1 = Offer

END – MDReqGrp

InstrmtMDReqGrp - All values in this group will be ignored on unsubscribe requests.

146

NoRelatedSym

Y

4.4

Set to '1' – each ccy pair must be requested separately.

→

55

Symbol

Y

4.4

The currency pair requested, in CCY1/CCY2 format, where CCY1 and CCY2 are the ISO codes of the base and local currencies for which a price is requested, e.g. EUR/USD.

→

167

SecurityType

C

5.0

Instrument type. Required for subscribing. Valid values:

FXSPOT

→

1300

MarketSegment ID

C

5.0

Required for subscribing and ignored for unsubscribing.
EBS Market Segment of this request.

D = Sweepable

DF = Single Ticket

→

63

SettlType

N

5.0

Instrument tenor. Valid values are listed in the Tenor and Settlement Dates section.

→

271

MDEntrySize

N

4.4

For Sweepable pricing, this is the cumulative notional depth you would like to see. EBS will return the minimum number of levels required to achieve your desired depth. Cannot be used in conjunction with MarketDepth(264)>0.
For Single Ticket pricing this is the ceiling notional depth you would like to see. EBS will return all volume levels at or below the depth specified.

Specified value must be between 1000000 and 100000000 (1m and 100m).

END - InstrmtMDReqGrp

Market Data Snapshot Full Refresh (35=W)

Tag

Field Name

Req

Ver

Comments

Tag

Field Name

Req

Ver

Comments

262

MDReqID

Y

4.4

Unique identifier for the initial MarketDataRequest. Echoes back the value on the MDRequest message.

1021

MDBookType

Y

4.4*

Echoed from the request.

2 – PriceDepth (Sweepable)

1104 – MultiLevelPriceDepth (Single Ticket, custom)

55

Symbol

Y

4.4

Currency pair in CCY1/CCY2 format.

1300

MarketSegmentID

Y

5.0

EBS Market Segment of this snapshot.

D = Sweepable

DF = Single Ticket

167

SecurityType

Y

5.0

Instrument type. Valid values:

FXSPOT

63

SettlType

C

5.0

Instrument tenor. Valid values are listed in the Tenor and Settlement Dates section.

64

SettlDate

N

4.4

Standard FIX field - custom on this message.

MDFullGrp

268

NoMDEntries

Y

4.4

Number of entries in the MarketData message.

→

269

MDEntryType

Y

5.0

0 = Bid

1 = Offer

J = Empty Book - Indicates no bids or offers.

→

278

MDEntryID

N

5.0

Used to reference the MD entry for updates and deletions. Will be zero for an empty book entry.
Will be unique among currently active non-empty book entries for this MDReqID.

Not sent on SnapshotFullRefresh (35=W) messages.

→

270

MDEntryPx

C

4.4

Price of the market data entry.
For MDBookType of MultiLevelPriceDepth, there may be multiple entries with the same price when multiple LPs provide the same price.
Not provided if MDEntryType = EmptyBook (J).

→

271

MDEntrySize

C

4.4

LP's quantity available at this price.

Not provided if MDEntryType = EmptyBook (J).

→

282

MDEntryOriginator

N

4.4

Indicates the LP account ID associated with the MDEntry.
Relevant only for non-aggregated prices.

Not provided if MDEntryType = EmptyBook (J).

END - MDFullGrp

Market Data Incremental Refresh (35=X)

Tag

Field Name

Req

Ver

Comments

Tag

Field Name

Req

Ver

Comments

262

MDReqID

Y

4.4

Identifier of the Market Data stream.

Echoes back the value on the MDRequest message.

1021

MDBookType

Y

4.4*

Describes the characteristics of prices provided in this message. Echoed from the request.
2 – PriceDepth (sweepable)

1104 – MultiLevelPriceDepth (Custom)

1300

MarketSegmentID

C

5.0

EBS Market Segment of this snapshot.

D = Direct

DF = Direct – Single Ticket – Only for MultiLevelPriceDepth book type.

MDIncGrp

268

NoMDEntries

Y

4.4

Number of entries in the MarketData message. Must be ≥ 1

→

279

MDUpdateAction

Y

4.4

0 = New

1 = Change

2 = Delete
Will be New (0) when MDEntryType = Empty Book (J)

Will be Change (1) whenever MDEntryPx, or MDEntrySize changes.

→

269

MDEntryType

C

5.0

0 = Bid

1 = Offer

J = Empty Book - Indicates no bids or offers.
Provided when MDUpdateAction = New.

→

278

MDEntryID

Y

4.4

If MDUpdateAction = New, will be unique among currently active entries for this MDReqID.
If MDUpdateAction = Change, will be the same as a previous MDEntryID.
If MDUpdateAction = Delete, will be the same as a previous MDEntryID.

→

55

Symbol

C

4.4

Currency pair in CCY1/CCY2 format.
Provided when MDUpdateAction = New. Not provided when MDUpdateAction = Change or Delete.

→

167

SecurityType

C

5.0

Instrument type. Valid values:

FXSPOT

Provided when MDUpdateAction = New.

Not provided when MDUpdateAction = Change or Delete.

→

63

SettlType

C

5.0

Instrument tenor. Not provided on empty book messages. Valid values are listed in the Tenor and Settlement Dates section.

→

64

SettlDate

N

4.4*

The settlement date of the instrument.
May be provided when MDUpdateAction = New.

May be provided when MDUpdateAction = Change

Not provided when MDUpdateAction = Delete.
Custom field (outside of component)

→

270

MDEntryPx

C

4.4

Price of the market data entry.
For MDBookType of MultiLevelPriceDepth, there may be multiple entries with the same price when multiple LPs provide the same price.
Provided depending on value of MDUpdateAction:

If MDUpdateAction = New and MDEntryType ≠ Empty Book, always provided.

If MDUpdateAction = Change, provided for change of this field.

If MDUpdateAction = Delete, not present.

If MDEntryType = Empty Book, not present.

→

271

MDEntrySize

C

4.4

LP's quantity available at this price.
Provided depending on value of MDUpdateAction.
If MDUpdateAction = New and MDEntryType ≠ Empty Book, always provided.

If MDUpdateAction = Change, provided.

If MDUpdateAction = Delete, not present

If MDEntryType = Empty Book, not present.

→

282

MDEntryOriginator

N

4.4

Indicates the LP account ID associated with the MDEntry. Relevant only for non-aggregated prices. Provided if MDUpdateAction = New and MDEntryType ≠ Empty Book.

END – MDIncGrp

Market Data Request Reject (35=Y)

Tag

Field Name

Req

Ver

Comments

Tag

Field Name

Req

Ver

Comments

262

MDReqID

Y

4.4

Market Data request id which is being rejected.

281

MDReqRejReason

N

4.4*

Rejection reason code:
0 – UnknownSymbol

1 – DuplicateMDReqID

2 – InsufficientBandwidth

3 – InsufficientPermissions

4 – UnsupportedSubscriptionRequestType

5 – UnsupportedMarketDepth

6 – UnsupportedMDUpdateType

8 – UnsupportedMDEntryType

i - Invalid UpdateFrequency

x – Market Data Unavailable (Custom)

y – Throughput Violation (Custom)

z – Other – Reason to be provided in Text field (Custom)

58

Text

C

5.0

Textual description of the reason for the market data request rejection.

Trading

New Order Single (35=D)

Tag

Field Name

Req

Ver

Comments

Tag

Field Name

Req

Ver

Comments

128

DeliverToCompId

N

4.4

Used to target a specific LP (Pass-Through). Only supported when sending 59=3 (IOC) or 4 (FOK).

11

ClOrdID

Y

4.4

A unique identifier for the order assigned by the client. This should be unique for at least a week.

1

Account

Y

4.4

Trader's floor code.

55

Symbol

Y

4.4

Currency pair to be traded, in CCY1/CCY2 format.

167

SecurityType

Y

5.0

Valid Values:

FXSPOT

1300

MarketSegmentID

Y

5.0

EBS Market Segment of this order:

D = Sweepable

DF = Single Ticket

63

SettlType

N

4.4

Instrument tenor. Valid values are listed in the Tenor and Settlement Dates section

64

SettlDate

N

4.4

Settlement date of the instrument (value date). Valid values are listed in the Tenor and Settlement Dates section.

54

Side

Y

4.4

Trading intention from client perspective.

1 = Client Buys

2 = Client Sells

40

OrdType

Y

4.4

Type of order:

2 = Limit

59

TimeInForce

N

5.0

Specifies how long the order will remain in effect.
0 = Day

1 = Good Till Cancel (GTC)

3 = Immediate or Cancel (IOC)

Default value for Sweepable (MarketSegmentID=D). Not supported on Single Ticket (MarketSegmentID=DF)

4 = Fill or Kill.

Default value for Single Ticket (MarketSegmentID=DF). Not supported on Sweepable (MarketSegmentID=D)

38

OrderQty

Y

4.4

Quantity of order, in units of the specified Currency.

15

Currency

N

4.4

3 character ISO code of the dealing currency. Must be base (CCY1).Defaults to base currency (CCY1).

44

Price

Y

4.4

Limit price of order. 

60

TransactTime

Y

4.4

UTC Timestamp (Date/Time) of order.

5106

FundDesignation

C

4.4

Designated fund code. Limit of 12 characters.



Required when configuration has been set to enforce Fund Designation.



This information is not passed to LPs but is mirrored on Execution Reports (35=8) and, if using our CPT Post Trade service, is also mirrored on Trade Capture Reports (35=AE)

20115

UserReference1



N

Custom(String)

Customer order references. Only ASCII printable character codes 32-127 are allowed. Limit of 12 characters.



This information is not passed to LPs but is mirrored on Execution Reports (35=8) and, if using our CPT Post Trade service, is also mirrored on Trade Capture Reports (35=AE)

Parties - Identifies party involved in the NewOrderSingle.

453

NoPartyIDs

N

4.4



→

448

PartyID

Y

4.4

Identifier of the party.

→

447

PartyIDSource

Y

5.0

Identifies the source of PartyID value.
D = Proprietary 

→

452

PartyRole

Y

4.4

1 = Executing LC Firm (Floor Code)

12 = Executing LC Trader (TraderId). If provided this will be validated and must match a corresponding entry on the EBS platform otherwise the order will be rejected.

END - Parties

Execution Report (35=8)

An Execution Report is returned to indicate whether a deal has been filled or rejected. It is also returned in response to an OrderStatusRequest.

Tag

Field Name

Req

Ver

Comments



37

OrderID

Y

4.4

Unique identifier of the order assigned by EBS.



11

ClOrdID

Y

4.4

Unique identifier of the order/request as assigned by the client.



41

OrigClOrdID

C

4.4

ClOrdID of the order for which cancellation was requested.
Provided in response to an OrderCancelRequest.or MassOrderCancelRequest message.



790

OrdStatusReqID

C

4.4

Unique identifier of the OrderStatusRequest message.
Provided in response to an OrderStatusRequest message, when an OrdStatusReqID is provided on the request.



17

ExecID

Y

4.4

Contains Deal ID when ExecType = F, Trade. Contains zero when in response to an OrderStatusRequest. Otherwise contains a unique identifier of the ExecutionReport.



150

ExecType

Y

4.4

Purpose of this Execution Report

0 = New (order accepted)

4 = Cancelled

6 = Pending Cancel

8 = Rejected

C = Expired

F = Trade (Partial or full)

I = Order Status



39

OrdStatus

Y

4.4

Status of order



0 = New (Order accepted)

1 = Partially filled

2 = Filled (Completed)

4 = Cancelled

6 = Pending Cancel. Confirms receipt of order cancel request for orders with matches in flight.

8 = Rejected

C = Expired (due to TimeInForce value)



378

ExecRestatementReason



N

4.4

Identifies the reason for unsolicited cancel.
7 = Cancel on system failure

99 = Other



1

Account

Y

4.4

Trader's floor code.
Echoed from NOS.



55

Symbol

Y

4.4

Currency pair in CCY1/CCY2 format.
Echoed from NOS.



167

SecurityType

Y

5.0

Valid Values:

FXSPOT



1300

MarketSegmentID

Y

5.0

EBS Market Segment. Valid Values:



D = Sweepable

DF = Single Ticket



63

SettlType

C

5.0

Instrument tenor. Valid values are listed in the Tenor and Settlement Dates section.



Echoed from NOS if provided.



*Standard FIX field, Custom on this message.



54

Side

Y

4.4

Side of the order from the client perspective. (Echoed from request)



1 = Client Buys

2 = Client Sells



Echoed from NOS.



64

SettlDate

C

4.4

The settlement date of this trade in YYYYMMDD format.

Provided when ExecType = F [Trade].



75

TradeDate

C

4.4

Effective business date of the trade in YYYYMMDD format.

Provided when ExecType = F [Trade].



38

OrderQty

Y

4.4

Quantity of order, in units of the specified Currency. (Echoed from NOS or the Order Cancel Request)



15

Currency

N

4.4

3 character ISO code of the dealt Currency. (Echoed from NOS)
The Size and Quantity fields of the order and trade are expressed in terms of the specified Currency.



59

TimeInForce

N

4.4

Specifies how long the order will remain in effect. (Echoed from NOS, if provided)



40

OrdType

Y

4.4

Type of order:
2 = Limit
Echoed from NOS.



44

Price

C

4.4

Price submitted on the order. (Echoed from NOS, if provided)



60

TransactTime

Y

4.4

The UTC Timestamp (Date/Time) the transaction represented by this ExecutionReport occurred.



For a new order, ExecType = 0, the time the order is accepted by EBS.



For a cancelled order, ExecType = 4, the time the order is cancelled in EBS.



For a pending cancelled order, ExecType = 6, the time the cancel request is accepted by EBS.



For a rejected order, ExecType = 8, the time the order was rejected by EBS.



For an expired order, ExecType = C, the time the order expired.



For a trade, ExecType = F, EBS timestamp of the trade.



For an order status, ExecType = I, the time of the last event reflected in the order status.



126

ExpireTime

N

4.4

Date/Time the order will be expired.



31

LastPx

C

4.4

The dealt price of this trade.
Provided when ExecType = F [Trade].



32

LastQty

C

4.4

The quantity of this trade in terms of the dealt Currency.

Provided when ExecType = F [Trade].



1056

CalculatedCcyLastQty

N

4.4

Calculated quantity of the contra currency.

Provided when ExecType = F [Trade].



14

CumQty

Y

4.4

Total amount of the order which has been filled in terms of the dealt Currency.



151

LeavesQty

Y

4.4

Quantity of the order which is open for execution in terms of the dealt Currency.



If the order is no longer active, then LeavesQty = 0. (OrdStatus = Cancelled, Rejected, Filled, or Expired).



If the order is still active, LeavesQty = OrderQty – CumQty.(OrdStatus = New, Pending Cancel, or Partially Filled).



6

AvgPx

Y

4.4

Average price at which this order has been filled (weighted by size).



Zero if no fills.



103

OrdRejReason

N

4.4

Code indicating why the order was rejected. Provided when the order is rejected.
See
Order Rejection Reason Codes



58

Text

N

4.4

Human-readable text field regarding the execution.



For ExecType = Reject, provides additional information regarding order rejection.



May provide additional information regarding the order cancellation when ExecRestatementReason is present.



5106

FundDesignation

N

4.4

Designated fund code. Echoed from NOS, if provided.



20115

UserReference1

N

Custom (String)



Customer order references. 

Echoed from NOS

D = Direct (Sweepable)

DF = Direct (Single Ticket)



Parties - Identifies the parties of the trade. Or identifies the order submitter.



453

NoPartyIDs

C

4.4





→

448

PartyID

Y

4.4

Identifier of the party.
Provided when NoPartyIDs > 0



→

447

PartyIDSource

Y

5.0

Identifies the source of PartyID valueD = Proprietary



Provided when NoPartyIDs > 0



→

452

PartyRole

Y

4.4

1 = Executing LC Firm

12 = Executing LC Trader

17 = Contra Firm (for settlement)

35 = Liquidity Provider
Provided when NoPartyIDs > 0



END – Parties



Order Rejection Reason Codes

When an order is rejected or cancelled without being filled, the OrdRejReason (103) will be provided on the Execution Report to indicate the reason for rejection.

Code

Description

Comment

Code

Description

Comment

0

Broker Credit

Client has insufficient credit to execute order.

1

Unknown Symbol

Symbol not recognized.

2

Exchange Closed

Market currently unavailable.

3

Order Exceeds Limit

Size of order exceeds limit.

4

Too Late To Enter

Trading in this instrument not currently available.

5

Unknown Order

N/A

6

Duplicate Order

ClOrdID of NOS is not unique.

8

Stale Order

SendingTime on NOS indicates that a network delivery delay has caused the order to be stale.

11

Unsupported Order Characteristic

Property on order not supported.

13

Incorrect Quantity

OrderQty does not meet instrument's min, max or size increment restrictions.

15

Unknown Account

Account not recognized.

16

Price Exceeds Current Price Band

Price on order does not comply with price range limits.

18

Invalid Price Increment

Price does not meet instrument's price increment restrictions.

99

Other

Catch all for other rejection reasons.
Additional information will be provided in Text field, if provided by the LP.

Order Cancel Request (35=F)

Tag

Field Name

Req

Ver

Comments

Tag

Field Name

Req

Ver

Comments

41

OrigClOrdID

Y

4.4

Unique identifier of the order to be cancelled, as assigned by the client on the NewOrderSingle. Value of ClOrdID(11) from the NewOrderSingle.

37

OrderID

N

4.4

Unique identifier of the order requested to be cancelled, assigned by EBS.

11

ClOrdID

Y

4.4

Unique order identifier of this Cancel Request.

55

Symbol

Y

4.4

Currency pair, in CCY1/CCY2 format.



Required by the FIX protocol, EBS does not use or validate the contents of this tag.

54

Side

Y

4.4

Side of order to be cancelled, as appeared on NOS.

1 = Client Buys

2 = Client Sells



Required by the FIX protocol, EBS does not use or validate the contents of this tag.

38

OrderQty

Y

4.4

Original OrderQty of order, as appeared on NOS.
Required by the FIX protocol, EBS does not use or validate the contents of this tag.

60

TransactTime

Y

4.4

UTC Timestamp (Date/Time) of order cancellation request.

Order Cancel Reject (35=9)

The client will receive this message if the OrderCancelRequest cannot be executed.

  • The order may have been filled

  • The order may have expired

  • The order may have already been canceled

  • OrigClOrdID could not be found

  • Duplicate ClOrdID

The client will also receive this message for each order that could not be cancelled from the OrderMassCancelReport. The order would have been included in the TotalAffectedOrders on the OrderMassCancelReport. The reason for the rejection will be provided in the CxlRejReason field.

Tag

Field Name

Req

Ver

Comments

Tag

Field Name

Req

Ver

Comments

37

OrderID

Y

4.4

Unique identifier of the order requested to be cancelled, assigned by EBS.
Will contain "NONE" if the order could not be found.

11

ClOrdID

Y

4.4

Identifier of the OrderCancelRequest message which is being rejected.
Echoed from the OrderCancelRequest.

41

OrigClOrdID

Y

4.4

ClOrdID of the order requested to be cancelled.
Echoed from the OrderCancelRequest.

434

CxlRejResponseTo

Y

4.4

Type of request that the Cancel Reject is in response to. (Always equals 1)
1 = Order cancel request

39

OrdStatus

Y

4.4

Order status after this cancel reject is applied.
0 = New – Order has been accepted for execution.

1 = Partially filled

2 = Filled – Order has already been filled

4 = Canceled – Order has already been cancelled

6 = Pending cancel. Indicates a duplicate cancel request

8 = Rejected – Order is unknown

C = Expired

102

CxlRejReason

N

4.4

Code to identify reason for cancel rejection.
0 = Too late to cancel

1 = Unknown order

2 = Exchange Option (Cancel not valid for order's TimeInForce value)

3 = Order already Pending Cancel

6 = Duplicate ClOrdID

99 = Other. Reason will be provided in Text field.

58

Text

N

4.4

Optional text string providing reason for cancellation rejection.

60

TransactTime

Y

4.4

UTC Timestamp (Date/Time) of order cancellation rejection by the EBS System.

Order Status Request (35=H)

Tag

Field Name

Req

Ver

Comments

Tag

Field Name

Req

Ver

Comments

37

OrderID

N

4.4

Unique identifier of the order whose status is requested, assigned by EBS.

11

ClOrdID

Y

4.4

Client assigned unique identifier of the order whose status is being requested.

790

OrdStatusReqID

N

4.4

Used to uniquely identify the Order Status Request (per session). Echoed on the Execution Report if provided.

1

Account

N

4.4

Trader's floor code for the requested order. (submitted on NOS)

55

Symbol

Y

4.4

The currency pair for the requested order, in CCY1/CCY2 format, where CCY1 and CCY2 are the ISO codes of the base and local currencies. e.g. EUR/USD.

167

SecurityType

N

5.0

Valid Values:

FXSPOT

1300

MarketSegmentID

N

5.0

EBS Market Segment of this order: 

D= Sweepable

DF = Single Ticket

63

SettlType

N

5.0*

Instrument tenor. Valid values are listed in the Tenor and Settlement Dates section.



*Standard FIX field - custom on this message

64

SettlDate

N

4.4

Settlement date of the instrument. (value date).

54

Side

Y

4.4

Side of the order from the client perspective

1 = Client Buys

2 = Client Sells

Cancel Request Order State Changes

The examples provide some of the critical fields in the request and response messages. The rows depicting the rejection of the request are italicized.

Zero Filled Order (No matches in flight)

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

1

New Order







10M







2



Execution

New

New

10M

0

10M



3

Cancel Request







10M







4



Cancel Reject



New







If request is invalid

4



Execution

Cancelled

Cancelled

10M

0

0

Order has been cancelled

Zero Filled Order (Matches in flight)

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

1

New Order







10M







2



Execution

New

New

10M

0

10M



3

Cancel Request







10M







4



Cancel Reject



New







If request is invalid

4



Execution

Pending Cancel

Pending Cancel

10M

0M

10M

An order has been sent to an LP, so there is a match in flight.

5



Execution

Canceled

Canceled

10M

0

0

LP did not accept the order.
Order has been canceled

Partially Filled Order (No matches in flight)

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

1

New Order







10M







2



Execution

New

New

10M

0

10



3



Execution

Trade

Partially Filled

10M

2M

8M

Execution for 2M

4

Cancel Request







10M







5



Cancel Reject



Partially Filled







If request is rejected

5



Execution

Cancelled

Cancelled

10M

2M

0

'Cancelled' order status is the final status

Partially Filled Order (Matches in Flight)

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

1

New Order







10M







2



Execution

New

New

10M

0

10



3



Execution

Trade

Partially Filled

10M

2M

8M

Execution for 2M

4

Cancel Request







10M







5



Execution

Trade

Partially Filled

10M

5M

5M

Execution for 3M. ER was sent to client prior to receipt of CancelRequest.

6



Cancel Reject



Partially Filled







If request is rejected

6



Execution

Pending Cancel

Pending Cancel

10M

5M

5M

An order has been sent to an LP, so there is a match in flight. 'Pending cancel' order status takes precedence over 'partially filled' order status

7



Execution

Canceled

Canceled

10M

5M

0

LP did not accept the order.
'Canceled' order status is the final status

Matches are in flight, resulting in a filled order

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

1

New Order







10M







2



Execution

New

New

10M

0

10M



3



Execution

Trade

Partially Filled

10M

2M

8M

Execution for 2M

4

Cancel Request







10M







5



Cancel Reject



Partially Filled







If request is rejected

5



Execution

Pending Cancel

Pending Cancel

10M

2M

8M

'Pending cancel' order status takes precedence over 'partially filled' order status

6



Execution

Trade

Pending Cancel

10M

10M

0

Execution for 8M. Order was sent to LP prior to receipt of CancelRequest .

7



Cancel Reject



Filled







Cancel request rejected – CxlRejectReason = 0 (too late to cancel)

Order Not Yet Acknowledged

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

1

New Order







10M







2

Cancel Request







10M





Cancel before acknowledgment of order.

3



Execution

New

New

10M

0

10M



4



Execution

Canceled

Canceled

10M

0

0



Unknown Order

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

Time

Message Received

Message Sent

ExecType (150)

OrdStatus (39)

OrderQty (38)

CumQty (14)

LeavesQty (151)

Comment

1

Cancel Request







10M







2



Cancel Reject



Rejected







Cancel request rejected with reject reason of "Unknown Order" and OrderID is "NONE"

Business Level Reject (35=j)

The Business Reject message is a generic application level message which can be used by either side to reject a message for a business reason. It contains fields to indicate the FIX sequence number and ID of the invalid message.
If a message contains multiple business level errors which would cause rejection, only the first detected error will be indicated in the Reject message. To avoid rejection loops, errors in a Reject message should not themselves be rejected.

Tag

Field Name

Req

Ver

Comments

Tag

Field Name

Req

Ver

Comments

45

RefSeqNum

N

4.4

FIX sequence number of the rejected message.

372

RefMsgType

Y

4.4

Message type of the rejected message.

379

BusinessRejectRefID

N

4.4

The value of the business-level "ID" field on the message being referenced, e.g. ClOrdID, MDReqID

380

BusinessRejectReason

Y

4.4

Code to identify reason for the Business level Reject message.
0 = Other

1 = Unknown ID

2 = Unknown Security

5 = Conditionally required field is missing.

58

Text

N

4.4

Free-form text message to explain the reason for the rejection.






How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.