Try TT Now

X_TRADER®

Synthetic Orders on X_TRADER

You are viewing X_TRADER Version 7.17 and higher. For earlier versions, click here

Traders may execute synthetic orders via the TT platform. Synthetic orders provide functionality that is not natively supported by the exchange allowing you to reduce market impact and improve the timing of conditional execution. For example, with synthetic orders users may …

  • Start orders at a certain time
  • Trigger orders on price action
  • Trail the market
  • Slice orders into smaller sub-orders
  • Cancel orders at a certain time

The purpose of this document is to...

  • Examine the TT Synthetic order model
  • Define synthetic order types supported by the TT platform
  • Illustrate how to enter synthetic orders using the Order Pane
  • Illustrate how to enter synthetic orders using the Order Pane

    Note: While synthetic orders can be sent from any X_TRADER order entry window, the primary window for creating synthetic orders is the Market Window Order Pane which supports all of the synthetic order types and parameters.

  • Describe synthetic order management
  • Describe how TT pre-risk checks synthetic orders

Synthetic order functionality is only available while logged into X_TRADER or X_TRADER Pro and a Synthetic Strategy Engine (Synthetic SE) server. Users connected to multiple Synthetic SE servers do not need to place synthetic orders on a specific server. X_TRADER determines the Synthetic SE server to which the order should be routed based upon how your system environment is configured.

Note: When you log off of X_TRADER or lose connectivity to a Synthetic SE, the SE server will continue to work your synthetic orders.

Synthetic Model

The X_TRADER synthetic order model is comprised of the following components:

  • Synthetic orders consist of parent and child orders. The parent order is the actual synthetic order that resides on the Synthetic SE and can submit either single or multi-child orders. Child orders are the native orders that are actually placed on the exchange.
  • The parent order is defined by its synthetic order type, such as Stop, If Touched, Trailing Stop, Iceberg, Time Sliced, Volume Sliced, etc.
  • There are three main components to every synthetic order:
  • Time (optional Start and/or End Time)
  • Trigger (optional)
  • Order

Let's apply this synthetic model to an order.

Order Component Description

(Optional)

Start and/or End Time

  • Window of time to work the order
  • How to handle the resting order when End Time is reached

(Optional)

Trigger Price and Volume

  • Last Traded Price (LTP)
  • Bid or Ask
  • Executed quantity or available market quantity

Order

Submitted after meeting Start Time and Trigger conditions if defined

May be submitted as…

  • Simple order (Limit, Market, etc.)
  • Slices of the parent order (Iceberg, Time Sliced, Volume Sliced, Volume Duration, and Time Duration)

X_TRADER supports the following synthetic order types individually and in combinations:

  • Timed (Start Time, End Time)
  • Triggered (Stops, If Touched)
  • Trailing (Stops, If Touched, Limit)
  • Sliced (Iceberg, Time Sliced, Volume Sliced, Time Duration, Volume Duration)
  • Machine Gun (Retry)
  • Stop, If Touched, Trailing Stop, Trailing If Touched and Iceberg orders are native on some exchanges. The Override Native checkbox, which appears in the Advanced Settings section of the Order Pane, lets you send natively supported order types to the Synthetic SE instead of directly to the exchange.

Note: Refer to Synthetic Order Management to learn how Time-in-Force (TIF) is handled for synthetic orders.

Pre-Risk Management

X_TRADER applies normal pre-trade risk checking to synthetic orders.

  • The Synthetic SE reserves risk on behalf of the entire parent order immediately upon receipt of the parent order. This is referred to as a Position Reserve held order.
  • The parent order is rejected if the Position Reserve order fails.
  • The Synthetic SE reduces the Position Reserve quantity on a one-to-one basis as child orders are accepted by the exchange.
  • If any modifications are made to a Position Reserve order, the Synthetic SE cancels the parent synthetic order and all related working child orders.

By default, Position Reserve orders are hidden. You may make them visible via a check box property on the global Properties Orders tab.

Global Properties Orders Tab

With a Tick (WAT)

When the With a Tick (WAT) option is enabled, the Synthetic SE monitors the opposite inside market of an order and converts a passive order to an aggressive order when the specified threshold is met. The threshold may be set as a quantity or percentage. The WAT parameter may be used in conjunction with native and synthetic orders with the exception of Machine Gun and Trailing Limit orders managed by the Synthetic SE.

