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 a arbitrary sets of Tiers. 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 done the necessary business analysis to define a model to allow the Maker customer to deliver a MassQuote Ladder as per other venues.

This model necessarily requires additional MarketFactory configuration to map between multiple Currenex Tiers (agreed between Currenex and Maker) and custom pricing Scheme names (agreed between Maker and MarketFactory).

In addition the solution is necessarily brittle - for example, Whisperer must accumulate the necessary Currenex subscription requests before sending a single QuoteRequestMessage to the Maker and cannot be guaranteed to correctly handle scenarios when there is a mismatch of configuration between Maker and Currenex.

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.