Try TT Now

FIX Adapter Reference

Message structure: message header

Overview

Every message sent to and received from the TT FIX Adapter must start with message sender and receiver information, message type, and message size.

Message header tags in requests from a FIX client to TT FIX Adapter

Tag #

Field nameReq’dComments
8

BeginString

Y

FIX protocol version. The tag indicates the beginning of a new message. This tag must be the first tag in the message.

You must set the value to FIX.4.2.

Data type: String

9

BodyLength

Y

Message length (in characters), which represents number of characters in the message following this tag up to, and including, the delimiter immediately preceding Tag 10 (CheckSum). This tag must be the second field in a message.

Data type: Length

35

MsgType

Y

Specifies the type of message contained in the message body. This tag must appear third in the list of header tags.

Data type: String

49

SenderCompID

Y

FIX client TT Universal Login ID

Maximum supported length = 11 characters

Data type: String

56

TargetCompID

Y

TT FIX Adapter ID, specified as LocalCompID in the TT FIX Adapter configuration.

Maximum supported length = 255 characters

Data type: String

For more information, see the TT FIX Adapter System Administration Manual.

34

MsgSeqNum

Y

Message sequence number.

Data type: SeqNum

43

PossDupFlag

C

Whether the sequence number for this message is already used. Possible values include:

  • Y: Possible duplicate
  • N: Original transmission

Data type: Boolean

Must send when a FIX client resends messages

Note: TT FIX Adapter rejects all New Order Single (D) and Order Cancel Replace Request (G) messages that contain 43=Y.

50

SenderSubID

N

Unique Trader ID (can also be provided in Tag 116 (OnBehalfOfSubID)).

Data type: String, but cannot contain a forward slash (/) character

For more information about the interaction between tags 50, 57 and 116, see Requests and responses involving Tag 50 (SenderSubID), Tag 57 (TargetSubId), Tag 116 (OnBehalfOfID), and Tag 129 (DeliverToSubID).

57

TargetSubID

N

User data.

If you submit Tag 57 (TargetSubID), TT FIX Adapter returns the value in Tag 50 (SenderSubID) of the response. If you omit this tag, TT FIX Adapter returns the sender M/G/T in Tag 50 (SenderSubID) of the response.

Data type: String, but cannot contain a forward slash (/) character

For more information about the interaction between tags 50, 57 and 116, see Requests and responses involving Tag 50 (SenderSubID), Tag 57 (TargetSubId), Tag 116 (OnBehalfOfID), and Tag 129 (DeliverToSubID).

116

OnBehalfOfSubID

N

Unique Trader ID (can also be provided in Tag 50 (SenderSubID)).

Data type: String, but cannot contain a forward slash (/) character

For more information about the interaction between tags 50, 57 and 116, see Requests and responses involving Tag 50 (SenderSubID), Tag 57 (TargetSubId), Tag 116 (OnBehalfOfID), and Tag 129 (DeliverToSubID).

122

OrigSendingTime

C

Original time of message transmission, when transmitting orders as the result of a resend request. Always expressed in UTC.

Data type: UTCTimestamp

Condition: Required for resent messages

52

SendingTime

Y

Time, in UTC, the message was sent.

Data type: UTCTimestamp

Message header tags in responses from TT FIX Adapter to a FIX client

Tag #Field nameReq’dComments
8

BeginString

Y

FIX protocol version. The tag indicates the beginning of a new message. This tag is always the first tag in the message.

The value is always FIX.4.2.

Data type: String

9

BodyLength

Y

Message length (in characters), which represents number of characters in the message following this tag up to, and including, the delimiter immediately preceding Tag 10 (CheckSum). This tag must be the second field in a message.

Data type: int

35

MsgType

Y

Specifies the type of message contained in the message body. This tag must appear third in the list of header tags.

Data type: String

49

SenderCompID

Y

TT FIX Adapter ID, as specified as LocalCompID in the TT FIX Adapter configuration.

Maximum supported length = 255 characters

Data type: String

For more information, see the TT FIX Adapter System Administration Manual.

56

TargetCompID

Y

FIX client TT Universal Login ID

Maximum supported length = 11 characters

Data type: String

34

MsgSeqNum

Y

Message sequence number.

Data type: SeqNum

50

SenderSubID

Y

One of the following:

  • If the FIX client request included Tag 57 (TargetSubID), returns that value in this tag.
  • Otherwise, returns the sender MGT in this tag.

Data type: String

For more information about the interaction between tags 50, 57 and 116, see Requests and responses involving Tag 50 (SenderSubID), Tag 57 (TargetSubId), Tag 116 (OnBehalfOfID), and Tag 129 (DeliverToSubID).

57

TargetSubID

C

Either the value of Tag 50 (SenderSubID) in the FIX client request, or the TraderIdType value provided by the TT Synthetic Strategy Engine.

Data type: String

