Try TT Now

FIX Adapter Reference

Position Report (UAP)

Purpose

Used to return position information

Message Direction

From TT FIX Adapter to FIX client

Message Availability

Use CasePrice SessionOrder Session

Drop Copy

No Yes

Order Routing

No Yes

Supported Tags

Tag #Field NameReq’dComments
Component Block <Standard Header>

Y

35=UAP (MsgType)
Component Block <Instrument>

C

Condition: Sent unless no positions match the request.

For tags included in the Instrument Component Block and any restrictions in their use, refer to Component block: Instrument (TT FIX Adapter response).

Component Block <Underlyng Instrument>

C

Condition: Sent when Tag 167 (SecurityType) is MLEG and the TT FIX Adapter configuration enables the Send Security Legs option for the FIX session.

For tags included in the Underlying Instrument Component Block and any restrictions in their use, refer to Component block: Underlying instrument.

Component Block <Trader> C

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
  • Always sent whenTag 16727 (TotalNumPosReports) > 0 and Tag 16724 (PosReqType) = 1 (trade), 5 (manual fill), or 6 (detailed SOD)
  • Never sent when Tag 16724 (PosReqType) = 4 (SOD)
44 Price C

Limit price for the order.

Data type: Price

Condition: Sent when Tag 40 (OrdType) is:

  • 2 : Limit
  • 4 : Stop Limit
  • 8 : Cross order
  • B : Limit On Close (LOC)
  • O : LSM
  • Q : Market Limit Market (MLM)
  • R : Market to Limit
  • U : Best Limit
  • W : Limit If Touched (LIT)
99 StopPx C

Trigger price for a stop order.

Data type: Price

Condition: Sent when provided by the TT Gateway and when Tag 40 (OrdType) is:

  • 3 : Stop
  • 4 : Stop Limit
  • J : Market If Touched (MIT)
  • O : LSM (supported only for TT Eurex and EurexPF Gateways 7.8.0 or higher)
  • S : Stop Market to Limit (without Limit Price)
  • T : Market to Limit (without Limit Price) If-Touched
  • V : Stop Best Limit
  • W : Limit If Touched (LIT)
  • X : Best Limit If Touched (BLIT)
38 OrderQty C

Total order quantity.

Data type: Qty

Condition: Sent when Tag 16727 (TotalNumPosReports) > 0 and Tag 16724 (PosReqType) = 1 (trade) or 5 (manual fill)

110 MinQty C

Minimum quantity for a Minimum Volume (MV) order.

Data type: Qty

Condition: Sent for Minimum Volume (MV) orders when Tag 16727 (TotalNumPosReports) > 0 and Tag 16724 (PosReqType) = 1 (trade) or 5 (manual fill)

210 MaxShow C

Quantity disclosed for a disclosed quantity (Iceberg) order.

Data type: Qty

Condition: Sent for disclosed quantity (Iceberg) orders when Tag 16727 (TotalNumPosReports) > 0 and Tag 16724 (PosReqType) = 1 (trade) or 5 (manual fill)

54 Side C

Side of the order. Possible values include:

  • 1 : Buy
  • 2 : Sell

Data type: char

Condition: Sent when Tag 16727 (TotalNumPosReports) > 0 and Tag 16724 (PosReqType) = 1 (trade), 5 (manual fill), or 6 (detailed SOD)

40 OrdType C

Type of order. Possible values include:

  • 1 : Market
  • 2 : Limit
  • 3 : Stop
  • 4 : Stop Limit
  • 5 : Market On Close (MOC)
  • 8: Cross Order
  • B : Limit On Close (LOC)
  • J : Market If Touched (MIT)
  • O : LSM (supported only for TT Eurex and EurexPF Gateways 7.8.0 or higher)
  • Q : Market to Limit (with Limit Price) (MLM)
  • R : Market to Limit (without Limit Price)
  • S : Stop Market to Limit (without Limit Price)
  • T : Market to Limit (without Limit Price) If-Touched
  • U : Best Limit (BL)
  • V : Stop Best Limit
  • W : Limit If Touched (LIT)
  • X : Best Limit If Touched (BLIT)

Data type: char

Condition:

Sent when Tag 16727 (TotalNumPosReports) > 0 and Tag 16724 (PosReqType) = 1 (trade)

Additional Information:

As per the FIX 4.2 specification:

  • For Market On Open (MOO) orders, TT FIX Adapter sends Tag 40 (OrdType) = 1 (Market) and Tag 59 (TimeInForce) = 2 (At The Opening).
  • For Limit on Open (LOO) orders, TT FIX Adapter sends Tag 40 (OrdType) = 2 (Limit) and Tag 59 (TimeInForce) = 2 (At The Opening).

