Multi-Channel FIX Connections
In the case where you do not want to add additional FIX connections to your setup, but want flow to go in to a different portfolio/books, or to be processed against different price sources we can set up a multi-channel fix connections.
A multi-channel connection is able to run multiple channels on a single FIX connection, and split the flow on that FIX connection in to the different (mirror) channels, depending on how you want the flow to be processed. This enables you to tailor the liquidity provision shown to different sets of clients on the same connection.
There are two types of mappings. "Multi Channel FIX Connection Mapper Config" and "Symbol Suffix To Channel Config".
Multi Channel FIX Connection Mappings
Allows mapping of counterparty or instrument to a different channel. The price published out on the FIX connection will still be from the primary channel for that FIX connection.
- Each entry in this type of mapping config must contain a channel ID, and can specify a Counterparty List ID, and/or Instrument List ID.
- For a given mapping entry, if an order matches the criteria (e.g. the counterparty is in the Counterparty List, and the instrument is in the Instrument List), the order will be processed against the specified channel for that criteria. If an Instrument List is not specified, then any Instrument is considered to match against that mapping. Similarly for counterparty.
- If no mappings match, the order is processed against the default channel for the FIX connection.
- Counterparty Lists and Instrument Lists are specified at reference.lists. Prefix/suffix wildcarding with the "*" character is supported on the Counterparty Lists. Updates to these lists are dynamic.
This type of channel can also be used with dynamic counterparty classifications to route counterparties to different price sources based on the quality of the flow.
Symbol Suffix Mappings
Mappings can also be done based on the underlying FIX symbols. The Symbol Suffix Mapping allows you to route symbols with a given suffix to a different channel. Symbols with that suffix will receive pricing from the specified channel (instead of the primary channel), and orders will be routed to this channel.
Symbols are mapped to instruments using the following logic:
- Slashes are removed from symbols
- The "slashless" symbol is checked against known instruments. If there is an exact match, that is the mapping used
- If no match is found in 2, the symbol string is checked to see if it starts with any of the known instrument names (ie. is it a known symbol with a suffix). The shortest matching instrument name will be used as the mapping
- If no match is found in 3, the symbol is considered an unknown instrument
Note that a Symbol List -> Channel mapping cannot be used alongside an Instrument List -> Channel mapping, as they will conflict.
Market Data for different symbols can also be fed by different channels, if desired. This can be done using the symbolListToMarketDataChannelConfig section.
NB: Where there is no Symbol List -> Channel mapping for a particular order, it will be routed to the default channel for the FIX connection (not the MD channel for that symbol)
Learn how to manage multi-channel FIX connections in mirror channels here