Condition: Sent only if the FIX client request included Tag 50 (SenderSubID), or if this message is for a child order or fill of a synthetic order from a TT Synthetic Strategy Engine with the TraderIdType parameter set.

For more information about the interaction between tags 50, 57 and 116, see Requests and responses involving Tag 50 (SenderSubID), Tag 57 (TargetSubId), Tag 116 (OnBehalfOfID), and Tag 129 (DeliverToSubID).

129

DeliverToSubID

C

Value of Tag 116 (OnBehalfOfSubID) in the FIX client request.

Data type: String

Condition: Sent with the corresponding request contained Tag 116 (OnBehalfOfSubID)

Additional Information:

For more information about the interaction between tags 50, 57 and 116, see Requests and responses involving Tag 50 (SenderSubID), Tag 57 (TargetSubId), Tag 116 (OnBehalfOfID), and Tag 129 (DeliverToSubID).

43

PossDupFlag

C

Whether the sequence number for this message is already used. Possible values include:

  • Y: Possible duplicate
  • N: Original transmission

Data type: Boolean

Condition: Sent when TT FIX Adapter resends messages

97

PossResendFlag

C

Whether the TT FIX Adapter might have already sent this message. When TT FIX Adapter encounters a corrupt FIX message cache during startup, it moves the FIX message cache to a new location and shuts down. When it restarts without the FIX message cache, TT FIX Adapter has no record of the fills it previously sent, so resends them with 97=Y to indicate that the fills might have been sent previously. Possible values include:

  • Y: Possible duplicate
  • N: Original transmission

Data type: Boolean

Condition: Sent when TT FIX Adapter restarts after encountering a corrupt FIX message cache, and only until it completes the initial download.

122

OrigSendingTime

C

Original time of message transmission, when transmitting orders as the result of a resend request. Always expressed in UTC.

Data type: UTCTimestamp

Condition: Sent when TT FIX Adapter resends a message

Note: Some Exchanges might send milliseconds in certain circumstances, in the form: YYYYMMDD-HH:MM:SS.sss. TT recommends that you allocate enough memory to handle the longer timestamp should an Exchange send it.

52

SendingTime

Y

Time, in UTC, the message was sent.

Data type: UTCTimestamp

Note: Some Exchanges might send milliseconds in certain circumstances, in the form: YYYYMMDD-HH:MM:SS.sss. TT recommends that you allocate enough memory to handle the longer timestamp should an Exchange send it.

Requests and responses involving Tag 50 (SenderSubID), Tag 57 (TargetSubId), Tag 116 (OnBehalfOfID), and Tag 129 (DeliverToSubID)

The following table shows how Tags 50, 57, 116, and 129 interact with each other in the order-related messages sent by a FIX client and the acknowledgments sent by TT FIX Adapter.

Tags sent, omitted

Tag 35=

FIX client sends to TT FIX Adapter

TT FIX Adapter forwards to TT GatewayTT FIX Adapter sends to FIX client

Send: tag 50 Omit: tag 116

D, F, or G

50=abc; 116 omitted

Unique Trader ID=abc

Execution Report (8) with 57=abc,129 omitted

Send: tag 50 Send: tag 116

D, F, or G

50=abc; 116=xyz

Unique Trader ID=xyz

For the message sender, Execution Report (8) with 57=abc,129=xyz

For all others, Execution Report (8) with 57=xyz

Omit: tag 50 Send: tag 116

D, F, or G

50 omitted; 116=xyz

Unique Trader ID=xyz

For the message sender, Execution Report (8) with 57=NONE,129=xyz

For all others, Execution Report (8) with 57=xyz

Omit: tag 50 Omit: tag 116

D

50 omitted; 116 omitted

N/A

Execution Report (8) with 57=NONE

F or G

50 omitted; 116 omitted

Unique Trader ID = same value as that from most recent D or G message

For the message sender, Execution Report (8) with tags 57 and 129 equal to the values of tags 50 and 116, respectively, from the most recent D or G message

For all others, Execution Report (8) with tag 57 equal to the value of tag 116, if not NONE, or tag 50 otherwise, from the most recent D or G message

Send: tag 57

D, F, or G

57=xyz

Execution Report (8) with 50=xyz

UAN (for 16724= 0,1,4,5,6)

57=xyz

Position Report (UAP) with 50=xyz

Omit: tag 57

D, F, or G

57 omitted

Execution Report (8) with 50=MGT (Member/Group/Trader)

UAN (for 16724= 0,1,4,5,6)

57=omitted

Position Report (UAP) with 50=MGT (Member/Group/Trader)

Note: When routing orders on behalf of multiple traders through a FIX session, the regulations for some exchanges (such as CME) require that a unique trader identifier be provided for each trader. Tag 50 (SenderSubID) or Tag 116 (OnBehalfOfSubID) provide a means of complying with these regulations.