Note: Limit Stop Market (LSM) orders are supported only for TT Eurex and TT EurexPF Gateways 7.8.0 or higher.

Note: For Market On Auction (MOA) orders, the TT FIX Adapter sends Tag 40 (OrdType) = 1 (Market) and Tag 59 (TimeInForce) = Z (At The Auction), even though Market On Auction orders are not part of the FIX 4.2 specification..

77 OpenClose C

Whether the order opens or closes a position. Possible values include:

  • O : Open (default, if unspecified)
  • C : Close
  • F : FIFO (currently supported only for the TT TOCOM Gateway)

    When an order is sent with 77=F to TOCOM, the exchange determines whether the order opens or closes a position and sends all corresponding fills with either 77=O or 77=C

Data type: char

Condition: Sent when Tag 16727 (TotalNumPosReports) > 0 and Tag 16724 (PosReqType) = 1 (trade)

59 TimeInForce C

How long an order remains active. Possible values include:

  • 0: Day
  • 1: Good Till Cancel (GTC)
  • 2: At The Opening (OPG)
  • 3: Immediate or Cancel (IOC)
  • 4: Fill Or Kill (FOK)
  • 6: Good Till Date
  • 8: Good in Session (GIS)
  • Z: At The Auction

Data type: char

Condition: Sent when Tag 16727 (TotalNumPosReports) > 0 and Tag 16724 (PosReqType) = 1 (trade)

375 ContraBroker C

Counterparty data

Data type: string

Condition: Sent when the TT Gateway provides the information

76 ExecBroker C

Give up member

Data type: string

Condition: Sent when provided by the TT Gateway

432 ExpireDate C

Date a Good Till Date order expires.

Data type: LocalMktDate

Condition: Sent when both of the following are true:

  • Tag 59 (TimeInForce) = 6 (Good Till Date)
  • Tag 16727 (TotalNumPosReports) > 0 and Tag 16724 (PosReqType) = 1 (trade) or 5 (manual fill)
75 TradeDate C

Exchange session date, in the form: YYYYMMDD.

Data type: string

Condition: Sent when the TT Gateway provides the information

16480 PassiveAggressive C

Whether the order represents a passive or aggressive order. Valid values include:

  • P: Passive
  • A: Aggressive

Data type: char

Condition: Sent for all BrokerTec orders

16481 AutoAggressive C

Whether the order auto-aggresses when an opposing passive order attempts to lock the market. Valid values include:

  • Y: Auto-agress
  • N: Do not auto-agress

Data type: char

Condition: Sent for all BrokerTec orders when Tag 16727 (TotalNumPosReports) > 0 and Tag 16724 (PosReqType) = 1 (trade)

16710 PosReqId Y

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.

Data type: string

Condition: Sent if Tag 16724 (PosReqType) equals 1 (trades) or 5 (manual fills)

Additional Information:

For more information about using this tag in position reports, refer to Working with Tag 37 (OrderID).

198 SecondaryOrderID C

Unique identifier for the order, as assigned by the exchange.

Data type: string

Condition: Sent if available when Tag 16724 (PosReqType) = 1 (trade)

17 ExecID C

Unique trade ID

Data type: string

Condition: Sent unless Tag 16724 (PosReqType) = 0 (position).

19 ExecRefID C

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.

Data type: string

Condition: Sent only when Tag 16724 (PosReqType) = 1 (trade), and when Tag 20 (ExecTransType) = 2 (Correct).

20 ExecTransType C

Type of execution report. Possible values include:

  • 0 : New
  • 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.

Data type: string

Condition: Sent only when Tag 16724 (PosReqType) = 1 (trade), and when Tag 20 (ExecTransType) = 2 (Correct)

58 Text C

Additional information about the message.

Data type: string

Condition: Sent if TT FIX Adapter needs to convey additional information.

442 MultiLegReportingType C

Type of leg reporting for the report. Possible values include:

  • 1: Outright
  • 2: Single leg of a multi-leg security

Data type: char

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

60 TransactTime C

Time, in UTC, the transaction occurred.

UTCTimestamp

Condition: Sent unless Tag 16724 (PosReqType) = 0 (position)

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.

10527 SecondaryExecID C

Exchange-generated unique fill ID

Data type: string

Sent only for fills sent by the TT Gateway.

16018 TTSessionID C

The TT Gateway's Session ID.

Data type: string

Sent when provided by the TT Gateway.

18203 ExchangeGateway C

Name of a specific instance of a TT Gateway, such as CME-A or CME-B.

Data type: string

Sent when Tag 16724 (PosReqType) = 1 (trade), 4 (SOD), 5 (manual fill), or 6 (DSOD).

18220

TTBrokerID C

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:

  • 1: (Automated execution order, private, no Broker intervention); synthetic order
  • 3: (Staged Order, broker intervention required)

