A Glimpse Inside the Strange World of Last Look
Posted by Colin Lambert. Last updated: August 18, 2021
Along with pre-hedging, last look has been one of the perennial challenges for the Global FX Committee as it seeks to maintain the FX Global Code, and data obtained by The Full FX only serves to highlight what a strange and bizarre landscape it can be to navigate.
The GFXC is expected to publish a guidance paper on last look in the coming weeks, unlike that on pre-hedging, which was released earlier this month, the last look guidance had to go back to regional FX committees for further feedback. The two biggest challenges that are yet to be fully solved involve latency buffering, or additional hold times, and asymmetric response times, where a liquidity provider, with the same technology of course, responds at a different pace to trade accepts than rejects.
In some ways, the arguments about latency buffering are a reflection of the changing nature of the market. Some LPs argue that certain flow is toxic, and to be able to handle it, they need a longer hold time to assess market conditions. Critics of this strategy often label it a “free option”, in that the LP has multiple market updates in which to take advantage of any move in the market that enables it to profit from the trade; or, of course, reject it if no such thing happens.
In the past this flow would have seen wider spreads from LPs as a defence measure, in today’s FX market there is something of a spread and turnover obsession that means instead of widening out – which advocates for no latency buffering argue is what should happen – longer hold times are the defence mechanism of choice for many.
There are several LPs, however, who do not subscribe to latency buffering, for example JP Morgan recently told The Full FX, “There is a misconception that additional hold time allows liquidity providers to provide tighter spreads, and the implication is that by not having the delay on last look spreads will be wider, but we disagree with this view. We don’t do hold times and we believe our spreads are some of the most competitive for our clients.”
Equally, XTX Markets published a paper in May that argued additional hold times were an “invisible tax” on clients that distorted their true cost of execution.
When it comes to asymmetric hold times, the arguments are similar – those against the practice argue that a fair and balanced approach will be to treat all orders in the same fashion, while proponents often argue they are “giving the trade more time to come into court”, so they can accept it.
The challenge for proponents of latency buffering and asymmetricity is that in both circumstances, the key to accepting a trade is that it is profitable for the LP – this means, in the case of longer reject responses, that a client will have to wait longer to know they haven’t done the trade, and by the nature of the process, the market will be further away from them.
Solving the problem is actually fairly simple, leverage one of the many services available that can calculate the cost of rejects – as critics of buffering and asymmetricity argue, those using the strategies are relying upon their clients not bothering to actually find out how much rejects actually cost them.
While the FX Global Code encourages transparency and fairness over the use of last look, there are still people who believe it should offer more clarity over what clients should do. For example the existing Code states:
It is good practice for Market Participants to be available to engage in a dialogue with Clients regarding how their trade requests have been handled, including the appropriate treatment of information associated with those trade requests. Such dialogue could include metrics that facilitate transparency around the pricing and execution of the Client’s trade requests and assist a Client in evaluating the handling of its trade requests in order to evaluate whether the execution methodology continues to meet its needs over time.
There are those that believe best practice should explicitly state that clients should assess the cost of rejects over a period of time – if they balance out over the course of a month for example, then carty on regardless. More pointedly, however, if they (as is often the case) do not, then they should hold their LPs to account.
It is fair to observe that some clients do not mind high reject rates because it suits their trading style, but as has been pointed out previously in these pages, this often leads to an imbalance in the landscape for LPs where some are acting under significantly different internal rules to others.
Sizing Up the Problem
So, how confusing is the landscape of last look? ‘Very’ is the answer if data obtained by The Full FX is anything to go by. The data looks at a liquidity consumer’s landscape over a month in EUR/USD on a top tier platform, across 25 LPs, which will immediately tweak some antennas out there to suggest it is toxic flow. That is unknown, however trades are generally executed via GUI, so the trading strategy is unlikely to be predicated on speed.
The breadth of response times across the 25 LPs is simply staggering, from zero to, amazingly in this world, almost 2.4 seconds! Indeed the LP in question has an average acceptance time of 21.5 milliseconds and a reject of the aforementioned almost 2.4 seconds – just the 110 times longer to reject a trade, and 95 market data updates at a 25ms pulse and a staggering 476 updates at the 5ms pulse.
As noted, proponents of the longer time to reject say they are giving the trade more opportunity to be accepted, however this does bring into question one of the basic tenets of the FX Global Code – the use of trade information in the last look window. It is hard to credit that a trade in a dealer’s system for 2.4 seconds without being actioned is ignored or makes no part of the dealer’s decision making in the broader market. For instance, are these LPs with longer reject times, who are “waiting for the market”, skewing to help the client get a fill? As the Code observes, this signalling of intent to the wider market is unacceptable practice because it is to the detriment of the client.
The breadth of response times across the 25 LPs is simply staggering, from zero to, amazingly in this world, almost 2.4 seconds!
Going back to the data set from the liquidity consumer, across the 25 LPs, 10 have accept response times under 10ms, whilst 13 have reject response rates under 10ms. Interestingly, five of the LPs have zero reject times, whilst only one has it for accepting a trade. In all, seven of the 25 LPs have longer reject response rates than acceptance. Two of them are under 20ms difference, however – aside from the LP with the 110+ times longer response – one is just over 100ms (and almost three times) longer, another is around the 180ms mark and the remaining two are around 220 and 250ms longer to reject a trade.
Overall, the liquidity consumer has an average accept response time of a fraction under 49ms – enough for nine market updates from a primary data feed at 5ms intervals – and an average reject response time of just over 169ms. The longest response times are 394.5ms for accept and 657.5ms for a reject – both, intriguingly, from the same LP. Even taking into account a slower market data feed of 25ms, that’s 26 market updates before a decision to reject is taken.
Problem Solving
The GFXC released drafts of proposed disclosure cover sheets earlier this year and within that proposal was the requirement for the LP to explicitly state whether or not it uses asymmetric hold times as part of its last look procedures. It also suggests the LP describes the circumstances if they do apply asymmetric hold times.
The template also has a section for the LP’s maximum and minimum hold times, as well as a box for LPs to describes the circumstances in which hold times are applied.
This is a major step forward in raising awareness of the potential impact of delayed rejected trades, as well as which LPs are streaming what some might term an “honest” price – although rejects are a fact of the modern FX life, some liquidity consumers spoken to by The Full FX in the past have suggested some LPs maintain a top-of-book position only by reject rates in the 80-90% range.
So LPs will be pushed to be more open about their application of last look, however there are some who feel, again, that more needs to be done to address the issue – specifically, the language needs to be tightened up so that the LP discloses their minimum and maximum hold time to a specific client, along with their broader average response times across the franchise. This will, proponents of this approach argue, give clients a better picture of how they are being treated by an LP and also, into the bargain, allow a more open and honest discussion about the real value of the client flow to the LP – if indeed value exists.
In the case of the liquidity consumer’s data discussed earlier, it is notable that if that market participant selected only LPs who were under 10ms, they would still have an aggregated liquidity pool from 10 LPs – a number seen as more than ample by many participants. Indeed, by selecting these 10 LPs in a pool, the consumer would have an average acceptance time of 3.7ms and an average reject time of 1.8ms – significantly better than the averages they currently see.
To see such a broad range of response times across a liquidity pool is somewhat staggering, but not really surprising. Data has previously been made available to this writer indicating similar behaviour on a different platform – although nowhere near on the scale of this latest data set.
There is a problem, however, when the liquidity consumer rewards LPs with inordinate hold times, with more trades.
It would appear easy to solve the problem, by cutting the pool down, as previously mentioned, or holding LPs to account by assessing the cost of rejects, and using them as leverage to get what should be a better service.
But herein lies the problem, and for those that believe last look is unimportant as an issue, or solved, this is all the ammunition they require. In the data set analysed here, the number one LP in terms of number of trades saw almost five times as many as the next most successful, and had an average acceptance time of 38.7ms and an average reject of 260.9ms. The second most successful was the aforementioned LP with 394.5 and 657.5ms times (and to satisfy the inevitable question, the 2.4 second LP is 15th).
Proponents of a more level last look playing field will be pleased to hear that the third most successful LP had turnaround times of 1.8ms and zero hold time, but their optimism would be dampened by the fact that an LP with round-trip times of 4ms and zero, comes in stone dead last in terms of number of trades. Of course, this could be because the LP in question is a specialist player and does not compete for a lot of trades.
So therein lies the problem, a liquidity consumer rewarding LPs who take a reasonably lengthy amount of time to accept trades – and a staggeringly long time to reject them. They are provided with the data by the platform – and some would argue the platform itself should police such outliers as highlighted here – but apparently choose to do little or nothing with it. This highlights the need for the buy side to become more engaged with the FX Global Code – although of course, the Code has itself to adjust to offer them sensible best practice guidelines, like ‘check your cost of rejects’.
Either way, this one consumer’s experience reinforces the complexity and challenge around last look, not least that so many different behaviours can, currently at least, be seen as acceptable. The hope is that the steps about to be taken by the Global Foreign Exchange Committee around last look, go a long way to solving the issue, and ensuring a fair and level landscape for liquidity consumers and liquidity providers.