Order Cancel/Replace Request (G)

The FIX Client uses this message to cancel/replace orders that it has sent to the CQG gateway. Possible response messages: Execution Report (8), Order Cancel Reject (9).

 

Tag

Name

Format

Req

Comments

 

Standard Header

 

Y

MsgType = G

1

Account

String(256)

Y*

Account ID (managed by the CQG gateway).

11

ClOrdID

String(64)

Y

New and unique ID for this request.

21

HandlInst

Char

N

Instructions for order handling on Broker trading floor.

Valid value:

1 = Automated execution order, private, no Broker intervention

37

OrderID

String(32)

Y*

Unique identifier for order as assigned by the CQG gateway.

38

OrderQty

Qty

N

New total order quantity.

This new order quantity is compared to the original order quantity to determine whether to increment or decrement the order.

Quantity must be an unsigned integer number greater than zero. Orders with zero or negative quantity are rejected.

41

OrigClOrdID

String(64)

Y

Last accepted ClOrdID in an order chain that this message modifies.

44

Price

Price

C

New limit price for Limit and Stop Limit orders.

54

Side

Char

C

Indicates the side of the order. Used for tagging short sales only,

Valid values:

1 = Buy

2 = Sell

5 = Sell Short

6 = Sell Short Exempt

55

Symbol

String(64)

N

As per New Order Single.

59

TimeInForce

Char

N

Specifies how long the order remains in effect. If not present, DAY is the default. If the value of this tag is GTD, then ExpireDate (tag 432) is required.


If the value of this tag is GTT, then ExpireTime (tag 126) is required.

Valid values:

0 = DAY (assumed when absent)

1 = Good Till Cancel (GTC)

2 = At the Opening (OPG)

3 = Immediate or Cancel (IOC)

4 = Fill or Kill (FOK)

6 = Good Till Date (GTD)

7 = At the Close

A = Good Till Time(GTT)

B = Good For Auction(GFA)

60

TransactTime

UTC Timestamp

Y

Time this order request was initiated/released by the trader or trading system.

Start of component block, expanded in line < AllocsGrp >

78

NoAllocs

int

N

Number of repeating groups for pre-trade allocation

79

AllocAccount

String(256)

N

Sub account ID (managed by the CQG gateway).

Required if NoAllocs > 0.  Must be the first field in repeating group.

80

AllocShares

Qty

N

Order quantity allocated to this sub account. Sum of all AllocShares must be equal to OrderQty.

à

20192

AllocAccountRequired

Boolean

N

Specifies whether the allocated account is required and the order is rejected when this account fails validation checks.

End of component block, expanded in line < AllocsGrp >

99

StopPx

Price

C

New stop price for stop and stop limit orders.

115

OnBehalfOfCompID

String(32)

N

Firm name of trader on whose behalf this order request is sent.

Currently ignored by the CQG gateway. Part of Standard Header.

116

OnBehalfOfSubID

String(32)

N

CQG username of the trader on whose behalf this order request is sent.

That trader needs to be authorized for trading on the same account specified in tag 1. Part of Standard Header.

126

ExpireTime

UTCTimestamp

C

New time of order expiration. Required if TimeInForce (tag 59) = A (GTT).

128

DeliverToCompID

String(32)

C

Trading firm that the trader specified in tag 116 (DeliverToSubID) belongs to. Note this field is a part of Standard Header.

210

MaxShow

Qty

C

Conditionally required if original order contains “i” (Iceberg) in the ExecInst field. New maximum number of shares within an order to be shown to other customers.

388

DiscretionInst

Char

C

Code to identify the price a DiscretionOffset is related to and should be mathematically added to. Required if DiscretionOffset is specified.

Valid values:

0 = Related to displayed price

389

DiscretionOffset

Float

N

Amount (signed) added to the "related to" price specified via DiscretionInst, in the context of DiscretionOffsetType.

 

432

ExpireDate

LocalMktDate

C

New date of order expiration. Required if TimeInForce (tag 59) = 6 (GTD).

 

847

TargetStrategy

Int

N

The target strategy of the order.

Valid values:

1000 - CQG ARRIVALPRICE

1001 - CQG PAYUP

1002 - CQG RICEBERG

