Exchange Extra Attributes for Orders

v1.3, May 2024

      CQG WebAPI

External account

On behalf of an external trader

      CQG Algo Engine

This document describes a list of extra fields required by various exchanges for working with orders on external accounts or when placing orders ‘on behalf of’ external traders.

CQG WebAPI

When working with CQG WebAPI, use extra_attributes fields of corresponding messages to provide this information.

External account

This section describes the extra fields required by various exchanges for working with orders on external accounts.

Exchange

Description

(WebAPI) Name

(FIX) PartyRole (50452)

(FIX) CQGFIDType (20171)

(FIX) PartyID (50448)

(FIX) ExtraAttributeName (20186)

(FIX) ExtraAttributeValue (20187)

All

Exchange Account Origin

ExchangeAccountOrigin

2004

Not used

<exchange account origin value>

Not used

Not used

All

Exchange Account Type

ExchangeAccountType

2003

Not used

<exchange account type value>

Not used

Not used

APEX

Client ID

ClientID

Not used

Not used

Not used

ClientID

<Client ID value>

APEX

Business unit (optional)

BusinessUnit

Not used

Not used

Not used

BusinessUnit

<Business Unit value>

CME

CQG Customer FID

FID_ClientIDShortCode

2001

FID_ClientIDShortCode

<client ID short code value>

Not used

Not used

CME

Give-up Member

GiveupMemberID

2002

Not used

<give-up member ID value>

Not used

Not used

Eurex

CQG Customer FID

FID_ClientIDShortCode

2001

FID_ClientIDShortCode

<client ID short code value>

Not used

Not used

Eurex

Give-up Member

GiveupMemberID

2002

Not used

<give-up member ID value>

Not used

Not used

Eurex

Self Match Prevention ID

SelfMatchPreventionID

Not used

Not used

Not used

SelfMatchPreventionID

<Self Match Prevention ID value>

Eurex

Self Match Prevention Instruction

SelfMatchPreventionInstruction

Not used

Not used

Not used

SelfMatchPreventionInstruction

<Self Match Prevention Instruction value> Possible values are : 100 = business unit 101 = market unit

Eurex

SMP Deletion Instruction (ETI CrossMatchInstruction field)

CrossMatchInstruction

Not used

Not used

Not used

CrossMatchInstruction

<SMP Deletion Instruction (ETI CrossMatchInstruction field) value> Possible values are : 1 = cancel incoming order (CA) 2 = cancel resting order (CP) 3=cancel both orders (CAP)

ICE

CQG Customer FID

FID_ClientIDShortCode

2001

FID_ClientIDShortCode

<client ID short code value>

Not used

Not used

SGX

Give-up Member

GiveupMemberID

2002

Not used

<give-up member ID value>

Not used

Not used

Coinbase Derivatives (FairX)

Self Match Prevention ID

SelfMatchPreventionID

Not used

Not used

Not used

SelfMatchPreventionID

<Self Match Prevention ID value>

MIAX

Self Match Prevention ID

SelfMatchPreventionID

Not used

Not used

Not used

SelfMatchPreventionID

<Self Match Prevention ID value>

MIAX

Self Match Prevention Instruction

SelfMatchPreventionInstruction

Not used

Not used

Not used

SelfMatchPreventionInstruction

<Self Match Prevention Instruction value> Possible values are : empty = not applicable N = cancel newest O = cancel oldest B = cancel both D = decrement and cancel

MIAX

Self Match Prevention Level

SelfMatchPreventionLevel

Not used

Not used

Not used

SelfMatchPreventionLevel

<Self Match Prevention Level value> Possible values are : empty = disabled F = firm M = MPID P = parent group

MIAX

Market Participant Identifier (optional)

MPID

Not used

Not used

Not used

MPID

<Market Participant Identifier value>

On behalf of an external trader

This section describes the extra fields required by various exchanges for working with orders placed by ‘on behalf of’ an external trader. In WebAPI, this means setting sender_operator_id. In FIX, this means using OnBehalfOfSubID(116) with ‘direct OnBehalfOfSubID’ mode.

Exchange

Description

(WebAPI) Name

(FIX) PartyRole (50452)

(FIX) CQGFIDType (20171)

(FIX) PartyID (50448)

Any MiFID regulated exchange/product

Short code used for this Trader, where applicable, as MiFID ‘Execution within firm’ and/or ‘Investment decision within firm’ identification. Do not send for ‘CLIENT’ traders so that standard reserved short code can be used where applicable

