The Lab

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following documents/artefacts are intended to act as a draft/proposed replacement for the material currently found in the Lab:

Whisperer

The Whisperer platform Whisperer consists of little more than a message encoding and decoding layer that presents the contents of messages to callback functions. MarketFactory has specifically limited the work performed within the API in order to minimize latency and maximize stability. Whisperer itself is composed of a series of individual processes that combine together to form a unified platform, composed of the below constituent parts:

The API Server 

The MarketFactory API (MFAPI) Server is the heart of the Whisperer platform and acts as the interface to which the customer infrastructure connects. The API Server creates the customer sessions to the Whisperer platform and permits the customer infrastructure (and the associated users) to gain access to the Trading Venue Feeds/connections for the instance. As the only interface for the customer infrastructure (using the classic implementation), the API server is also the site of the session handling elements processes associated with customer connections to Whisperer prior to feed/venue connection subscription.

DB Logger

The DBLogger applies the user authentication requirements for Whisperer, through use of a Lightweight Directory Access Protocol (LDAP)database. Ensuring that only users established within the designated customer infrastructure, listed individuals, known devices etc.. are the only users granted access to the platform and associated connections. failure to authenticate with the DBLogger will result in the customer infrastructure or user(s) being rejected. These user entries can be made directly to the LDAP database or explicitly to a static configuration.

DC Server

The Drop Copy Server (or DC Server) generates a stream of MFAPI TradeCapture Messages. MarketFactory can then allowan MFAPIClient thenallowanMFAPIClient to subscribe to these messages, similar to a traditional FIX drop copy using the MarketFactory protocol instead. This is an additional feature that can be enabled for customers, the benefits of which are described in more details below (under additional services).

FeedServers

Every Trading Venue that MarketFactory's Whisperer is able to integrate with has a FeedServer (a term used synonymously with Feed Handler) which makes the integration possible. The Feed Servers connect directly with the API server under the MFAPI classic model of operation. Customer infrastructure can connect directly to the Feed Server (for market data only) using the MarketFactory's new SBE implementation. The benefit of direct connection with the Feed Server being that messages do not have to pass through the single bottleneck of the API server (which traditionally has been the only interface available to the customer infrastructure). The more direct approach is not only aimed at reducing latency at times of high message frequency but also improves high availability by reducing dependency on access to the API server in order to obtain market data from Trading venues.

The Feed Servers also exist as a source of normalisation, by integrating venue messages, tags and fields to align with the MarketFactory message protocol resulting in a Feedserver that aims to be as closely compatible to the venue as possible, whilst maintaining a normalised library of messages to smooth out the differences between differing trading venues and their protocols.

 

Additional Services

The Whisperer platform is also supplemented with additional features provided by MarketFactory, that enhance the benefits available to customers outside of connectivity alone. These optional modules are explained below:in detail in further chapters.

 

 

Configuring Whisperer

 

Whisperer Users

Description

Historically usernames such as "ProdUser1" have sometimes been used in Whisperer configurations.  These are limiting for several reasons, not least of which is the fact that they are not globally unique across different Whisperer instances.

Usernames should follow the format mnemonic-environment-purpose-instance, where mnemonic is the three/four-letter identifier for the a customer, the environment is one of duatof UAT, or prodPROD, the purpose is one of trading, dropcopy, admin, api, and the instance is a three-digit identifier.  While this format is not the shortest, it aims to strike a balance between brevity and clarity.

User types

Whisperer system users have different roles, so a component of the username should indicate this.  Here are some examples:

 

example username

purpose name

description

bwp-prod-trading-001
trading

regular trading users, used for market data and order entry

bwp-prod-data-001
data

used for market data only, does not have trading rights

bwp-prod-dropcopy-001
dropcopy

dropcopy subscriptions, does not have trading rights

bwp-prod-admin-001
admin

administrative users, for NOP setting

bwp-prod-mm-001
mm

market-making trading

bwp-prod-api-001
api

regular usage via the API


 

Feeds Filters

MarketFactory allows Customers to request the creation of Whisperer API users as described under the 'Whisperer Users' heading. Further, these users can be restricted or enabled in their abilities to access different connections for the trading venues through the use of feeds filters. In terms of definitions, the term trading venue connection is synonymous to Feed. The Feed filter exists as a statically defined enumeration within the Whisperer configuration and can allow for the following configuration examples:

  • Users can be grouped together within a filter and provided with access to a collection of shared connections.
  • A filter can be created to permit a user access to only feeds/connections with Banks, ECN's or a combination of these liquidity providers or any other distinguishing feature a customer wishes to divide or group feeds/connections with.
  • Feeds filters can also enable the monitoring of prescribed users, a feature that is explored further in the user heading within this section.

 

TBD Example.

Eg Flow asked: 

Use multiple logins > same MF gateway IP + Port using the same venueID.

We need this model for our market data where we split out BBO and Depth and but our reference data file we build internally we need both feeds to use the same venueIDsamevenueID.