1003 - CQG RTWAP

1004 - CQG SLICEBERG

1005 - CQG SLSNIPE

1006 - CQG SNIPE

1007 - CQG TICK

1008 - CQG TWAP

1009 - CQG VWAP

1010 - CQG OFFSETPAYUP

1011 - CQG PEG

1012 - CQG ROLL

1013 - CQG SLARRIVAL

1014 - CQG ICESLICER

1015 - CQG OFFSETTICK

1016 - CQG ICEPEGGER

1017 - CQG SLSWEEPER

1018 - CQG POSITIONBRKT

1019 - CQG SLSNIPEBERG

1020 - CQG POV

Algo strategy parameters block, expanded in paragraph <Algo-engine support>

1028

ManualOrderIndicator

Boolean

N

Indicates whether the order was sent manually (as opposed to being generated by automated trading logic).

Default =Y.

51031

CustOrderHandlingInst

Char

N

FIA Execution Source Code value for this request. Overrides the value CQG would otherwise automatically assign to the request based on trader-account configuration.

Possible values:

W – Desk

Y – Electronic (Default)

C – Vendor-provided Platform billed by Executing Broker

G - Sponsored Access via Exchange API or FIX provided by Executing Broker

H - Premium Algorithmic Trading Provider billed by Executing Broker

D - Other, including Other-provided Screen

20124

ClientRegulatoryAlgorithmID

Int

N

'Regulatory Algorithm ID' for algo-orders.

20185

NoExtraAttributes

NumInGroup

N

Extra attributes repeating group

20186

ExtraAttributeName

String(32)

Y

Extra attribute name

20187

ExtraAttributeValue

String(64)

Y

Extra attribute value

20176

MifidAlgorithmID

String

C

Must be supplied if the order execution decision was made by an algorithm under MiFID II definitions.

20177

MifidAlgorithmIDType

Int

C

Specified the type of MifidAlgorithmID (20176).

Valid values:

1 = External Mifid Algorithm ID

2 = CQG Mifid Algorithm ID

20181

MifidForceExecutionDecision

Boolean

C

When set ('Y'), it means MiFID Execution Within Firm should be CLIENT (or its configured short code) for an order not flagged with any MiFID Algorithm.

Default = ‘N’

20188

MifidInvestmentDecisionID

String

C

May be supplied to override value of MiFID Investment Decision Within Firm associated with this order.

20189

MifidInvestmentDecisionIDType

Int

C

Specifies the type of MifidInvestmentDecisionID (20188).

Valid values:

1 = Trader short code

2 = External Mifid Algorithm ID

3 = CQG Mifid Algorithm ID

Start of component block, expanded in line < PartyIDsGrp >

50453

NoPartyIDs

NumInGroup

C

Repeating group below should contain unique combinations of PartyRole, CQGTraderFIDType and PartyID.

50452

PartyRole

Int

C

Identifies the type or role of the PartyID (50448) specified.

Valid values:

2000 = CQG Trader FID

2001 = CQG Customer FID

2002 = Giveup Member

2003 = Exchange Account Type

2004 = Exchange Account Origin

2101 = Small Exchange Subscriber Token

20171

CQGTraderFIDType

String

C

Flexible Identifier Type. Describes the value being provided in PartyID (tag 50448).

Valid values:

      FID_TraderShortCode

      FID_ClientDecisionMakerShortCode

      FID_ClientDecisionMakerShortCodeType

      FID_PersonalTraderID

Valid value if PartyRole (50452) = 2001 (CQG Customer FID):

      FID_ClientIDShortCode

50448

PartyID

String

C

Identification of the party.

End of component block, expanded in line < PartyIDsGrp >

50842

DiscretionOffsetType

Int

C

Type of Discretion Offset value. Required if DiscretionOffset is specified.

Valid values:

2 = Ticks

 

Standard Trailer

 

Y

 

 

Example: Order Cancel/Replace Request

8=FIX.4.2 | 9=121 | 35=G | 49=fix_client | 56=CQG_Gateway | 34=14 | 52=20061124-15:55:45.468 | 37=1109040 | 41=SSS17 | 11=SSS18 | 1=286 | 60=20061124-15:55:36 | 38=3 | 10=129 |