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.
Whisperer Enterprise differs from Classic in that all FX Product types [SPT, FWD, NDF, SWP, NDS, BLK, NDB, BAT] and all trading models [CLOB orders, Maker/Taker ESP, RFS & RFQ] are supported - all delivered via a single SBE API. Client sessions are managed by the relevant Feed Handler only, which facilitates direct communication between Customer and Venue for all session types. Whisperer Enterprise SBE API is not related to the Whisperer Classic SBE3 implementation and utilises a completely new SBE schema with new Server-side components. For detailed information relating to the changes, please refer to Whisperer Enterprise vs Whisperer Classic. |
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:
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).
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. |
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
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.
https://github.com/tfgm/sbedecoder
https://pypi.org/project/pysbe/
https://mechanical-sympathy.blogspot.com/ - Martin Thompson's blog
Further detail is provided in the following page(s):