| 8 | BeginString | STRING | 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 or FIX.4.4. | | 9 | BodyLength | INT | Y | Message length (in characters) The value 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. | | 35 | MsgType | STRING | Y | Type of message contained in the message body This tag must appear third in the list of header tags. Possible values:- 0: Heartbeat
- 1: Test Request
- 2: Resend Request
- 3: Reject
- 4: Sequence Reset
- 5: Logout
- 8: Execution Report
- 9: Order Cancel Reject
- A: Logon
- B: News
- c: Security Definition Request
- D: Order Single
- d: Security Definition
- e: Security Status Request
- f: Security Status
- F: Order Cancel Request
- G: Order Cancel Replace Request
- H: Order Status Request
- Q: Don’t Know Trade (Inbound Drop Copy only)
- R: Quote Request
- V: Market Data Request
- W: Market Data Snapshot Full Refresh
- X: Market Data Incremental Refresh
- Y: Market Data Request Reject
- AD: Trade Capture Report Request
- AE: Trade Capture Report
- AQ: Trade Capture Report Request Ack
| | 49 | SenderCompID | STRING | Y | Assigned value used to identify the counterparty | | 56 | TargetCompID | STRING | Y | Assigned value used to identify TT | | 34 | MsgSeqNum | SEQNUM | Y | Message sequence number | | 43 | PossDupFlag | BOOLEAN | CMust be sent when a third-party FIX acceptor resends messages | Whether the sequence number for this message is already used Possible values:- N: NO: Original transmission
- Y: YES: Possible duplicate
| | 97 | PossResend | BOOLEAN | CMust be sent if the message may contain information that has been sent under another sequence number. | Whether the message might contain information that has been sent under another sequence number Possible values:- N: NO: Original transmission
- Y: YES: Possible resend
| | 122 | OrigSendingTime | UTCTIMESTAMP | CSent when a third-party FIX acceptor resends a message | Original time of message transmission, when transmitting orders as the result of a resend request Always expressed in UTC. | | 52 | SendingTime | UTCTIMESTAMP | Y | Time, in UTC, the message was sent. |
|
| 17 | ExecID | STRING | Y | Unique identifier for this execution report |
| 20 | ExecTransType | CHAR | Y | Type of execution report Third-party FIX acceptors should always send 0 (New) Possible values:- 0: New
- 1: Cancel
- 2: Correct
- 3: Status (in response to an Order Status Request (H) message)
|
| 37 | OrderID | STRING | Y | Order ID assigned by the third-party FIX acceptor |
| 11 | ClOrdID | STRING | Y | Unique identifier for an Order as assigned by TT. Uniqueness is guaranteed within a single FIX trading session. Tag 11 values may be reused after the daily or weekly FIX session reset. Maximum length of the tag 11 is (20) characters. |
| 41 | OrigClOrdID | STRING | CNot required when 150=0 (New) or when this Execution Report (8) is not in response to a direct change change (such as a fill) | Previous order identifier. Equal to Tag 11 (ClOrdID) of the original request message |
| 150 | ExecType | CHAR | Y | Indicates the reason for sending this Execution Report Possible values:- 0: New
- 1: Partially filled
- 2: Filled
- 3: Done for day
- 4: Canceled
- 5: Replaced
- 6: Pending cancel
- 7: Stopped
- 8: Rejected
- 9: Suspended (Held)
- A: Pending new
- B: Calculated
- C: Expired
- D: Restated
- E: Pending replace
- F: Trade
- G: Trade correction (same as 20=2 in FIX 4.2)
- H: Trade cancel (same as 20=1 in FIX 4.2)
- I: Order status (same as 20=3 in FIX 4.2)
- J: Trade in a clearing hold
- K: Trade has been released to clearing
- L: Triggered or activated by system
|
| 103 | OrdRejReason | INT | CSend when Tag 150 (ExecType) is 8 (Reject) | Reason for rejecting the incoming request Possible values:- 0: Broker option
- 1: Unknown symbol
- 2: Exchange closed
- 3: Order exceeds limit
- 4: Too late to enter
- 5: Unknown order
- 6: Duplicate order
- 7: Duplicate of a verbally-communicated order
- 8: Stale order
- 9: Trade along required
- 10: Invalid Investor ID
- 11: Unsupported order characteristic
- 12: Surveillance option
- 13: Incorrect quantity
- 14: Incorrect allocated quantity
- 15: Unknown account
- 16: Price exceeds current price band
- 18: Invalid price increment
- 19: Message pending
- 20: Routing error
- 99: Other
- 1003: Market closed
- 1007: FIX field missing or incorrect
- 1010: Required field missing
- 1011: FIX field incorrect
- 1012: Price must be greater than zero
- 1013: Invalid order qualifier
- 1014: User not authorized
- 2013: Market hours not suported by opposite
- 2019: Invalid expire date
- 2044: Order not in book
- 2045: Order not in book 2
- 2046: Disclosed qty cannot be greater
- 2047: Unknown contract
- 2048: Cancel with different sender comp id
- 2049: ClOrdId different than correleation ClOrdId
- 2050: ClOrdId different than original ClOrdId
- 2051: Different side
- 2052: Different group
- 2053: Different security type
- 2054: Different account
- 2055: Different qty
- 2056: Cancel with different trader id
- 2058: Stop price must be greater
- 2059: Stop price must be smaller
- 2060: Sell stop price must be below ltp
- 2061: Buy stop price must be above ltp
- 2100: Different product
- 2101: Different inflight fill modification
- 2102: Modify with different sender comp id
- 2103: Modify with different trader id
- 2115: Order qty outside allowable range
- 2130: Invalid order type for pcp
- 2137: Order price outside limits
- 2179: Order price outside bands
- 2311: Invalid order type for group
- 2500: Instrument cross request in process
- 2501: Ordr qty too low
- 2600: Market maker protection has tripped
- 4000: Engine did not respond
- 6001: Pending replace
- 6002: Pending cancel
- 7000: Order rejected
- 7001: Contract not gtc gtd eligible
- 7009: Contract past expiration
- 7011: Max contract working qty exceeded
- 7015: Modify with different side
- 7018: Contract not gtc gtd eligible 2
- 7020: No trading calendar for expire date
- 7021: Expire date beyond instrument expiration
- 7022: Expire date beyond leg instrument expiration
- 7024: Market in no cancel
- 7027: Invalid order type for reserved market
- 7028: Order session date in past
- 7613: Disclosed qty cannot be smaller
- 9999: Technical error function not performed
|
| 58 | Text | STRING | CSend when you want to include additional information | Additional information about the message |
| 378 | ExecRestatementReason | INT | CSend when Tag 150 (ExecType) = D (Restated) | Reason for the restatement Note: For markets using OM API for orders, (HKEX, JPX, SGX), if the exchange does not respond immediately to an order request, the TT Order Connector will send a Pending Execution Report with the following fields: -
- 150=D (Restated)
- 39=A (Pending new)
- 378=9002 (Pending)
Possible values:- 0: GT corporate action
- 1: GT renewal
- 2: Verbal change
- 3: Repricing of order
- 4: Broker option
- 5: Partial decline of order quantity
- 6: Cancel on trading halt
- 7: Cancel on system failure
- 8: Market
- 9: Cancel not best
- 10: Warehouse recap
- 11: Peg refresh
- 50: Control user activity (Inbound Drop Copy only)
- 51: Corporate manager activity (Inbound Drop Copy only)
- 52: Branch manager activity (Inbound Drop Copy only)
- 53: Exchange and FIX server connection down (Inbound Drop Copy only)
- 99: Other
- 100: Cancel on disconnect
- 103: Cancel oldest (resting) due to self-match prevention
- 104: Cancel from credit violation
- 105: Cancel from firmsoft
- 106: Cancel from risk
- 107: Cancel newest (aggressing) due to self-match prevention
- 108: Cancel due to minimum lot size not met
- 109: Cancel by system
- 110: Cancel by proxy
- 111: Cancel due to order expiry
- 112: Cancel due to order outside price limits
- 113: Cancel due to session transition
- 114: Cancel due to auction delete
- 115: Cancel due to other reason
- 116: Order passing request accepted
- 117: Order passing request rejected
- 118: Incoming order self match prevention
- 119: Resting order self match prevention
- 120: Cancel due to self match prevention
- 121: GTC/GTD Restatement
- 122: Reduction of Order quantity
- 123: Price Sliding Reprice
- 124: State Change
- 125: Order passing request initiate
- 126: Order passing request undo
- 9000: Unsolicited order recovery
- 9001: Timeout
- 9002: Pending
- 9003: Exec Restatement Reason Revived
|
| 39 | OrdStatus | CHAR | Y | Status of the order Possible values:- 0: New
- 1: Partially filled
- 2: Filled
- 3: Done for day
- 4: Cancelled
- 5: Replaced
- 6: Cancel pending
- 7: Stopped
- 8: Rejected
- 9: Suspended (Held)
- A: Pending new
- B: Calculated
- C: Expired
- D: Accepted for bidding
- E: Pending replace
- z: Inactive (TT internal state only and won’t be sent via FIX messages to any external party)
|
| 32 | LastShares | QTY | CSend only when Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill) | Indicates the number of contracts that just filled |
| 31 | LastPx | PRICE | CSend when Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill) | Price of this fill If Tag 442 (MultiLegReportingType) is 2 (Leg), the value represents the price at which a leg of the spread filled. The message’s Instrument Component identifies the filled leg. |
| 6 | AvgPx | PRICE | CSend when Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill) | Average price of all fills on this order The value is calculated as follows: - If order has no fills, TT FIX sends 0 in this tag.
- If the order has fills, TT FIX sends the sum over all fill execution reports of the product of Tag 32 (LastShares) and Tag 31 (LastPx) divided by the Tag 14 (CumQty).
- If Tag 442 (MultiLegReportingType) is 2 (Leg), TT FIX sends the average price at which the leg filled.
|
| 60 | TransactTime | UTCTIMESTAMP | Y | Time, in UTC, the transaction occurred. |
| 151 | LeavesQty | QTY | Y | Number of contracts that are still working in the market Possible values include: - Value of (Tag 38 (OrderQty) – Tag 14 (CumQty)), if the order is still in the market
- 0, otherwise
Note: If Tag 442 (MultiLegReportingType) is 2 (Leg), this value represents the total number of contracts that are still working for the leg of the specified strategy. |
| 14 | CumQty | QTY | Y | Total number of contracts that have filled over the life of this order The value always equals the sum of the Tag 32 (LastShares) of all fill execution reports received for this order, including this one. Note: If Tag 442 (MultiLegReportingType) is 2 (Leg), this value represents the total number of contacts that have filled for the leg of the specified strategy. |
| 442 | MultiLegReportingType | CHAR | Y | Indicates what an Execution Report represents (e.g. used with multi-leg securities, such as option strategies, spreads, etc.) Possible values:- 1: Single security
- 2: Individual leg of multi-leg security
- 3: Parent of multi-leg security (summary fill)
|
| 75 | TradeDate | LOCALMKTDATE | CSend when Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill) | Indicates date of trade referenced in this message in YYYYMMDD format. Absence of this field indicates current day (expressed in local time at place of trade). |
| 48 | SecurityID | STRING | Y | | | 55 | Symbol | STRING | CNot used when Tag 167 (SecurityType)=MLEG. | Exchange-provided product symbol for the tradable product. |
|
| 1 | Account | STRING | Y | Order-routing account | | 528 | OrderCapacity | CHAR | Y | Designates the capacity of the firm placing the order. The value corresponds to the Trading Capacity setting for Customer Defaults in Setup. Possible values:- A: Agency (maps to [AOTC])
- G: Proprietary (maps to [AOTC])
- I: Individual (maps to [AOTC])
- P: Principal (maps to [DEAL])
- R: Riskless Principal (maps to [MTCH])
- W: Agent for Other Member (maps to [AOTC])
| | 582 | CustOrderCapacity | INT | Y | Capacity of customer placing the order Primarily used by futures exchanges to indicate the CTICode (customer type indicator) as required by the US CFTC (Commodity Futures Trading Commission). Possible values:- 1: Member trading for own account
- 2: Clearing Firm trading for its proprietary account
- 3: Member trading for another member
- 4: All other
|
|
| 44 | Price | PRICE | CSend when Tag 40 (OrdType) is one of the following: - 2: Limit
- 4: Stop Limit
- W : Limit If Touched (LIT)
- p : Limit (post-only)
| Order price |
| 99 | StopPx | PRICE | CSend when Tag 40 (OrdType) is one of the following: | Trigger price for a stop order. |
| 110 | MinQty | QTY | CSend for Minimum Volume (MV) orders | Minimum quantity for a Minimum Volume (MV) order |
| 1138 | DisplayQty | QTY | CSend for disclosed quantity orders | Quantity to disclose for a disclosed quantity (Iceberg) order |
| 38 | OrderQty | QTY | Y | Total order quantity |
| 54 | Side | CHAR | Y | Side of the order Possible values:- 1: Buy
- 2: Sell
- 3: Buy minus
- 4: Sell plus
- 5: Sell short
- 6: Sell short exempt
- 7: Undisclosed
- 8: Cross
- 9: Cross short
- B: As Defined (FIX 4.4 only)
- C: Opposite (FIX 4.4 only)
|
| 40 | OrdType | CHAR | Y | Order type Possible values include: - 1: Market
- 2: Limit
- 3: Stop
- 4: Stop Limit
- 5: Market On Close (MOC)
- J: Market If Touched (MIT))
- W: Limit If Touched (LIT)
- p : Limit (post-only)
|
| 77 | OpenClose | CHAR | Y | Whether the resulting position after a trade should be an opening position or closing position Possible values:- O: Open (default, if unspecified)
- C: Close
- F: FIFO – first in, first out (currently supported only for specific exchanges including INE,CZCE,DCE,SHFE,CHFFE.)
|
| 59 | TimeInForce | CHAR | Y | How long an order remains active Possible values:- 0: Day (default, if not specified)
- 1: Good Till Cancel (GTC)
- 2: At The Opening (OPG)
- 3: Immediate or Cancel (IOC)
- 4: Fill Or Kill (FOK)
- 5: Good Till Crossing
- 6: Good Till Date
- 7: At the Close
- 8: Good through Crossing
- 9: At Crossing
- A: Auction
- S: Morning At the Close
- T: Afternoon At the Close
- U: Night At the Close
- V: Good in Session
- W: Day Plus
- X: Good Till Cancel Plus
- Y: Good Till Date Plus
|
| 432 | ExpireDate | LOCALMKTDATE | CSend when tag 59 (TimeInForce) = 6 (Good Till Cancel) | Date a Good Till Date order expires |
| 8016 | TradingVenueRegulatoryTradeID | STRING | CAvailable only when included on the Execution Report provided to TT by the external counterparty. | Code assigned by the trading venue to the transaction pursuant to Article 12 of RTS on the maintenance of relevant data relating to orders in financial instruments, (a/k/a Trading Venue Transaction ID Code or TV TIC). |
| 7928 | SelfMatchPreventionID | STRING | N | Exchange-registered identifier that enables customers to prevent the matching of orders for accounts with common ownership, even across different executing firms. |
| 18233 | BrokerRoute | STRING | N | This tag will be populated only on FIX Order Gateway orders, and only if a value is defined for the ‘Route’ parameter under a FIX Order Gateway connection in TTUS. |
| 10 | CheckSum | STRING | Y | Unencrypted three-character checksum This tag must always be the last field in a message (i.e. it serves, with the trailing <SOH>, as the end-of-message delimiter). |
|