Condition: All tags are conditional, based on the Account Defaults setting in the FIX session for the TT FIX Adapter configuration.For tags included in the Trader Component Block and any restrictions in their use, refer to Component block: Trader.

Component Block <Synthetic Order Properties>

C

Condition: Sent when Tag 21 (HandlInst) = 1 and the TT FIX Adapter configuration enables the Send Synthetic Order Properties setting for the FIX Session and when Tag 16724 (PosReqType) = 1 (trade)For tags included in the Synthetic Parent Component Block and any restrictions in their use, refer to Component block: Synthetic Order Properties.

1

Account

C

Order-routing account. The value matches the Tag 1 (Account) in the corresponding request.

Data type: String

Conditions:

Sent if included in the corresponding Request For Position (UAN) request

Request ID sent in Tag 16710 (PosReqId) of the Request For Position (UAN) request.

Data type: string

16721

PosMaintRptId

Y

Unique ID for this Position Report (UAP) message.

Data type: string

16727

TotalNumPosReports

Y

This value indicates the total number of reports expected in response to the Request For Position (UAN) message that generated the report. Note that this value may change in certain scenarios:

The value will increment as new real-time reports are generated for UAN subscriptions (when Tag 263 (SubscriptionRequestType) = 1 (Snapshot plus updates) in the UAN request).

The value can be incremented during initial downloads. A FIX client can determine whether the download has completed by comparing the total number of responses received by the client with the value of Tag 16727 (TotalNumPosReports) in the most recent message. Matching values indicate a completed download.

TT FIX Adapter returns 0 if no data exists.

Data type: NumInGroup

16724

PosReqType

Y

Type of content in the position report. Valid values include:

0: Positions

1: Trades

4: Start of Day (SOD)

5: Manual fills

6: Detailed Start of Day (DSOD)

Data type: int

16210

RealizedPandL

C

Realized P&L in native currency for the given instrument. If the TT FIX Adapter configuration defines a rollover time, this value represents the Realized P&L since the last rollover.

Data type: decimal

Condition: Sent only if Tag 16724 (PosReqType) is 0

32

LastShares

C

One of the following:

For trades, the number of contracts.

For positions, quantity of the open position

For SODs, quantity in the SOD

For manual fills, quantity in the fill

For positions and SODs, positive values indicate long positions and negative values represent short positions.

Data type: integer

Condition: Not sent when Tag 16727 (TotalNumPosReports) is 0

31

LastPx

C

One of the following:

0 (position): average open price

1 (trade): price at which the contracts filled

4 (SOD): price entered in the SOD

5 (manual fill): price of the manual fill

6 (DSOD): price entered in the detailed SOD

Data type: decimal

Condition: Sent for fills and positions

37

OrderID

C

Internal TT order key assigned to all orders submitted through any TT software. The value remains constant for the life of an order. In the following situations, the tag contains a value other than an internal key.

For messages where the order is unknown, FIX Adapter returns the string NONE.

Reference identifier used with Correct transaction types. Tag 19 (ExecRefID) will be populated with the Tag 17 (ExecID) value of the fill that is being corrected.

If there are multiple corrections to a fill, Tag 19 (ExecRefID) will be populated with the Tag 17 (ExecID) value of the most recent execution report for the fill. Tag 16017 (OrigExecID) will always provide the Tag 17 (ExecID) value of the original execution report.

2 : Correct (when the FIX Adapter configuration enables Send Fill Updates in the FIX Session settings and when either X_TRADER confirms a fill or the TT BrokerTec Gateway sends a fee update)

Data type: char

Condition: Sent only when Tag 16724 (PosReqType) = 1 (trade).

16017

OrigExecID

C

Reference identifier used with Correct transaction types. Tag 16017 (OrigExecID) will be populated with the Tag 17 (ExecID) value of the original fill that has been corrected.If there are multiple corrections to a fill, Tag 16017 (OrigExecID) will always provide the Tag 17 (ExecID) value of the original execution report. Tag 19 (ExecRefID) will be populated with the Tag 17 (ExecID) value of the most recent execution report for the fill.

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.

The TT Broker ID. Valid values are the short codes for the brokers, which can be found in the company administration section of the TT User Setup client.

Data type: string

Default value: none

Condition: Only available in the TT X_TRADER ASP environment. The tag is sent if it is included in the corresponding Request For Position (UAN) request. It is always sent in the TT X_TRADER ASP environment when Tag 16727 (TotalNumPosReports) > 0 and Tag 16724 (PosReqType) = 1 (trade), 4 (SOD), 5 (manual fill), or 6 (detailed SOD).

18221

TTCompanyID

C

The TT Company ID for the buy side company. Valid values are the short codes for the buy-side companies, which can be found in the company administration section of the TT User Setup client.

Data type: string

Default value: none

