ADL
ADL Overview
ADL Basic Concepts
Description
Reference
Task
Advanced concepts
Case Studies
Description
Task
Building your first algo
Lessons
Introduction to ADL
Description
Reference
Task
Videos
Arithmetic blocks
Basic blocks
Discrete blocks
Group blocks
Jump blocks
Library blocks
Logic blocks
Miscellaneous blocks
Trading Blocks
Virtualized blocks
APIs
TT .NET SDK
Advanced Concepts and Options
Appendix
Creating the application framework
Getting started with TT .NET SDK
Subscribing for market data
More about prices
An in-depth look at the Price class
Working with Algos
Algo Server
TT Order Types
TT Premium Order Types
Working with instruments
Working with orders and fills
Handling trade subscriptions
Working with trade subscriptions
TT CORE SDK
Appendix
Creating a TT Application Server
Creating Application Framework
Getting Started with TT Core SDK
Subscribing for Market Data
Working With Instruments
Working with Orders and Fills
TT REST API 2.0
API Reference
Getting Started
TT REST API 2.0 (UAT)
API Reference
Getting Started
Data and Analytics
TT Margin
MiFID II Support
Monitor
Setup
Company Administration
Account Administrators
Description
Task
Accounts
Description
Reference
Task
Use Cases
Videos
Advanced Features
Description
Company
Description
Reference
Task
Connections
Description
Reference
Task
Videos
Order Tag Defaults
Description
Task
TT Access
Description
Task
TT Premium Services
Description
Task
Users
Description
Reference
Task
Videos
Exchanges: Americas
B3
Description
Task
CBOE
Description
Task
Cboe FX
Description
Reference
Task
CFE
Description
Task
CME
Description
Task
Dealerweb
Description
Task
EBS Direct
Description
Task
EBS Market
Description
Task
Fenics
Description
Task
FMX
Description
Task
FMX_USTF
Description
Task
Goldman Sachs Commodity Blocks (GSCB)
Description
Referece
Task
ICE
Description
Task
MexDer
Description
Task
MIAX_FUT_CH
Description
Task
MIAX_FUT_NY
Description
Task
MX
Description
Task
NFI
Task
Nodal
Description
Task
Exchanges: Asia/Pacific
ABX
Description
Task
ASX
Description
Task
CoinFLEX
Task
FEX
Description
Task
HKEx
Description
Task
JPX
Description
Task
NSE
Description
Task
NZX
Description
Task
SGX
Description
Task
SGX GIFT
Description
Task
TAIFEX
Description
Task
TFEX
Description
Task
TFX
Description
Task
Exchanges: Crypto
Coinbase
Description
Task
Kraken
Description
Task
Exchanges: EMEA
ATHEX
Description
Task
BIST
Description
Task
CEDX
DGCX
Description
Task
EEX
Description
Task
EPEX SPOT
Description
Reference
Task
Eris
Description
Task
Eurex
Description
Task
Videos
Euronext
Description
Task
GFO-X
Description
Task
ICE_L
Description
Task
JSE
Description
Task
LME
Description
Task
LME NTP
Description
Task
LSE
Description
Task
MEFF
Description
Task
NASDAQ_NED
Description
Task
NDAQ_EU
Description
Task
Nord Pool
Description
Reference
Task
WSE
Description
Task
FIX Support
FIX Ruleset
Description
Task
FIX Sessions
Description
Task
Secondary Accounts
Description
Task
Risk Management
KRM Limits
Description
Task
Order Cross Prevention
Description
Task
Videos
Pre-Trade Portfolio Risk
Description
Reference
Task
Risk Administration
Description
Task
Risk Limits
Description
Reference
Task
Videos
Setup Overview
Getting Started
Description
Reference
Task
Videos
Supported Order Types and TIFs
TT® OMS
TT OMS Administration
Description
Reference
Task
Use Cases
Trade
Algo Trading
Algo Dashboard
Description
Reference
Task
Videos
Autotrader
Description
Reference
Task
Videos
Excel integration with TT
Description
Reference
Task
Videos
Market-Making Algos
Order Management Algos (OMAs)
Template Manager
Description
Task
Analytics
Charts
Description
Reference
Task
Technical Indicators
Videos
Trader Analytics
Description
Reference
Task
Basic Order Entry
Blocktrader
Description
Reference
Task
Videos
MD Trader®
Description
Reference
Task
Videos
Order Profiles
Description
Reference
Task
Order Ticket
Description
Reference
Task
Use Cases
Routing Rules
Description
Task
Trading Crypto on TT
Description
Reference
Task
Videos
Trading on B3
TT Order Types
Case Studies
Description
Reference
Task
Videos
TT Premium Order Types
Description
Reference
Task
Options
Counterparty Manager
Description
Task
Electronic Eye
Description
Reference
Task
Videos
Expiration Manager
Description
Task
Options Chain
Description
Reference
Task
Use Cases
Videos
Options on TT
Description
Videos
Options Risk
Description
Reference
Task
Videos
Options Risk Matrix
Description
Reference
Task
Videos
Options Trade Monitor
Description
Reference
Task
Videos
QuikStrike
Description
Task
RFQ Viewer
Description
Reference
Task
Videos
RFQ with Counterparties
Description
Task
Strategy Creation
Description
Reference
Task
Use Cases
TT Uncovered
TT Uncovered 2.0
Description
Task
TT Uncovered 3.0
Description
Task
Vol Curve Manager
Description
Reference
Task
Use Cases
Videos
Volatility Calculator
Description
Task
Watchlist
Description
Reference
Task
Videos
Order Management
Account & User Restrictions
Description
Reference
Task
Account List
Description
Reference
Task
Videos
Alert Manager and Alert Viewer
Description
Reference
Task
Videos
Audit Query
Description
Reference
Task
Audit Trail
Description
Reference
Task
Balances
Description
Reference
Task
Fills
Description
Reference
Task
Floating Order Book
Description
Reference
Task
Order Book
Description
Reference
Task
Orders and Fills
Description
Reference
Task
Position Manager
Description
Reference
Task
Positions
Description
Reference
Task
Overview
Browser Access
Description
Task
Videos
Preferences
Description
TT Desktop
Description
Reference
Task
Videos
TT Platform
Description
Task
Widgets
Description
Task
Workspace Windows
Description
Task
Videos
Spread Trading
Aggregator
Description
Reference
Task
Videos
Autospreader
Description
Reference
Task
Use Cases
Videos
Autospreader Rules
Description
Reference
Task
Videos
Hedge Manager
Description
Reference
Task
Videos
Trading in Yield
Description
Reference
Task
Use Cases
TT® OMS
Bulking
Description
Task
Videos
Care Orders
Description
Reference
Task
Videos
Combining
Description
Task
Lock and Release
Description
Task
Order Exceptions
Description
Task
Order Passing
Description
Task
Use Cases
Stitching and Splitting
Description
Task
Viewing Market Data
Depth
Description
Reference
Task
Market Grid
Description
Reference
Task
Videos
Product Grid
Description
Reference
Task
Spread Matrix
Description
Reference
Task
Videos
Time and Sales
Description
Reference
Task
TT Backtesting
TT FIX Services
TT FIX Drop Copy In
Overview
Supported application messages
TT FIX Drop Copy Out
Compliance Feed messages
Overview
Supported application messages
TT FIX Message Conversations
TT FIX Gateway
Components
FIX Message Structure
Getting Started
Order Gateway Messages
Price Gateway Messages
Session messages
TT FIX General
FIX Message Structure
Getting Started
Session messages
TT FIX Market Data
Overview
Supported application messages
TT FIX message conversations
TT FIX Order Routing
Overview
Supported application messages
TT FIX message conversations
TT FIX Recovery
Compliance Feed Messages
FIX Recovery Methods
Overview
Supported application messages
TT Mobile
TT Trade Surveillance
Cluster View
Configurable Models
Core Models
Cross Product Models
Improperly Matched Trade Models
Market Abuse Models
Market Rate Models
Miscellaneous Models
Spoofing Models
Trading Behaviors Models
Overview
Reference
Reports
Using TT Trade Surveillance
Wachlists

