Order Entry V2 Websocket - Submit Order

Order Entry V2 Websocket - Submit Order

 

 

 

 

 

Contents

Input - Submit Order

 

Submit a new order.

 

Fields

Ref

Field

Name

Data Type

Values

Usage

Description

Ref

Field

Name

Data Type

Values

Usage

Description

1

header

 

2

→ applicationName

Application Name

String

 

REQUIRED

Identifies the application generating the message.

3

→ applicationVendor

Application Vendor

String

 

REQUIRED

Identifies the vendor of the application generating the message.

4

→ applicationVersion

Application Version

String

 

REQUIRED

Identifies the version of the application generating the message.

5

→ messageType

Message Type

MessageType

  • ORDNEW (Order New)

REQUIRED

 

6

→ requestId

Request ID

String

 

REQUIRED

A unique identifier for the request provided by the client for correlation.

7

→ sentTime

Sent Time

DateTime

 

REQUIRED

Timestamp of the message leaving the producing application.

8

payload

 

9

→ customerOrderHandlingInstr

Customer Order Handling Instruction

CustomerOrderHandlingInstruction

 

 

REQUIRED

 

10

→ customerOrderId

Customer Order ID

String

  • Length: 1 - 20

REQUIRED

 

11

→ displayQtyInt

Display Quantity Integer

Integer

 

OPTIONAL

 

12

→ durationType

Duration Type

OrderDurationType

  • DAY (Day) - Order expires at the end of the trading day.

  • FILL_AND_KILL (Fill and Kill) - Order is immediately executed against any available quantity and any remaining quantity is eliminated

  • FILL_OR_KILL (Fill or Kill) - Order is filled completely or else eliminated

  • GOOD_TILL_CANCEL (Good till Cancel) - Order remains working until cancelled

  • GOOD_TILL_DATE (Good till Date) - Order remains working until the end of the trading session of the local market date specified in the ExpirationDate field.

REQUIRED

 

13

→ entities

 

14

→ → customerAccountId

Customer Account ID

String

  • Length: 1 - 12

REQUIRED

 

15

→ → customerOriginType

Customer Origin Type

OriginType

  • CUSTOMER (Customer)

  • HOUSE (House)

REQUIRED

 

16

→ → customerType

Customer Type

CustomerType

  • MEMBER_OWN (Member Own) - Applies to orders entered or trades executed by an individual member for their own account, for an account they controls, or for an account in which they have an ownership or financial interest. However, transactions initiated and executed by a member for the proprietary account of a member firm must be designated as Member Other Member transactions.

  • MEMBER_PROPRIETARY (Member Proprietary) - Applies to orders entered or trades executed for the proprietary accounts of a member firm, including Rule 106.H., I., N., R. and S. firms.

  • ON_BEHALF_INDIVIDUAL (On-Behalf Individual) - Applies to orders entered by a member or a nonmember terminal operator for the account of another individual member or an account controlled by such individual member.

  • OTHER (Other) - Applies to all orders and transactions not included in any of the defined categories. These typically are orders entered by or on behalf of nonmember entities.

REQUIRED

 

17

→ → executingFirmId

Executing Firm ID

String

  • Length: 1 - 10

REQUIRED

 

18

→ → operatorId

Operator ID

String

  • Length: 1 - 18

REQUIRED

 

19

→ → senderCountry

Sender Country

String

  • Length: 1 - 2

REQUIRED

 

20

→ → senderState

Sender State

String

  • Length: ≤ 2

OPTIONAL

 

21

→ expirationDt

Expiration Date

Date

 

CONDITIONAL

Criteria
  • ALWAYS when payload.type = "GOOD_TILL_DATE"

22

→ instrument

 

23

→ → glbxSecurityId

Globex Security ID

Integer

 

REQUIRED

 

24

→ manualInd

Manual Indicator

YesNoIndicator

  • NO (No) - No

  • YES (Yes) - Yes

REQUIRED

Indicates whether the order was generated by automated trading logic.

25

→ memo

Memo

String

  • Length: ≤ 75

OPTIONAL

 

26

→ minimumQtyInt

Minimum Quantity Integer

Integer

 

OPTIONAL

 

27

→ price

Price

Price

 

CONDITIONAL

Criteria
  • ALWAYS when payload.type IN (LIMIT, STOP_LIMIT)

28

→ qtyInt

Quantity Integer

Integer

 

REQUIRED

 

29

→ selfMatchPreventionId