Example: You place a buy order and join the best bid with a WAT threshold of 100. When the best ask quantity drops below 100, the price of the buy order will increase by one tick.

The WAT parameter is entered in the Price Mode section of the Order Pane. By default, the WAT option is disabled. You may toggle the Quantity (Qty) button to set the WAT threshold as a percentage (%) of original total order quantity.

WAT orders will only go into the market as new orders; users cannot change the threshold level once the order is placed.

  • If a WAT order is placed on the inside market when the bid/ask spread is greater than one tick, the order will immediately adjust and aggress by one tick.
  • If a WAT order is placed off of the inside market, for example joining the second best bid or second best ask, the WAT order will immediately adjust and aggress by one tick.

To place a WAT order:

  1. From the Market Grid, click the contract you wish to trade.
  2. Enter the order details using the Order Pane.
  3. From the Price Mode section, click to enable the With a Tick check box.
  4. Enter the threshold as either a Quantity (Qty) or Percentage (%).
  5. Click Buy or Sell.

Synthetic Order Management

Synthetic orders can be in one of the following stages:

TTStatus Order Condition Ends when...

Waiting

  • An order with a Start Date/Time parameter that has not been met.

The Start Date/Time is reached.

Pending Trigger

  • A trigger order (Stop, If Touched) or a Trailing order with a Pending Trigger (Trailing Stop, Trailing If Touched).

The price trigger (and optional secondary volume condition) is reached or penetrated.

Working

  • A parent of a sliced order where there is at least one child order working in the market and/or there is at least one undisclosed order.
  • A parent of a Triggered, Trailing, or Machine Gun order where there is at least one child order working in the market, and the optional End Date/Time has not been reached.
  • A staged order

The End Date/Time is reached; the parent order is canceled by the trader or the order is filled on the exchange.

Hold

  • A parent order that a trader has placed on Hold.

The trader resubmits the parent order.

Paused

  • A parent order that a trader has paused

The trader resumes working the synthetic order.

Deleting

  • A parent order that a trader has deleted displays in the Deleting state while the Synthetic SE performs the delete action

The Synthetic SE completes deletion of child orders and Position Reserve orders.

Filled

  • A synthetic order that is completely filled

Available

  • A staged order that is either Working (W) or Partially Filled (P) that does not have an owner.

An execution trader takes ownership of the available staged order.

Owned

  • An execution trader has claimed the staged order that is either Working (W) or Partially Filled (P).

The execution trader promotes or unclaims the staged order, or the staged order is canceled or filled.

In addition, if your Synthetic Strategy Engine is shutdown or an error occurs, you may see a synthetic order in one of the following states:

TTStatus Order Condition Ends when...

Pulling

  • The Synthetic SE attempts to delete the Position Reserve order and orphans all of its child orders; UMM displays in the Link Type field

The order moves to an Unmanaged state.

Unmanaged

  • The Synthetic SE successfully deleted the Position Reserve order and orphaned all of its child orders; UNM displays in the Link Type field.

Does not end; you may need to Cancel and Replace the order.

Initializing

  • The Synthetic SE is establishing connections to the TT Gateways.

The Synthetic SE has established connectivity to the TT Gateways.

Recovering

  • The Synthetic SE puts staged orders in this state when it starts up or reconnects to a TT Gateway from which it disconnected.

The Synthetic SE completes the process successfully and puts staged orders in the Working state.

Time-In-Force (TIF) Parameters

The Synthetic SE version determines how parent order TIF parameters are managed:

  • Beginning with Synthetic SE 7.1.4, the parent order responds to the TIF parameter as follows:
    • Parent Good 'til Day (GTD) orders are canceled at the TT Gateway rollover time.
    • Child GTD orders are canceled according to exchange rules.
    • Parent Good 'til Close (GTC) orders remain working on the Synthetic SE until...
      • Triggered,
      • Fully filled,
      • Canceled by the user,
      • Or executes the optional end day/time behavior.
    • Parent Fill or Kill (FOK), Immediate or Cancel (IOC), Good in Session (GIS) and Good ‘til Date (GTDate) orders are not supported.
    • Users may create synthetic GIS and GTDate orders by...
      • Setting an end time that corresponds to the GIS exchange time,
      • Or by manually deleting the parent order at the GIS exchange time.
  • With Synthetic SE 7.2.1 (and higher), the Synthetic SE does not enforce the Time-in-Force of the staged order. The parent staged order remains in an active state on the Synthetic SE until it is fully filled or canceled.