Configuring FIX Rules

On this page

When adding a rule on the Rules tab, you can select one of the following rules for a FIX Ruleset:

  • Message — Defines which messages to pass through conditionally or drop.
  • Tag — Defines routing actions to take based on FIX tags.

Defining message rules

A message rule will either pass or drop a FIX message sent to and from a FIX client. You can define the following types of message rules:

  • Drop to stop the message from being forwarded to its destination.
  • Conditional to specify an action to take based on a message type and the value of tags in the message.
  • Custom to take an action defined by a user-defined script.

    Note: Custom actions are available for advanced users only. Please contact TT support before assigning custom actions.


Configuring a drop action

If either a FIX client or an exchange does not support a particular FIX message, you can use the drop action to prevent the message from being sent.

To configure a drop action, click Message in the Rules Settings section to select which FIX message to drop. Optionally, add more information about the action in the Description field. Then click Save Changes.

Configuring a conditional action

A conditional action instructs TT FIX to pass or drop a message based on the value of a specific tag in the message. The following example uses a conditional action to allow a FIX client to prevent FIX clients from submitting any new order whose side is neither Buy nor Sell.

You can also use the select an Exchange to provide an extra condition to support exchange-specific tag values. This example expands the NewOrderSingle message rule to add a repeating data item that also sends the message when tag 54=8 (Cross) if tag 207=Eurex.