Data type: int

Condition: Sent only for staged and synthetic orders.

16104 TTUserTagData N

User-defined data supplied with an order. It corresponds to the X_TRADER User Tag field.

Data type: string (15 character limit)

16105 TTOrderTagData N

User-defined data supplied with an order. It corresponds to the X_TRADER Order Tag field.

Data type: string (15 character limit)

18208 TTOrderSource C

Name of a specific instance of a TT Strategy Engine, such as SSE-A or SSE-B.

Data type: string

Condition: Sent only for staged orders (Tag 21 (HandlInst)=3)

10828

TrdType

N

The type of wholesale trade. Possible values include:

  • 1 : Block Trade
  • 12 : Exchange for Swap (EFS)
  • 89: Committed
  • 90: Exchange for Physical - Equity Index
  • 91: Exchange for Physical - Fixed Income
  • 92: Cross
  • 93: One-sided
  • 94 : Against Actual
  • 95 : Asset Allocation
  • 96 : Basis
  • 97 : Guaranteed Cross
  • 98 : Prof Trade
  • 99 : Vola

Data type: int

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

18216

ExchCred

C

The exchange order routing credential that was used to route the order.

Data type: string

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

16107 StagedOrderLinkID C

Type of synthetic order managed by Synthetic SE. Possible values include:

  • 1: Time Slicer
  • 2: Time Duration
  • 3: Volume Slicer
  • 4: Volume Duration
  • 5: Iceberg

Data type: int

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.

ValueFormulaResult
Total Buy Qty

F1Qty + F3Qty + F4Qty

10 + 17 + 11

38
Avg Buy Price

((F1Qty * F1Price) + (F3Qty * F3Price) + (F4Qty * F4Price)) /Total Buy Qty

((10 * 100.5) + (17 * 100.34375) + (11 * 100.3125)) / (10 + 17 + 11)

100.3758223
Total Sell Qty

F2Qty + F5Qty

8 + 9

17
Avg Sell Price

((F2Qty * F2Price) + (F5Qty * F5Price)) / Total Sell Qty

((8 * 100.4375) + (9 * 100.5625)) / (8 + 9)

100.5036764
Matched Qty

MINIMUM(Total Buy Qty, Total Sell Qty)

MINIMUM(38, 17)

17
Matched Buy Price

Avg Buy Price

100.3758223
Matched Sell Price

Avg Sell Price

100.5036764
Realized P&L (Points)

(Matched Sell Price - Matched Buy Price) * Matched Qty

(100.5036764 - 100.3758223) * 17

2.1735197
Point Value for CME:ZB-Mar09

Value of Tag 16554 (ExchPointValue) in the Security Definition (d) for this contract

$1000
Realized P&L (Contract Currency ($))

Realized P&L (Points) * Point Value

2.1735197 * $1000

$2173.52
Unmatched Qty

MAX(Total Buy Qty, Total Sell Qty) - Matched Qty

38 - 17

21
Avg Open Price

if (Total Buy Qty > Total Sell Qty) Avg Open Price = Avg Buy Price

else if (Total Buy Qty < Total Sell Qty) Avg Open Price = Avg Sell Price

else Avg Open Price = n/a

100.3758223

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.

ValueFormulaResult
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.

ValueUse the following formulaResult
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.

Note: By default, Tag 263 (SubscriptionRequestType) = 1 (Snapshot plus updates) in Request For Position (UAN) messages in which Tag 16724 (PosReqType) = 5 (Manual Fill).

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.

Note: By default, Tag 263 (SubscriptionRequestType) = 1 (Snapshot plus updates) in Request For Position (UAN) messages in which Tag 16724 (PosReqType) = 4 (SOD).

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.

Note: By default, Tag 263 (SubscriptionRequestType) = 1 (Snapshot plus updates) in Request For Position (UAN) messages in which Tag 16724 (PosReqType) = 6 (DSOD).

If a DSOD 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

Working with Tag 37 (OrderID)

Note: The following situation applies primarily to Drop-Copy TT FIX Adapters.

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.

  • Values 1 (Spread Quoting), 2 (Spread Hedge), and 3 (Spread Position Reserve) apply to child orders and fills of Autospreader (whether local X_TRADER Autospreader or Autospreader SE)
  • Values 5 (Synthetic Child) and 6 (Synthetic Child Position Reserve) apply to non-staged Synthetic SE child orders and fills.
  • Value 7 (Staged Child) applies to staged Synthetic SE child orders and fills.
  • Value A (Algo Child) applies to Algo SE child orders and fills.
  • Value U (Unknown) applies to any new Link Types that are not yet supported by TT FIX Adapter.

Note: Tag 16113 (LinkID) values will be the same for child orders and fills that came from the same parent order.

Related Information

Request for Position (UAN)