FX Trading Portal
Dr Cameron Mouat, CEO of Aoraki Advisors provides an overview of some common algorithmic FX trading strategies.
A REVISIT OF TWAP
Algos which trade according to a linear schedule or aim to get an average price over a time interval have been available in FX spot for at least 10 years. Every major FX broker has a version in what could be considered a commoditised product. However, these algos can be traded in a number of different ways, and so it is worth revisiting why they are so popular and features that can differentiate them.
Collectively, this class of algos are usually referred to as TWAP (Time Weighted Average Price) although other name variants exist. They are designed to target the average price over some time interval and are still one of the most popular algos used by execution traders. There are three main reasons for their popularity:
1) The algo’s trading style is conceptually straightforward and easy to understand. This is beneficial for traders who are not active algo users, those who are new to algo trading, and traders who are required to explain execution methodology within their firm.
2) The algo is useful in working orders over a time interval. Not every trade needs to be executed at a point in time, so achieving an interval average price and working an order to reduce market impact and spread costs, is achievable and desirable.
3) From a cost analysis perspective, it is reasonably easy to measure how the algo has performed against its average price benchmark and make comparisons across different executing brokers.
So how to determine one TWAP from another?
Firstly, look at standard performance measures provided by a broker or a third party. This should be based on a sample of similar trades in similar sizes and currency pairs. The TWAP benchmark is the average mid-price over the interval of the trade.
Secondly, when choosing from the menu of TWAPs available, functional considerations include:
- Will the algo execute solely at predetermined intervals by crossing a spread, or does it work passive orders to capture spread?
- Randomisation of frequency between orders sent to ECNs. Regular events have more obvious signals to microstructure sniffing algorithms to take advantage.
- If executing a less liquid currency pair, does the algo look at the market spread and is it opportunistic in capturing spread when it is narrow?
- Is the algo flexible in its scheduling based on market conditions? For example, in higher volatility markets capturing spread might become less important.
- Will the algo execute against internal liquidity and ECNs? Many brokers have different styles of passive execution into their liquidity pool including matching at mid.
- Does the algo employ any alpha in the strategy and what are the predictive statistics associated with the alpha?
A simple regular TWAP, which crosses the spread on every slice, can expect to have slippage of around half the spread to the benchmark with only a small variation from this. More advanced TWAP algos work orders both passively and aggressively against internal and ECN liquidity. They should perform better on average, although could have more variance in performance (due to having more flexibility in execution) especially in less liquid currency pairs.
If the goal is to reduce the risk of a substandard execution against the benchmark, a TWAP which closely follows the linear schedule against internal liquidity might be sufficient. Alternatively, if the average performance is more important than the variability of performance, then an algo that has a bit more flexibility and advanced order working features is likely to be a better alternative.
Trading interval
The main parameter in defining a TWAP algo is the trading interval. Trading too quickly will have more impact and trading too slowly will incur more market risk. Pre-trade analytic tools provided by banks or independent vendors are useful tools to calculate a trade-off between market impact and market risk, and to choose the trading interval.
One technique used to reduce the likelihood of impact is to add a participation parameter to the algo instruction. Participation is the rate of trading relative to an estimate of volume from ECNs. Restricting a TWAP algo to a participation rate of say 15-20% would ensure market impact is kept under control. Although this might result in the algo taking longer to execute and potentially not complete by the desired end time. In less liquid currency pairs, where liquidity can be thin and variable, this parameter becomes more important.
Although the TWAP has been around for a long time, we have seen some of the features that can differentiate between implementations of this algo. Depending on the use-case, the style of TWAP chosen could be different. These decisions are where a trader can add additional value to the execution process.
The value of VWAP
Volume Weighted Average Price (VWAP) is a common benchmark in equities or futures markets but utilised less frequently in spot FX trading. It is the best benchmark to answer the question, where has the market been trading during the execution interval? In the absence of any other trading constraints, and without significant market impact, executing close to where the market has traded is a reasonable outcome for many asset managers.
VWAP for futures and equities
Trade information in many futures and equities markets is published readily over market data feeds and it is straightforward to calculate an accurate VWAP price by taking a weighted average of eligible trades. As a result, VWAP benchmarking can be easily measured historically and in real-time, which is useful for asset managers in building models or calculating slippage versus expectation. As well as being easy to benchmark, VWAP trading, or trading proportional to market volume, has been shown to reduce market impact compared with many other execution styles. This makes VWAP an algo which is applicable when an interval average price and reduced market impact are acceptable outcomes. A specific use-case in equity markets is when trading a market neutral basket of tens or hundreds of stocks, each with different liquidity attributes. VWAP execution is able to keep the basket reasonably balanced while reducing market impact. Another use-case is found in futures markets where some products, such as corn, crude oil or Eurodollar, use a VWAP price as the daily settlement price. Executing close to this price becomes important for funds tracking settlement prices.
THE VWAP ALGO
There are two main types of algos which target VWAP, a participation VWAP and a schedule VWAP. This article will focus on schedule VWAP, but in brief the participation algo trades along with real-time volume in the market and looks to be a percentage of this activity until the trade has finished. The execution will usually be close to the VWAP price over the window it has traded. A schedule based algo, targeting VWAP over some trading interval, is the more common execution style in spot FX. Typically, the interval will be defined by the user or determined by the algo based off quantitative models. Then, to accurately trade VWAP, the algo needs to know the volume distribution over this interval. As this cannot be known in advance, a historical distribution is used to forecast expected activity. This means VWAP trading is more complex than other schedule based algos, such as Time Weighted Average Price (TWAP), which has a constant schedule.
The additional scheduling complexity of VWAP leads to greater variance in performance for the algo than that of a TWAP algo. The performance of the VWAP execution could be significantly better or significantly worse than the market VWAP if the trade schedule is a poor estimate of the actual market volume.
Volume distribution and VWAP schedule
The accuracy of the forecast for volume distribution over the trading interval directly affects the performance of a VWAP algo versus the VWAP benchmark. Although there is some benefit in the algo using micro-structure models to have discretion around the schedule, an accurate trade schedule is the most effective way to get consistently close to the VWAP benchmark. Every algo provider will have their own technique for calculating volume distributions but some things to consider include:
- Frequency that the distribution is updated, e.g. weekly, monthly, etc.
- Granularity of the distribution e.g. 15 sec, 1 min, 5 min buckets.
- Dynamic granularity around important times of day such as London 4pm fixing.
- Number of trading days that make up the distribution. Usually more than one month but less than three months and can be variable by currency pair.
- Separate distributions for known structural differences such as: day of week, end of month, bank holidays, economic events, etc.
- Whether smoothing or raw data is used for the distribution.
- Dynamic updating of the distribution shape during unexpected volume increases. Note that it is only the shape of the distribution that impacts the schedule and not the absolute levels.
- Stability of volume distributions for less liquid currency pairs.
For example, a volume distribution for EUR/USD will typically show an increase from APAC hours into Europe and then another increase during the European/ US joint session, before decreasing as Europe closes. Overlaid will be spikes due to higher liquidity points such as option expiries, fixing times, economic events, etc. It is also common for unexpected volume spikes to occur which then decay over a period of minutes. To more accurately trade VWAP, the volume profile should adapt in real-time to these events and should not be static.
To consistently get close to the VWAP benchmark, an accurate forecast of volume distribution is needed. For liquid currency pairs, where activity is reasonably consistent, the volume distributions have a relatively small variation across typical days. However, there are many currencies which exhibit large variations in liquidity and the corresponding volume distributions are also highly variable. Traders using VWAP should note that using an algo based on highly variable historical distributions can result in having unnecessary market impact. A maximum participation parameter is one way to ensure impact costs are reduced when volume distributions are variable.
When is VWAP useful in FX?
In spot FX, the dominance of traditional styles of execution such as risk-transfer or fixing execution has resulted in arrival price or spread based metrics being utilised by asset managers. Although there are venues where FX trade data is published, the absence of a comprehensive trade feed results in VWAP benchmarking being less accurate than in equities and futures. Both of these points make it unsurprising that VWAP benchmarks are less popular in FX, although there are some natural situations where VWAP execution is beneficial. To list a few examples:
- A trade with the aim to execute where other market participants have traded.
- A large order from the Asia session into the London morning session.
- A trade in an emerging market currency with the aim to reduce market impact and capture spread.
Example 1 is the classic case for VWAP trading. Of course, more opportunistic execution styles might be an option here as well, but for reducing impact or trading over a long interval, VWAP is a good choice. In the second example, a VWAP algo will distribute more volume into the higher liquidity London morning than during the Asia session. This will reduce market impact compared to other algos such as TWAP. Similarly, in the third example there is reduced impact by scheduling volume during more active trading periods and opportunities to capture spread using smart micro-structure models. In this example, due to the variability of volume distributions, a VWAP with dynamic scheduling or a maximum participation rate constraint is preferred to an algo solely reliant on static scheduling.
Wrapping up VWAP
In conclusion these examples demonstrate when VWAP is a useful trading option, but in each scenario a trader will need to consider the benefits and risks of using a VWAP for execution. Any algo executing over a time horizon has risks of adverse price movements versus more immediate execution. Practitioners should also be aware of other considerations not discussed including choosing optimal trading intervals; automatic limit prices; participation rates; anti-gaming logic; algo schedule discretion; measuring VWAP performance; influencing VWAP; and tilted and dynamic schedules. However, when used correctly VWAP has value for asset managers seeking to execute along with the market, to reduce market impact and to save on spread costs.
PASSIVE ALGO EXECUTION
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 or
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.
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 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. One bank, for example, has a passive algo which can be configured to switch to a more aggressive and opportunistic algorithm if the price moves outside of trader defined levels.
Conclusion
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.