FIX Connect Conformance Test

Before using FIX Connect on a live production environment, it is important to ensure that the client application works as expected and can recover from order rejects, missed events, etc. This verification is achieved through FIX Connect conformance testing. CQG provides connectivity to a testing environment where you can test and debug your applications using simulation trading accounts.  Please schedule your conformance test by sending a request by email to apihelp@cqg.com.

Test Overview

Tests are grouped in several sets that correspond to areas of CQG Gateway FIX functionality. All tests from a set should be passed to consider an area to be supported by a client application. All scenarios enumerated below include all dependencies; if you are testing for more than one scenario, developers should account for current state of server connection before sending API calls that will either throw errors or create unnecessary traffic.

      Logon and Logout

      Simple Orders (basic order types, futures, options, and spreads)

      Smart Orders (quantity-triggered stops, icebergs)

      Requests and Reports (working orders, positions, account data)

Conformance testing is done using the CQG gateway trading simulator, which uses real-time market quotes. This requires the tests to be performed during market hours of the selected contracts and exchanges. The order expiration test must be performed near the closing time of the day trading session of the selected contract.

Connection Details

QG demo
environment host

demo.cqgtrader.com (IP address is 208.48.16.202) Port: 6912

TargetCompID
(Tag 56)

CQG_Gateway (Header field required for all messages.)

SenderCompID
(Tag 49)

<<CQG Gateway Trader Username>>

SenderSubID
(Tag 50)

Test FIX (Header field. Only required in Logon message, ignored otherwise.)

RawData (Tag 96)

pass (Only required in Logon message. Considered to be plain text string field. Can be accompanied by an optional RawDataLength field.)

AccountID (Tag 1)

<<CAST AccountID>> (Required value when managing orders.)

 

Use Account ID 1 for all tests unless specified otherwise.

Contract Symbols

Indirect contract names, such as <Futures 1> or <Futures Spread 1> indicate the types of contracts to be used.

Please use the symbols from the welcome letter when below symbols are not available.

The symbols to be used are not fixed and can be changed during the testing while keeping the instrument type the same.

As contracts expire, the current front month contract should be used unless otherwise agreed during testing.

For options, use any strike prices available at the moment.

Sample mapping of contract names:

Indirect contract name used in tests

Real contract name example

Futures 1

F.US.TYAMYY*

Futures 2 (next year)

F.US.EDAMYY

Futures 3

F.US.QOMYY

Futures 4

F.US.EDAMYY

Futures 5

F.US.EPMYY

Call Option 1

C.US.EPMYY43250

Put Option 1

P.US.TYAMYY43250

Futures Spread 1 (native)

F.US.EPW1MYY

 

* Note: M stands for the month code. i.e. Contract TYA with maturity date September will have month code = U. Month codes:

Jan

Feb

Mar

Apr

May

Jun

Jul

Aug

Sep

Oct

Nov

Dec

F

G

H

J

K

M

N

Q

U

V

X

Z

YY stands for the last two digits of current year; i.e. Contract TYA with maturity date September 2023 will be F.US.TYAU23.