Self-Match Prevention ID

Integer

 

OPTIONAL

 

30

→ selfMatchPreventionInstr

Self-Match Prevention Instruction

SelfMatchPreventionInstruction

  • CANCEL_NEWEST (Cancel Newest)

  • CANCEL_OLDEST (Cancel Oldest)

OPTIONAL

 

31

→ sideInd

Side Indicator

MarketSideIndicator

  • BUY (Buy) - Identifies a buy side order

  • SELL (Sell) - Identifies a sell side order

REQUIRED

 

32

→ stopPrice

Stop Price

Price

 

CONDITIONAL

Criteria
  • ALWAYS when payload.type IN (STOP, STOP_LIMIT)

33

→ type

Type

OrderType

  • LIMIT (Limit) - A Limit order defines the upper price limit at which to buy an instrument and lower price limit at which to sell an instrument. The price limit is defined in the Price field. If the price is not immediately available, the Limit order will rest until filled or cancelled.

  • MARKET (Market) - A Market order with protection is filled within a pre-defined range of prices referred to as the protected range. For buy orders, protection points are added to the current best offer price to calculate the protection price limit. For sell orders, protection points are subtracted from the current best bid price.

  • MARKET_TO_LIMIT (Market to Limit) - A Market-limit order is executed at the best price available in the market. If the market-limit order can only be partially filled, the order becomes a limit order and the remaining quantity remains on the order book at the specified limit price.

  • STOP (Stop) - A Stop order is an order which, when accepted, does not immediately go on the book, but must be "triggered" by a trade in the market at the price level submitted with the order. A Stop order goes on the book as a Market order once triggered.

  • STOP_LIMIT (Stop Limit) - A Stop order is an order which, when accepted, does not immediately go on the book, but must be "triggered" by a trade in the market at the price level submitted with the order. A Stop-Limit order goes on the book as a Limit order once triggered.

REQUIRED

 

Output - Submit Order Response - Success

Fields

Ref

Field

Name

Data Type

Values

Usage

Description

Ref

Field

Name

Data Type

Values

Usage

Description

1

header

 

2

→ messageType

Message Type

messageType

  • ORDSTS (Order Status)

ALWAYS

 

3

→ possibleRetransInd

Possible Retransmission Indicator

yesNoIndicator

  • NO (No) - No

  • YES (Yes) - Yes

OPTIONAL

 

4

→ requestId

Request ID

string

 

ALWAYS

A unique identifier for the request provided by the client for correlation.

5

→ sentTime

Sent Time

dateTime

 

ALWAYS

Timestamp of the message leaving the producing application.

6

→ sequenceNbr

Sequence Number

string

 

ALWAYS

 

7

payload

 

8

→ action

Action

orderAction

  • NEW (New)

ALWAYS

 

9

→ customerOrderHandlingInstr

Customer Order Handling Instruction

customerOrderHandlingInstruction

 

 

ALWAYS

 

10

→ customerOrderId

Customer Order ID

string

 

ALWAYS

 

11

→ displayQtyInt

Display Quantity Integer

int32

 

OPTIONAL

 

12

→ durationType

Duration Type

orderDurationType

  • DAY (Day) - Order expires at the end of the trading day.

  • FILL_AND_KILL (Fill and Kill) - Order is immediately executed against any available quantity and any remaining quantity is eliminated

  • FILL_OR_KILL (Fill or Kill) - Order is filled completely or else eliminated

  • GOOD_TILL_CANCEL (Good till Cancel) - Order remains working until cancelled

  • GOOD_TILL_DATE (Good till Date) - Order remains working until the end of the trading session of the local market date specified in the ExpirationDate field.

ALWAYS

 

13

→ entities

 

14

→ → customerAccountId

Customer Account ID

string

 

ALWAYS

 

15

→ → customerOriginType

Customer Origin Type

originType

  • CUSTOMER (Customer)

  • HOUSE (House)

OPTIONAL

 

16

→ → customerType

Customer Type

customerType

  • MEMBER_OWN (Member Own) - Applies to orders entered or trades executed by an individual member for their own account, for an account they controls, or for an account in which they have an ownership or financial interest. However, transactions initiated and executed by a member for the proprietary account of a member firm must be designated as Member Other Member transactions.

  • MEMBER_PROPRIETARY (Member Proprietary) - Applies to orders entered or trades executed for the proprietary accounts of a member firm, including Rule 106.H., I., N., R. and S. firms.

  • ON_BEHALF_INDIVIDUAL (On-Behalf Individual) - Applies to orders entered by a member or a nonmember terminal operator for the account of another individual member or an account controlled by such individual member.

  • OTHER (Other) - Applies to all orders and transactions not included in any of the defined categories. These typically are orders entered by or on behalf of nonmember entities.

