Most Market-making venues expect the liquidity provider to provide a  complete volume ladder per subscription, typically via MassQuote or MarketDataSnapshotFullRefresh messages.

For a given instrument, there may be multiple subscriptions, in order for the maker clients to be associated with a particular pricing "Scheme" (e.g. separate subscriptions requests for Gold, Silver, Bronze pricing in EUR/USD).

In this context a small number of Schemes are bilaterally agreed between the venue and the Maker. Each Maker client is associated with a single Scheme. The Maker uses each Scheme to provide a custom combination of currency pairs, available liquidity (no. of rungs, and associated quantities), spread, granularity of pricing and so on. Each volume ladder update is complete and self-contained.


Currenex does not operate like this. Instead a larger set of "Tiers" are agreed between the Venue and the Maker. Each Tier is essentially a single bid-offer rung (i.e. not a Ladder), for an arbitrary set of currencies. Currenex can be configured to associate each Tier with a specific quantity which will be specified in the associated subscription request. If not configured, the maker may provide whatever volume they wish, from update to update. 

Maker clients are associated with arbitrary sets of Tiers, rather than a single Scheme. This has a great deal of inherent flexibility, but means that a substantial number of tiers are required in order to exactly replicate a 'standard' model on another venue. For example to deliver 5-rung Gold, Sliver, Bronze pricing across all pairs in Currenex you would need 15 separate Tiers. 


In the context of Whisperer Classic, this means the following:

MFAPI-Out.QuoteRequestMessage.contents.mdStreamID = FIX-In.QuoteRequest.StreamReference[7533] # Tier name e.g. "PS1"

MFAPI-Out.QuoteRequestMessage.contents.quoteReqID = FIX-In.QuoteRequest.QuoteReqID[131]



FIX-Out.MassQuote.QuoteSetID[302] = MFAPI-In.MassQuote.contents.quoteReqID

FIX-Out.MassQuote.NoQuoteSets{*}.NoQuoteEntries{*}.QuoteEntryID[299] = MFAPI-In.MassQuote.contents.quotes{*}.quoteID



Unlike other venues, the Maker is thus responsible for the fan-out of their standard volume-laddered quotes across individual Currenex Tiers.



MarketFactory has considered the feasibility of offering a model to allow the Maker customer to deliver a MassQuote Ladder as per other venues:

    • Additional MarketFactory configuration would be required to map between multiple Currenex Tiers (agreed between Currenex and Maker) and custom pricing Scheme names (agreed between Maker and MarketFactory).
    • The current pass-thru of Tier names and QuoteRequest IDs from Currenex to the Maker would most likely not be possible to retain - leading to increased opacity when Support team interaction is required.
    • Whisperer must accumulate the necessary Currenex subscription requests before sending a single QuoteRequestMessage to the Maker. It cannot be guaranteed to correctly handle scenarios when there is a mismatch of configuration between Maker and Currenex, or the maker MassQuote contains more rungs than expected, and so on.

For these reasons we have, to date, elected not to implement this feature. However should a customer have a strong interest in the detail additional information is available, on request.