Prediction markets on the T4 platform are binary-outcome instruments that settle at either 0 or 1 (expressed as a price). This page explains how to interpret settlement messages so your application can correctly determine the outcome of a prediction market trade.
Unlike traditional futures contracts, prediction market instruments resolve to one of two discrete values at expiration:
When a prediction market settles, the T4 platform generates a synthetic order update on the opposite side of your position at the settlement price. Your application should watch for this message to determine whether a held position resolved in or out of the money.
At market expiration, T4 will evaluate the outcome and issue a closing order update for each open position. The message will always be:
[TBD – settlement order type tag/value]| Your Position | Settlement Price | Outcome |
|---|---|---|
| Long | 1 | Won – event occurred |
| Long | 0 | Lost – event did not occur |
| Short | 1 | Lost – event occurred |
| Short | 0 | Won – event did not occur |
Your application should identify a settlement message by checking for the following combination of fields in an order update:
[TBD].Note: Settlement messages are generated by the platform and do not represent a resting order in the book. They will not appear in the order book feed and should be treated as system-generated close events.
Settlement is communicated via the standard order update message on the Trading API WebSocket feed. Subscribe to the account feed and watch for order updates matching the criteria above.
For full message field definitions see Message Reference and Order Routing.
The following is an example order update received when a long position of 1 contract settles in the money.
// [TBD -- WebSocket order update JSON/Protobuf example] // Fields to highlight: // side: Sell // price: 1 // order_type: [TBD settlement type] // qty: 1 // status: [TBD]
// [TBD -- WebSocket order update JSON/Protobuf example] // Fields to highlight: // side: Sell // price: 0 // order_type: [TBD settlement type] // qty: 1 // status: [TBD]
// [TBD -- WebSocket order update JSON/Protobuf example] // Fields to highlight: // side: Buy // price: 0 // order_type: [TBD settlement type] // qty: 1 // status: [TBD]
Settlement is communicated via an Execution Report (tag 35=8) on the FIX session. The report will reflect the closing fill at the settlement price.
For full FIX tag definitions see FIX API.
| Tag | Field Name | Settlement Value |
|---|---|---|
| 35 | MsgType | 8 (Execution Report) |
| 39 | OrdStatus | [TBD] |
| 54 | Side | Opposite of open position (1=Buy, 2=Sell) |
| 44 | Price | 0 or 1 |
| 40 | OrdType | [TBD – settlement order type] |
| 32 | LastQty | Position size being closed |
| 150 | ExecType | [TBD] |
| 55 | Symbol | Prediction market instrument identifier |
[TBD -- FIX Execution Report example message] 8=FIX.4.2|35=8|49=[SenderCompID]|56=[TargetCompID]| 54=2|44=1|40=[TBD]|32=1|39=[TBD]|150=[TBD]|55=[Symbol]|10=[checksum]
[TBD -- FIX Execution Report example message] 8=FIX.4.2|35=8|49=[SenderCompID]|56=[TargetCompID]| 54=2|44=0|40=[TBD]|32=1|39=[TBD]|150=[TBD]|55=[Symbol]|10=[checksum]
[TBD -- FIX Execution Report example message] 8=FIX.4.2|35=8|49=[SenderCompID]|56=[TargetCompID]| 54=1|44=0|40=[TBD]|32=1|39=[TBD]|150=[TBD]|55=[Symbol]|10=[checksum]
Settlement P&L for a prediction market position is straightforward:
Note: Confirm the contract multiplier for each prediction market instrument via the Instruments API.