Working/Pending Quantity Model

Each synthetic order maintains the following quantity fields:

  • Total Quantity
  • Disclosed Quantity (Sliced orders)
  • Executed Quantity
  • Working Quantity in the market
  • Undisclosed Quantity (quantity waiting to be sent to the market when a pre-defined condition is met). For orders with a Start Time or Price Trigger, this is the total quantity. For Sliced, this is the combined quantity of all slices that have not been sent to the market.

The following table describes an Iceberg order with a Total Quantity of 600, a Disclosed Quantity of 200 and a Start Date/Time.

Condition Total Qty Executed Qty Working Qty Undisclosed Qty

Waiting for the Start Date/Time

600

0

0

600

First child order sent to the market

600

0

200

400

First child order received a partial fill

600

100

100

400

First child order received a full fill; second child order sent to the market

600

200

200

200

Second child order received a full fill; third (last) child order sent

600

400

200

0

Supported Changes to Parent Orders

X_TRADER and Synthetic SE support the following changes to parent synthetic orders:

Supported changes to parent orders

Description

Cancel parent order

All related child orders along with the parent synthetic order are canceled. Also applies to parent orders in Hold or Paused state.

Convert parent order to a Market order

In addition, does not apply to staged orders or orders in a Hold or Paused state.

Modify the fixed price

Also applies to non-staged Time Duration and Volume Duration orders.Applies to orders in Hold or Paused state.

Modify a relative price defined as an offset

Supported and also applies to orders in Hold or Paused state.

Modify the trigger price

Also applies to non-staged triggered orders in Hold or Paused stage.

Modify Ticks Away offset

Also applies to non-staged trailing orders in a Hold or Paused state.

Modify the quantity

Also applies to non-staged orders in Hold or Paused state.

Modify the Start Date/Time and End Date/Time

Applies to non-staged parent synthetic orders entered with a Start Date/Time and/or End Date/Time that are in Waiting, Hold, or Paused state.

Hold/Submit synthetic order

Applies to non-staged parent orders in Waiting, Pending Trigger, or Working state.

Pause/Resume synthetic order

Applies to non-stage parent orders in Waiting, Pending Trigger, Working, or Paused state.

Modify FFT1 or FFT2

All subsequent child orders are also modified.

Applies to non-stage parent orders in Waiting, Pending Trigger, Working, Hold,  or Paused state. Requires Synthetic SE 7.17.65 or higher.

Supported Changes to Child Orders

X_TRADER and Synthetic SE 7.2.x support the following changes to child synthetic orders:

Supported changes to child orders

Description

Cancel child order

Cancels child order and adds quantity back into parent.

Convert child order to a Market order

A cancel is submitted for the working child order.

A Market order for the remaining quantity is submitted upon receipt of cancel acknowledgement from the exchange.

Note: Does not apply to sliced orders.

Modify the quantity

Also applies to child orders in Hold or Unmanaged state.

Modify the fixed price using normal change order methods

Supported

Modify the relative price (e.g., [Bid+1])

Supported

Modify the trigger price

Also applies to child orders in Hold state.

Modify Ticks Away offset

Also applies to child orders in Hold state.

Change a synthetic sliced order portion to a Market order

Applies to Iceberg, Time Slice, Volume Slice, Time Duration, and Volume Duration orders.

Modify Start Date/Time and End Date/Time parameters

Applies to Time orders with a Start Date/Time or End Date/Time.

Place synthetic child orders on hold

Supported

Pause child order

Not supported; Pause button not available.

Synthetic order child will have a TTStatus of Hold when the parent order is in a Hold state. X_TRADER 7.12.x with Synthetic SE 7.2.1 supports the following actions on Held child orders:

  • Modify price
  • Modify quantity
  • Cancel
  • View order details
  • Inquire
  • Repeat
  • Go To Market

Note: You cannot place staged orders (or related child orders) on Hold.