Defining tag rule actions

Tag rule actions allow you to manipulate tags and tag values in the messages sent between FIX clients and TT FIX. For example, you can drop tags sent from TT FIX in an Execution Report (8) message that your FIX client does not support. You can define the following types of tag rules:

  • Add — Adds a tag and value to a message
  • Assign — Assigns the value to tag
  • Conditional — Specifies an action to take based on a message type and the value of tags in the message
  • CreatePartyEntry — Allows a FIX client to send a flat tag in a FIX message and maps it to an exchange-specific party role and party ID on the message.
  • Custom — Takes an action defined by a user-defined script
  • Drop — Stops the tag from being forwarded to its destination
  • ModifyPartyEntry — Allows a FIX client to send a specific party role and party id in a FIX message and remap that to an exchange-specific party role and/or party ID on the message. User may also use ModifyPartyEntry to remove an entire member of a repeating group.
  • Multiply — Multiplies a numeric tag value by a number
  • Prepend — Adds text to the beginning of an existing tag value
  • Postpend — Adds text to the end of an existing tag value
  • Remap — Assigns the value of one tag to that of another tag
  • RemapGroup — Remaps the values for a group of tags
  • RemapPartyEntry — This option has been deprecated and replaced by the ModifyPartyEntry.
  • TrimTimestamp — Converts microsecond-precision timestamps in tag 60 (TransactTime) to millisecond-precistion timestamps.
  • Custom — Takes an action defined by a user-defined script.

    Note: Custom actions are available for advanced users only. Please contact TT support before assigning custom actions.

Add action

The Add action allows you to add a value to tag that contains a numeric value. The classic example of using an add action would be adding tag 1 (Account) on order messages sent by a FIX client, when the FIX client system doesn’t send tag 1 on its orders, because TT FIX requires tag 1 on order messages.

To configure an add action for a tag:

  1. In the Rules Settings section, click Message to select the FIX message whose tag you want to configure.

  2. Choose whether to Ignore rule if a value for this tag already exists.

  3. Enter the Tag number you want to modify.

  4. Enter the Numeric amount to add to the value of the specified tag.

  5. Optionally, add more information about the action in the Description field.

  6. Click Save Changes.

Assign action

This tag rule allows you change the value of a tag before forwarding the message on to the receiving party or to add a tag isn’t sent by one party before sending the message to the counter-party. If the tag specified in the action does not exist in the message, the Assign action will add the tag. You can use this action to add a tag whose value is non-numeric, as the Add action accepts only numeric values.

Conditional action

TT FIX allows you to take actions conditionally based on the value of an input tag. For example, suppose you wanted to assign a different tag 1 (Account) value on order routing messages based on the tag 100 (ExDestination) value sent by the FIX client. You could create a conditional tag rule in the FIX Ruleset to do that.

You can also use select an Exchange to provide an extra condition to support exchange-specific tag values. This example modifies the value of tag 48 (SecurityID) based on a combination of the value of tag 456 (SecurityAltIDSource) and the Exchange. These two conditions identify which tag 455 (SecurityAltID) value in the security alt ID repeating group to use when remapping the value to tag 48 based on the exchange specified tag 207 (SecurityExchange).

CreatePartyEntry action

The CreatePartyEntry action allows a FIX client to send a flat tag in a FIX message and maps that to an exchange-specific party role and party ID on the message passed through TT FIX Order Routing. For example, if the client sends you Tag 50, you can add a rule that maps Tag 50 to Tag 452 and Tag 448 values required for routing to other exchanges.

To configure a CreatePartyEntry action:

  1. Click the Rules tab and click Add.
  2. In the New FIX Rule dialog box, select TAG as the rule type and CreatePartyEntry as the action and click OK.
  3. In the Rules Settings section, click Message to select the FIX message whose tag you want to configure, and enter the Tag number. These are required fields.

    Note: Ensure that the Ignore rule if a value for this tag already exists setting is not checked.

  4. In the Repeating Data section, click +Add.

  5. Click a cell in each column to configure the following:

    • Select an Exchange or use the default value “*”.
    • Set the Action to “Assign”.
    • Set the Action Argument to the party role and ID values.

      The Action Argument field must be configured in order for Tags 452, 448, and 2376. The tag and its value are assigned with “=”, and each tag/value pair must be separated by a colon (:). For example: 452=211:448=$source

      Note: Tag 2376 is optional and is only valid when Tag 452 is set to 3, 12, or 122.

    A “Default” row is not required. If added, it contains the following: Exchange=*, Conditional=Default, Action=Pass. No other “Default” row configuration is supported.

  6. Optionally, add more information about the action in the Description field.

  7. Click Save Changes.

Drop action

When a FIX client and TT FIX use different FIX specifications, the same message could support different sets of tags. In this situation, you might need to remove tags so the messages conform to the corresponding counter-party’s requirements.

