Tan Phull

Whisper: A pegging and liquidity seeking algorithm from Bank of America

August 2023 in Dequantification

Tan Phull, Head FX Execution Trading Services, Bank of America tells us more about one of its most sophisticated FX algorithmic trading tools,

General overview:

What is the FX algo called?

Whisper, this algorithm aims to block match against the unique liquidity of BofA’s client franchise.

What category does it fall into?

Pegging and liquidity seeking.

What does it attempt to do?

The Whisper algorithm allows users to access our broad client franchise liquidity by letting them control the BofA price-skew externally. Matches via Streaming, RFQ and contra algos are passed directly back to the Whisper order. In simple terms, a client with EURUSD buy interest directly skew the BofA price via their own order and anonymously bid the BofA client franchise in a skew-safe manner. The strategy also allows clients to post passively on external markets and mid books (Siege, FSS, Curex, etc.). The ability to access the unique BofA client franchise makes Whisper highly effective at finding liquidity.


Structure:

What is the algo’s software architecture?

Whisper and the execution framework infrastructure are based on a Java architecture. Market access components are a mix of Java and C to leverage / maximise latency sensitivity. 

Does it use proprietary modelling?

Proprietary modelling is used within our pricing and signal engine, which underpins the Whisper strategy. When trading externally, the optimal order size is modelled based on the expected Participation Rate of the order, as well as historical and real-time market conditions.

Does it use technology such as AI or ML? If so, how?

Yes, machine learning is used in the pricing engine, our watermarking signal and Smart Order Router (SOR). In addition, a volume signal is used to determine the external placement logic, which will adjust the child order size based on realised conditions. For example, in a high-volume scenario, the logic will slice larger child orders to take advantage of the favourable conditions. In high-volatility periods, the external orders might be placed deeper in the book to benefit from price swings.

Whisper and the execution framework infrastructure are based on a Java architecture

Functional aspects:

Does the algo adapt automatically to prevailing market conditions and if so how?

The strategy adapts, depending on CCY pair and time of day, to determine appropriate size to show. If a user selects to include external markets, the strategy will adapt its placement logic real-time to volume, spread and volatility.

Does it incorporate smart order routing?

Yes, in a variety of ways. We use watermarking to determine the most appropriate skew-safe venues and appropriate sizes. Although entirely segregated, the Whisper strategy interacts with the same clients and venues as our Principal desk, so it benefits from the same analysis and protection from poor liquidity. If the external component is selected, then the passive orders are routed first based on fill probabilities and impact before dynamically updating routing based on realised fill rates. This allows the order to quickly adapt and rebalance towards the most available liquidity. This applies to both lit and mid-book liquidity.

How does it minimise market footprint?

The default setting on Whisper is to access Internal liquidity only, which is done in a way that optimizes impact vs. liquidity capture. Naturally, when accessing the external ECNs and mid-pools, there is a greater footprint cost, but we aim to minimise this using our SOR placement logic, dark order placement and rigorous analysis of the venue performance. An external venue is only included, if it has sufficiently low market impact and suitable hit rates to reduce information leakage.

What liquidity seeking and access capabilities does it deploy?

Whisper is unique in the breadth of matching potential offered across the BofA client franchise. This allows for the potential of price improvement relative to standard metrics when matching with unique flows available only within BofA. When using the “use external” feature, Whisper and the SOR will dynamically rebalance open interest across internal and external liquidity based on the real-time hit rates to ensure volume is targeted where available.  

What operational risk management does it include?

There are multiple scenarios under which execution would be halted, for example, if our Internal Matching Engine were unavailable, or if the parent order exceeded any pre-determined throughput, rejection/cancellation count thresholds.


Parameters and Controls:

What client inputs are available in the algo?

Input parameters are; CCY, Side, Qty
% through spread to skew 0-100% (0 being near side)

Use of External Liquidity: Y/N (includes ECN placement on the near side as well as mid pool). External liquidity venues can be customised to include only mid pools or specific venues.

How much real-time feedback does it provide?

When external liquidity is selected, the algo will manage the balance between internal and external placement based on real-time fill events. For the user, real-time TCA is available that can help to determine whether the urgency needs to be increased or reduced to meet the user’s execution speed requirements. Also, our experience and hands-on sales and trading team provides guidance around general market conditions and themes to assist the user through the execution process, if needed.


Capabilities and Use:

What execution styles (e.g. passive/aggressive) does the algo support?

Passive, the strategy is designed to not cross the spread thus does not remove liquidity from the market.

How can it be integrated/called with/by higher-level workflows?

Whisper is designed as a stand-alone strategy, however, we have seen it used in a systematic way by clients via their EMS, as part of their broader execution strategy.

What is the optimal scenario for its use?

The use case can be extremely varied, the skew and price can determine the expected duration. Users typically use Whisper in default setting, with an Arrival Mid benchmark in mind. It can also be used to pick levels on a longer duration strategy as an overlay.

Any other functionality worthy of note?

Internalisation, as we define it, has three meanings:
(i) matching against the client franchise in a riskless capacity;
(ii) matching against opposing client algo interest; and
(iii) filling against the e-Principal book.

In the Whisper algo, a very high proportion of fills are against I and ii.  Only in the event of small residual amount clean up does it interact with our Principal liquidity and match against risk-reducing flows.