Condition: Only available in the TT X_TRADER ASP environment. The tag is sent if it is included in the corresponding Request For Position (UAN) request. It is always sent in the TT X_TRADER ASP environment when Tag 16727 (TotalNumPosReports) > 0 and Tag 16724 (PosReqType) = 1 (trade), 4 (SOD), 5 (manual fill), or 6 (detailed SOD).

21

HandlInst

C

Indicates this report concerns a staged or synthetic order. TT supports only the following values:

Condition: Sent only for synthetic orders (Tag 21 (HandlInst)=1) of the above types and when Tag 16724 (PosReqType) = 1 (trade)

16108

SyntheticOrdMod

C

Modifier for a synthetic order managed by Synthetic SE. Possible values include:

1: Stop

2: If-Touched

3: Trailing Stop

4: Trailing If-Touched

5: Trailing Limit

6: Machine Gun

Data type: int

Condition: Sent only if provided for synthetic orders (Tag 21 (HandlInst)=1) and when Tag 16724 (PosReqType) = 1 (trade)

16143

OrderAltID

C

Exchange order ID sent from the exchange to the TT Gateway.

Data type: string

Condition: Sent only by FIX Drop Copy adapters when the TT Gateway provides the information and when the Send OrderAltID (Tag 16143) setting is enabled in the FACT configuration.

136

NoMiscFees

C

Number of miscellaneous fees contained in this repeating group.

Data type: NumInGroup; always 1

Condition: Sent when provided by the TT Gateway

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

MiscFees repeating group

137

MiscFeeAmt

Y

Miscellaneous fee value.

Data type: amt

16112

NoLinks

C

Number of links contained in this repeating group.

Data type: int

Condition: Sent only if Tag 16724 (PosReqType) is 1, and when provided by the TT Gateway.

NoLinks repeating group

16113

LinkID

Y

An identifier used to distinguish that this is a child order or fill that came from a parent order. Child orders and fills that came from the same parent order will have the same LinkID.

Data type: string

16114

LinkType

Y

The kind of link. This identifies the relationship between the child orders and fills and the parent order.

Valid values include:

1: Spread Quoting

2: Spread Hedge

3: Spread Position Reserve

5: Synthetic Child

6: Synthetic Child Position Reserve

7: Staged Child

A: Algo Child

U: Unknown

Data type: char

Component Block <Standard Trailer>

Y

Message Notes

The Position Report (UAP) message is used by the TT FIX Adapter to send position information in response to a Request For Position (UAN) message from a FIX client. The TT FIX Adapter responds to a single Request For Position (UAN) message with a separate Position Report (UAP) message for each position, trade, SOD record, manual fill, or DSOD record, based on the value of Tag 16724 (PosReqType).

Positions

To request positions, FIX clients send a Request For Position (UAN) message with Tag 16724 (PosReqType) = 0 (Position). TT FIX Adapter will respond with a separate Position Report (UAP) for each contract for which the trader has a position or P&L for only those fills that occurred after the rollover time.

Notes:

TT FIX Adapter provides only outright positions. It does not send positions for strategies.

If a FIX client subscribes for positions by including Tag 263 (SubscriptionRequestType) = 1 (Snapshot plus updates), the TT FIX Adapter will send a Position Report (UAP) as well as an Execution Report (8) when the trader gets filled.

In each position report, TT FIX Adapter includes realized P&L in Tag 16210 (RealizedPandL) and the average open price in Tag 31 (LastPx). For performance reasons, TT FIX Adapter calculates these values using an averaging algorithm.

To help illustrate how TT FIX Adapter uses averaging to calculate realized P&L, the following example walks you through the process TT FIX Adapter uses to process fills. Assume a FIX client receives the set of hypothetical fills for the CME:ZB-Mar09 contract shown in the following table.

Fill

B/S

Qty

Price (Points)

F1

Buy

10

100.5

F3

Buy

17

100.34375

F2

Sell

8

100.4375

F4

Buy

11

100.3125

F5

Sell

9

100.5625

The following table shows you how TT FIX Adapter uses the averaging algorithm to calculate unrealized P&L before making it available to FIX clients.

TT FIX Adapter automatically calculates realized P&L; it does not, however, provide unrealized P&L. Therefore, if a FIX client wants to determine a trader’s total P&L, it must first determine which theoretical exit price to use and calculate the unrealized P&L. Then, the FIX client can plug the value into the following formula:

P&LTotal = P&LRealized + P&LUnrealized

For purposes of this example, assume the theoretical exit price of the position is 100.53125. The FIX client can then calculate the unrealized P&L as shown in the following table.

Value

Formula

Result

Unrealized P&L (Points)

(Theo Exit Price - Avg Open Price) * Unmatched Qty

(100.53125 - 100.3758223) * 21

3.2639817

Point Value for CME:ZB-Mar09

Value of Tag 16654 (ExchPointValue) in the Security Definition (D) for this contract