ModifyPartyEntry action

The ModifyPartyEntry action allows a FIX client to send a specific party role and party id in a FIX message and remaps that to an exchange-specific party role and/or party ID on the message passed through TT FIX Order Routing. For example, you can create a FIX Ruleset that remaps 452:200 to 452:205 values required for two different exchanges (e.g., ASX and CME).

The ModifyPartyEntry action also allows a FIX client to removal an entire member of a repeating group of FIX tags. For example, you can create a FIX Ruleset that removed tag 452 and automatically remove all associated tags in the repeating group (i.e., Tags 447 and 448).

The Tag field for this action defaults to Tag 452 and cannot be changed. The Conditional Value field accepts values for Tags 452 (required), 448 (optional), and 2376 (optional). The values that you enter must appear in order using a colon “:” as a delimiter (i.e., 122:1:24). Also, the number of fields in the Conditional Value field must match the number and order of the fields in the Action Argument.

To configure a ModifyPartyEntry action:

  1. Click the Rules tab and click Add.
  2. In the New FIX Rule dialog box, select TAG as the rule type and ModifyPartyEntry as the action and click OK.
  3. In the Rules Settings section, click Message to select the FIX message whose tag you want to configure.

    The default value in the Tag field is “452” and cannot be changed. These are required fields.

    Note: Ensure that the Ignore rule if a value for this tag already exists setting is not checked.

  4. In the Repeating Data section, click +Add.

  5. Click a cell in each column to configure the following:

    • Select an Exchange or use the default value “*”.
    • Set the Conditional Value received from the client. Values must be in order (122:1:24) and be separated by a “:” delimiter.
    • Set the Action to “Assign”.
    • Set the Action Argument to the remapped party role and ID values based on the conditional values.

      The tag values in Conditional Value and Action Argument fields must be separated by a colon and match the order in which FIX parses the string (i.e, 452:448:2376).

    A “Default” row is not required. If added, it contains the following: Exchange=*, Conditional=Default, Action=Pass. No other “Default” row configuration is supported.

  6. Click Save Changes.

Multiply action

To configure an multiply action for a tag:

  1. In the Rules Settings section, click Message to select the FIX message whose tag you want to configure.

  2. Enter the Tag number you want to modify.

  3. Enter the Multiplier to the tag value multiplier.

  4. Optionally, add more information about the action in the Description field.

  5. Click Save Changes.

Note: When you set a price multiplier on an inbound order message (New Order Single (D) or Order Cancel Replace (G)), TT FIX automatically divides the value for the corresponding outbound messages:

  • Order acknowledgments and fills in Execution Report (8) messages
  • Compliance drop copy New Order Single (D) or Order Cancel Replace (G) messages

Prepend action

The prepend action allows you to add a text string to the beginning of a tag value.

Postpend action

The postpend action allows you to add a text string to the end of a tag value.

Remap action

Suppose a FIX client uses a custom tag, 2000 (IsEnergy), to identify an energy contract that trades in flow instead of the contract quantity. TT FIX, however, uses tag 16464 (TradesInFlow) to indicate that information. To avoid having to rewrite the FIX client, you could use the remap action for a Security Definition (d) message to put the value from TT FIX into the tag used by the FIX client, as shown in the following example.

RemapGroup action

To configure a remap action for a tag:

  1. In the Rules Settings section, click Message to select the FIX message whose tag you want to configure.

  2. Choose whether to Ignore rule if a value for this tag already exists.

  3. Enter the Tag number whose value you want to set.

  4. Enter the Input source tag number containing the value you want put in the specified tag.

  5. In the Repeating Data section, click +Add.

  6. For each of the tags you want to remap:

    • Enter the Tag number whose value you want to set.
    • Set the Action to Remap.
    • Enter the Input source tag number containing the value to want to put in the specified tag.
  7. Optionally, add more information about the action in the Description field.

  8. Click Save Changes.

RemapPartyEntry action (now ModifyPartyEntry)

Note:: This parameter has been deprecated and replaced by ModifyPartyEntry.

TrimTimestamp action

To change tag 60 (TransactTime) microsecond-precision timestamps to millisecond-precision timestamps:

  1. In the Rules Settings section, click Message to select the FIX message whose tag you want to configure.

  2. Make sure the Ignore rule if a value for this tag already exists setting is not checked.

  3. In the Tag field, enter 60. Note that this rule only supports tag 60.

  4. Optionally, add more information about the action in the Description field.

  5. Click Save Changes.

Copying rules

To copy a message or tag rule:

  1. Select the FIX rule you want to copy, and click Copy Rule.

  2. Select the message you want to associate with the copied rule, and click Copy.

  3. Edit the new rule, if desired, and click Save Changes.

This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.