Overview

Whisperer offers a single API to provide market data, trading and drop-copy functions against a wide range of foreign exchange and futures  ECNs (collectively referred to as "Trading Venues"). 

Each Trading Venue has its own combination of transport, message format and conventions for market data and order management. Whisperer normalises these differences via a common interface whilst preserving the key semantic details of the original messages.

SBE

The Whisperer Enterprise interface is founded on the Simple Binary Encoding (SBE) protocol which was commissioned by the CME in 2013, and has become the de facto successor to FIX / FAST. 

Martin Thompson of Real Logic Ltd. describes the SBE reference implementation as "a compiler that takes a message schema as input and then generates language specific stubs. The stubs are used to directly encode and decode messages from buffers. The SBE tool can also generate a binary representation of the schema that can be used for the on-the-fly decoding of messages in a dynamic environment, such as for a log viewer or network sniffer."


AS per the standard's Technical Proposal, SBE is distinguished by these characteristics:


FIX

The underpinning SBE schema definition also allows MarketFactory to offer  a vanilla FIX protocol interface. This delivers identical session and application messages as those delivered via SBE, but delivered in FIX 5.0SP2 key=value| form over a standard fix protocol transport (FIXT.1.1).


Getting Started

As with our previous SBE offering, MarketFactory provides a reference client implementation in Java, using a Zero-GC, single threaded implementation model. This is based on the the SBE reference sources and illustrates the end result of using the the Real Logic compiler against the Whisperer Enterprise SBE Schema to generate compilable codec stubs and integrating the generated code with a higher level interface that supports the desired pricing and trading workflows.

Equivalent steps may be adopted for for C++ or .NET (as preferred),



The Whisperer Enterprise implementation employs the latest Simple Binary Encoding - version="1.0 Final Standard"

This is NOT the same as that utilised for SBE3.


References

Standards

https://www.fixtrading.org/standards/sbe/ - Provides FPL SBE specification documentation.

https://www.fixtrading.org/packages/simple-binary-encoding-technical-specification-final/

https://www.fixtrading.org/standards/fix-5-0-sp-2/ - Provides FPL FIX protocol specification documentation

Implementations

Industry Standard

https://github.com/FIXTradingCommunity/fix-simple-binary-encoding/wiki/Implementations - Lists reference codec implementations.

https://github.com/real-logic/simple-binary-encoding/wiki - the most widely adopted reference implementation (and used by MarketFactory), provides details of the SBE tool.

Python (YMMV)

https://github.com/tfgm/sbedecoder

https://pypi.org/project/pysbe/

Background

https://mechanical-sympathy.blogspot.com/ - Martin Thompson's blog



Additional Material

Further detail is provided in the following page(s):