FID_TraderShortCode

2000

FID_TraderShortCode

<trader short code>

CME

Optional override for the SMP ID configured at Account-Route level for orders placed by this Trader

FID_SelfMatchPreventionID

2000

FID_SelfMatchPreventionID

<self Match Prevention ID Override>

Eurex

Optional override for the SMP ID configured at Account-Route level for orders placed by this Trader

FID_SelfMatchPreventionID

2000

FID_SelfMatchPreventionID

<self Match Prevention ID Override>

Eurex

Optional override for the SMP Instruction configured at Account-Route level for orders placed by this Trader

FID_SelfMatchPreventionInstruction

2000

FID_SelfMatchPreventionInstruction

<self Match Prevention Instruction Override> Possible values are : 100 = business unit 101 = market unit

Eurex

Optional override for the SMP Deletion Instruction (ETI CrossMatchInstruction field) configured at Account-Route level for orders placed by this Trader

FID_CrossMatchInstruction

2000

FID_CrossMatchInstruction

<SMP Deletion Instruction Override (ETI CrossMatchInstruction field)> Possible values are : 1 = cancel incoming order (CA) 2 = cancel resting order (CP) 3=cancel both orders (CAP)

HKFE

Optional override for the SMP ID configured at Account-Route level for orders placed by this Trader

FID_SelfMatchPreventionID

2000

FID_SelfMatchPreventionID

<self Match Prevention ID Override>

ICE

Optional override for the SMP ID configured at Account-Route level for orders placed by this Trader

FID_SelfMatchPreventionID

2000

FID_SelfMatchPreventionID

<self Match Prevention ID Override>

LME

Short code used for this Trader, where applicable, as MiFID ‘Client decision maker’

FID_ClientDecisionMakerShortCode

2000

FID_ClientDecisionMakerShortCode

<client decision maker short code>

LME

Identifies type of client decision maker short code (1 = Firm or legal entity; 2 = Natural person). Required when FID_ClientDecisionMakerShortCode is provided.

FID_ClientDecisionMakerShortCodeType

2000

FID_ClientDecisionMakerShortCodeType

<client decision maker short code type>

Nasdaq Nordic Derivatives

Exchange personal Trader ID (Nasdaq OMX: Trader ID from member portal, required for traders at the firm, used for non-algo orders)

FID_PersonalTraderID

2000

FID_PersonalTraderID

<personal trader ID>

SGX Titan

Optional override for the SMP ID configured at Account-Route level for orders placed by this Trader

FID_SelfMatchPreventionID

2000

FID_SelfMatchPreventionID

<self Match Prevention ID Override>

ASX

Optional override for the SMP ID configured at Account-Route level for orders placed by this Trader

FID_SelfMatchPreventionID

2000

FID_SelfMatchPreventionID

<self Match Prevention ID Override>

Coinbase Derivatives (FairX)

Optional override for the SMP ID configured at Account-Route level for orders placed by this Trader

FID_SelfMatchPreventionID

2000

FID_SelfMatchPreventionID

<self Match Prevention ID Override>

MIAX

Optional override for the SMP ID configured at Account-Route level for orders placed by this Trader.

FID_SelfMatchPreventionID

2000

FID_SelfMatchPreventionID

<self Match Prevention ID Override>

MIAX

Optional override for the SMP Instruction configured at Account-Route level for orders placed by this Trader.

FID_SelfMatchPreventionInstruction

2000

FID_SelfMatchPreventionInstruction

<self Match Prevention Instruction Override> Possible values are :empty = not applicable N = cancel newest O = cancel oldest B = cancel both D = decrement and cancel

MIAX

Optional override for the SMP Level configured at Account-Route level for orders placed by this Trader.

FID_SelfMatchPreventionLevel

2000

FID_SelfMatchPreventionLevel

<self Match Prevention Level Override> Possible values are: empty = disabled F = firm M = MPID P = parent group

CQG Algo Engine

When CQG WebAPI is used to place an algorithmic order to be executed by CQG Algo Engine ‘on behalf of’ external traders it is required to follow extra fields guidelines described in the On behalf of an external trader section.

External accounts are not supported at the moment of this writing (May 7th 2024): CQG Algo Engine won’t be receiving any of the extra fields described in the External account section. External accounts support is going to be added later.