OPTIONAL

 

17

→ → executingFirmId

Executing Firm ID

string

 

ALWAYS

 

18

→ → senderCountry

Sender Country

string

 

ALWAYS

 

19

→ → senderState

Sender State

string

 

OPTIONAL

 

20

→ expirationDt

Expiration Date

date

 

CONDITIONAL

Criteria
  • ALWAYS when payload.durationType = GOOD_TILL_DATE

21

→ instrument

 

22

→ → glbxSecurityId

Globex Security ID

int32

 

ALWAYS

 

23

→ manualInd

Manual Indicator

yesNoIndicator

  • NO (No) - No

  • YES (Yes) - Yes

ALWAYS

Indicates whether the order was generated by automated trading logic.

24

→ memo

Memo

string

 

OPTIONAL

 

25

→ minimumQtyInt

Minimum Quantity Integer

int32

 

OPTIONAL

 

26

→ price

Price

price

 

CONDITIONAL

Criteria
  • ALWAYS when payload.type IN (LIMIT, STOP_LIMIT)

27

→ qtyInt

Quantity Integer

int32

 

ALWAYS

 

28

→ sideInd

Side Indicator

marketSideIndicator

  • BUY (Buy) - Identifies a buy side order

  • CROSS (Cross)

  • SELL (Sell) - Identifies a sell side order

ALWAYS

 

29

→ status

Status

orderStatus

  • NEW (New)

  • UNDEFINED (Undefined)

ALWAYS

 

30

→ stopPrice

Stop Price

price

 

CONDITIONAL

Criteria
  • ALWAYS when payload.type IN (STOP, STOP_LIMIT)

31

→ transactionTime

Transaction Time

dateTime

 

ALWAYS

 

32

→ type

Type

orderType

  • LIMIT (Limit) - A Limit order defines the upper price limit at which to buy an instrument and lower price limit at which to sell an instrument. The price limit is defined in the Price field. If the price is not immediately available, the Limit order will rest until filled or cancelled.

  • MARKET (Market) - A Market order with protection is filled within a pre-defined range of prices referred to as the protected range. For buy orders, protection points are added to the current best offer price to calculate the protection price limit. For sell orders, protection points are subtracted from the current best bid price.

  • MARKET_TO_LIMIT (Market to Limit) - A Market-limit order is executed at the best price available in the market. If the market-limit order can only be partially filled, the order becomes a limit order and the remaining quantity remains on the order book at the specified limit price.

  • STOP (Stop) - A Stop order is an order which, when accepted, does not immediately go on the book, but must be "triggered" by a trade in the market at the price level submitted with the order. A Stop order goes on the book as a Market order once triggered.

  • STOP_LIMIT (Stop Limit) - A Stop order is an order which, when accepted, does not immediately go on the book, but must be "triggered" by a trade in the market at the price level submitted with the order. A Stop-Limit order goes on the book as a Limit order once triggered.

ALWAYS

 

33

→ venueExecutionId

Venue Execution ID

string

 

ALWAYS

 

34

→ venueOrderId

Venue Order ID

string

 

ALWAYS

 

Output - Submit Order Response - Error

Fields

Ref

Field

Name

Data Type

Values

Usage

Description

Ref

Field

Name

Data Type

Values

Usage

Description

1

errors[]

 

2

→ code

Code

string

 

ALWAYS

 

3

→ message

Message

string

 

ALWAYS

 

4

→ referenceField

Reference Field

string

 

OPTIONAL

 

5

header

 

6

→ messageType

Message Type

messageType

  • ORDNEWRJ (Order New Reject)

ALWAYS

 

7

→ requestId

Request ID

string

 

ALWAYS

A unique identifier for the request provided by the client for correlation.

8

→ sentTime

Sent Time

dateTime

 

ALWAYS

Timestamp of the message leaving the producing application.

9

→ sequenceNbr

Sequence Number

string

 

ALWAYS

 

10

payload

 

11

→ customerOrderId

Customer Order ID

string

 

OPTIONAL

 

12

→ transactionTime

Transaction Time

dateTime

 

OPTIONAL

 

 




How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.