By Dr Cameron Mouat

Passive algo execution

April 2021 in Traders Workshops

The class of Passive algos ranges from mechanical floating algos to those with sophisticated order working and microstructure models. They are used across most client segments, although how they are used can vary. Less experienced traders might simply be looking at an algo which captures spread in any market condition. However, more active algo traders include passive algos as a tool alongside other execution methods. This article will discuss passive algo execution and the benefits and pitfalls when using this class of algo.

Types of Passive algos

Although passive algos can be thought of as slow execution or low participation execution, we consider them to be an algo that predominantly executes by making prices.  In fact, the execution may be very quick if there are sufficient aggressors on the other side.   We define Passive algos to be those that execute by not crossing the spread and do not have a schedule or trade rate target.  These include floating algos, orders pegged to near-touch or mid, those sending resting orders to an internal order books and combinations of these.  However, the  definition excludes algos such as TWAP or VWAP and participation based algos, although it should be noted that these algos can have passive settings.

Now consider a mechanical floating algo which posts orders on ECNs.    When a single GTC passive order is placed on an ECN or exchange at the near-touch (bid for a buy order, offer for a sell order),  there are two possible outcomes:

1. the order gets filled and we have captured some spread
2. the market moves away and the order is not filled
There might also be a time constraint, so a third option is that:
3.the order is not filled but the market has not changed during the time interval.

For a floating or pegged algo,  if the order has not been filled, it must be moved to either close the spread or closer to the best bid or offer. In the case of a buy order we would move it up, and in the case of a sell order we would move it down. Again, once this has happened we are left with the three possible outcomes mentioned above.  This process can continue until we eventually get a fill.

From the initial situation of trying to capture one spread, it is evident that we can have a significantly worse result as the market continues to move away and the algos response is always a passive order following the market.  It should be noted that the distribution of performance versus initial mid is not symmetric, with a reasonable possibility of capturing the initial spread but also the possibility of executing significantly worse as the market moves away.

Execution via passive algos can be very quick if there are sufficient aggressors on the other side

Execution via passive algos can be very quick if there are sufficient aggressors on the other side

Once a fill has occurred, the passive algo then needs to choose how quickly it reloads another order.    If the order is reloaded too quickly at the same level, the algo could have an impact by preventing price improvement.   However, if it is reloaded too slowly, trading opportunities against desirable counterparties might be missed.   The optimisation of order placement, to maximise execution and minimise adverse selection and market signals, is a desirable component of a passive algo.

It is also important for passive algos to optimise liquidity and to find other market participants with natural offsetting flow.    Mechanically placing orders on multiple ECNs dominated by more informed market makers, where there is less likelihood of being filled, gives signals of your intentions to the market.   Some algos reduce signals by employing anti-gaming logic or by placing resting orders against internal bank order books.  An internal resting order could be “dark” inside the banks crossing engine or distributed as part of their price feed to other clients.  This gives the order access to a pool of market participants which might not be reached when sending orders solely to ECNs.

There is a lot more to be discussed with regards to utilising banks resting orders which will be saved for another time, but passive algos that dynamically combine internal resting orders with routing to desirable ECNs, utilises the best of both liquidity options.   Being able to customise who sees your price is essential in not getting picked off, and some algo providers give traders the functionality to choose the destination of passive orders.   For traders who have less experience in choosing these destinations, there are plenty of independent experts to help out.

Using Passive algos

If the market is stationary or spreads are wide, then crossing the spread can be costly relative to execution risk. These trading conditions occur frequently when trading less liquid currencies; currency pairs outside of main trading hours; or on bank holidays.   A good passive algo can be used to save spread and soak up available liquidity, however patience is needed as activity can be sporadic.  To be more opportunistic, a discretion component based off spread size or available liquidity can be added alongside a participation cap.

In more volatile markets, execution risk is greater with passive algos, and solely using them is more likely to lead to an unsatisfactory outcome.   The passive nature of the algo may result in adverse selection and missing good trading opportunities, and although each fill would still capture spread, it could be at a detriment to the overall execution performance. In this instance an algo that contains some aggressive component is needed.

Many traders use passive algos concurrently with other execution methods.   The passive algo soaks up liquidity and captures spread, ideally from natural opposing flow, either via internal resting orders or on ECNs.  However, at opportune times the trader will actively take additional volume by either a streaming price or a more aggressive algo.   This gives the trader additional flexibility and control.  There are also implementations of more automated algo switching.  Credit Suisse, for example, has a Float algo which can be configured to switch to a more aggressive and opportunistic algorithm like Guerrilla if the price moves outside of trader defined levels.


We have reviewed some aspects of trading passive algos, including how they can be applied successfully and how execution can go wrong.   Thankfully, pre-trade analytics have become more readily available to traders, and they can be better informed in determining if market conditions are suitable for this style of execution. This means that when the circumstances are right or when used alongside more aggressive execution styles, passive algos can play an important role in the execution toolbox.

Some features to consider with a passive algo:

  • Algo switching: If market breaks out of the current trading range switch to another algo. For example, trade as a passive algo unless market moves above a level and then trade using an opportunistic algo.
  • Automated algo switching based on market regime: Similar to algo switching above except the algo decides when to switch based off changes in market conditions.
  • Anti-Gaming: Intelligent order working to ensure that more informed traders are not picking off a mechanical algo.
  • External and Internal liquidity: Combine ECN liquidity with dark pool access matching other client orders or matching against principal pricing.
  • Choosing destinations of ECNs: An option for active algo traders to choose destinations of their passive orders.
  • Aggressive Discretion: A component which trades aggressively if the spread decreases. Potentially useful when actively executing on a less liquid currency pair. For example, lift offer if offer lowers to within 5 pips of bid.
  • Participation cap: Set a max participation cap on the execution.