$1000

Unrealized P&L (Contract Currency ($))

Unrealized P&L (Points) * Point Value

3.2639817 * $1000

$3263.98

With the realized P&L provided by TT FIX Adapter and the newly-calculated P&L, the FIX client can determine the total P&L as shown in the following table.

Value

Use the following formula

Result

Total P&L (Points)

Realized P&L (Points) + Unrealized P&L (Points)

2.1735197 + 3.2639817

5.4375014

Total P&L (Contract Currency ($))

Total P&L (Points) * Point Value

5.4375014 * $1000

$5437.50

Note: Realized P&L and average open price can be calculated by using a variety of fill matching techniques including FIFO, LIFO, Averaging, etc. Though the values for realized P&L and average open price can vary based on the algorithm chosen, the total P&L is always constant.

TT FIX Adapter client applications that require live P&L should perform a fill download during startup and match fills as shown in the sample scenario. For more information about the averaging technique that TT FIX Adapter uses, refer to P&L Calculation Algorithm.

Trades

To request fills from previous trading sessions, FIX clients send a Request For Position (UAN) message with Tag 16724 (PosReqType) = 1 (Trades) and Tag 18213 (IncludeHistoricalFills) = Y. TT FIX Adapter responds with separate Position Report (UAP) messages for all fills available from the Order Session FIX log files for the past three days. If the UAN message omits Tag 18213 or sets its value to N, TT FIX Adapter responds with separate Position Report (UAP) messages for only those fills that occurred during the current trading session.

A FIX client can determine whether the fill download completed by comparing the total number of responses received by the client with the value of Tag 16727 (TotalNumPosReports) on each message. Matching values indicate a completed fill download.

Manual fills

Risk administrators use manual fills to modify a trader’s intra-day position. When a FIX client receives manual fills, it should treat them as regular fills in all position and P&L calculations.

To request manual fills, FIX clients send a Request For Position (UAN) message with Tag 16724 (PosReqType) = 5 (Manual Fill). TT FIX Adapter responds with separate Position Report (UAP) messages for only those manual fills for the current trading session.

SOD records

SOD records are used by risk administrators to roll positions from the prior trading session. A separate SOD record will be injected into the TT system for each contract for which a trader has a position.

Note: The position provided in an SOD record is a summation of positions for all accounts. If account-level position information is required, customers should use DSODs.

Normally, only one SOD record for a contract will be received during the course of a trading session. It should be treated as a regular fill in all position and P&L calculations. If a subsequent SOD record is received for the same contract during the same trading session, FIX clients should replace the original SOD record with the latest one.

To request SOD records, FIX clients send a Request For Position (UAN) message with Tag 16724 (PosReqType) = 4 (SOD). When SOD records are injected into the TT system, they always overwrite any existing SOD records. Thus, any SOD records received should always be for the current trading session.

You can download SOD records by setting Tag 16724 (PosReqType) to 4 (SOD). If an SOD record contains a NULL price, TT FIX Adapter uses the following rules to determine which price to use when performing P&L and risk calculations:

Settlement price

If no settlement price exists, closing price

If no closing price exists, LTP (last traded price)

If no LTP exists, price of the matching fill

DSOD records

DSOD records are used by risk administrators to roll positions from the prior trading session. A separate DSOD record will be injected into the TT system for each contract and account for which a trader has a position. When received by FIX clients, they should be treated as a regular fill in all position and P&L calculations.

Note: A separate DSOD record will be injected for all unique combinations of MGT, contract, account, FFT2, and FFT3 values.

To request DSOD records, FIX clients send a Request For Position (UAN) message with Tag 16724 (PosReqType) = 6 (DSOD). TT FIX Adapter will respond with a separate Position Report (UAP) for only those DSOD records from the current trading session.

Working with Tag 37 (OrderID)

On rare occasions, TT FIX Adapter might receive a fill, but cannot find the matching order. This situation could occur, for example, if an unsolicited order is both submitted and fully filled while TT FIX Adapter is down, such as during a scheduled or unscheduled reset. When TT FIX Adapter restarts, it automatically downloads data from the Fill and Order Servers. Because the TT Gateway deletes the order from the Order Server when it is fully filled, TT FIX Adapter receives the fill record from the Fill Server but cannot receive the order record because it no longer exists in the Order Server.

The FIX specification requires Tag 37 (OrderID) to be unique for all orders. Because TT FIX Adapter cannot determine whether a fill represents a full or partial fill, it creates an artificial, unique value to store in Tag 37 (OrderID).Whenever TT FIX Adapter cannot match a fill with its corresponding order, it replaces the value of Tag 37 (OrderID) with the concatenation of the values in Tag 37 (OrderID) and Tag 17 (ExecID).

Working with the NoLinks Repeating Group

Tag 16114 (LinkType) identifies the relationship between the child orders and fills and the parent order.