Your FX desk is hemorrhaging P&L. Every morning, the slippage reports deliver the same brutal verdict: fills arriving 2–5 pips worse than requested, rejection rates climbing past 15%, execution quality degrading despite premium LP relationships.
The team’s diagnosis is swift and unanimous: broker manipulation. Last look abuse. Predatory LP behavior.
Six months and multiple heated negotiations later, nothing has improved. The slippage persists. The P&L bleeds.
Because the problem was never external — it was internal all along.
This is the story of FX’s most expensive diagnostic error: mistaking internal routing failures for external provider misconduct. It’s a multi-million dollar mistake that reveals a fundamental truth about modern electronic trading — without proper instrumentation, you cannot distinguish between market forces and system flaws. And that blindness is extraordinarily costly.
The Convenient Scapegoat: Understanding Last Look
Before diagnosing internal failures, we must understand what external “last look” practices actually entail.
Last look is a controversial but legitimate risk management mechanism where liquidity providers can evaluate — and potentially reject — client orders after receiving them but before execution. The practice emerged as banks’ defense against toxic flow and stale prices in the fragmented, ultra-fast FX market.
The mechanics: When your desk sends an order to an LP quoting EUR/USD at 1.0850, the LP doesn’t immediately execute. Instead, they hold the order for a brief window (typically 0–100ms, though some extend to 2+ seconds) to verify the price hasn’t moved, check credit limits, and assess whether accepting the trade poses adverse selection risk.
During this hold time, if the market moves against the LP or the order appears predatory, they reject it. Your desk then faces two costs: the rejection itself (forcing you to re-route) and the adverse market movement that occurred during the hold period.
The asymmetry is documented: Research by independent FX data providers found that profitable trades for LPs get accepted in under 10ms, while rejected trades can take 100–2,400ms to process (The Full FX, 2021). By the time your desk learns of the rejection, the market has moved further away from the desired price.
The Measurable Cost
For a medium-sized desk executing $2B notional daily with a 15% rejection rate and 2 pip average slippage on rejects:
Daily cost: $600,000
Annual cost: $150,000,000
That’s substantial. It’s also quantifiable, transparent, and legitimate when properly measured through Transaction Cost Analysis.
Critical distinction: If your last look costs are stable, symmetric, and consistent with industry benchmarks, they’re not your problem.
The Hidden Killer: Internal Routing Logic Failures
Now we examine the costlier culprit — internal stack failures that systematically generate slippage before orders ever reach liquidity providers.
Failure Mode 1: Order Book Imbalance Blindness
Most trading desks route based on a deceptively simple criterion: best displayed price from their aggregated view. See EUR/USD at 1.0850 across three venues? Route to whichever shows that price first.
This approach is fatally naive.
Academic research on limit order book dynamics (Bohn, 2011; Roşu, 2013) reveals that slippage correlates directly with supply-demand imbalances — not just top-of-book prices. When you route based solely on displayed price, you’re blind to the pressure beneath the surface.
Consider three venues all quoting EUR/USD at 1.0850:
Venue A: 50 lots at 1.0850, but massive bid-side depth (1,000 lots below). Book imbalance: +90% bid-heavy. Market about to rally.
Venue B: 200 lots at 1.0850, neutral depth on both sides. Book imbalance: 0%. Stable.
Venue C: 500 lots at 1.0850, but deep ask-side liquidity (2,000 lots above). Book imbalance: -75% ask-heavy. Market about to drop.
A routing engine that only sees “1.0850” will treat these identically. But send a 100-lot sell order to Venue A, and you’ll get partial fills followed by immediate adverse movement as the bid-heavy book consumes your offer and rallies. Your average fill price deteriorates. You experience negative slippage — not from last look, but from routing into an imbalanced book your system couldn’t detect.
Coalition Greenwich’s 2024 research on FX execution quality found that nearly half of buy-side firms prioritize execution management and analytics investment, yet many still lack order book depth analysis in their routing logic. The result: systematic adverse selection masquerading as LP misconduct.
Failure Mode 2: Aggregation Latency (Death by Milliseconds)
The second pathology is more insidious: quote staleness in multi-venue aggregation.
When your desk connects to five liquidity sources simultaneously, you’re not seeing a unified, instantaneous market. You’re seeing five asynchronous data streams arriving at different times:
Venue 1: Quote arrives at T+0ms
Venue 2: Quote arrives at T+3ms
Venue 3: Quote arrives at T+8ms
Venue 4: Quote arrives at T+12ms
Venue 5: Quote arrives at T+18ms
Your aggregation engine assembles the “best price” at T+18ms — but that view includes quotes that are now 18 milliseconds stale. In volatile FX markets, where prices update every few milliseconds, you’re routing orders to phantom liquidity that no longer exists.
A 2012 academic study on FX order book aggregation (Shao & Frank) documented this precise failure mode: “If latency is high, delayed FX rates streaming from trading venues or banks become less competitive, and subsequent orders may be rejected because market pricing has changed during transmission time.”
By the time your order arrives at the venue (T+20ms+ including routing latency), those “best prices” have vanished. The LP correctly rejects your order as attempting to trade on stale quotes. Your desk sees this as “last look abuse.” The LP sees it as protection against toxic flow. Neither is wrong — but the root cause is your aggregation latency.
The Math of Disappearing Liquidity
Quote arrival spread: 18ms
Price update frequency in liquid pairs: 2–5ms
Probability that T+0ms quote is still valid at T+18ms: ~15%
You’re routing to mirages 85% of the time.
Failure Mode 3: The Fragmentation Penalty (Liquidity That Isn’t There)
The final failure mode: liquidity mirage in multi-venue environments.
Modern FX aggregation platforms display impressive order books — dozens of LPs, thousands of lots of displayed liquidity, tight spreads across multiple venues. Your trader sees EUR/USD with 5,000 lots of total depth and assumes they can sweep the book with a 500-lot market order.
What happens next is systematic disappointment:
Order splits across 5 venues
Venue 1: 100 lots filled, 0 rejected (hit their quote within tolerance)
Venue 2: 80 lots filled, 20 rejected (latency, price moved)
Venue 3: 50 lots filled, 50 rejected (last look, volatile market)
Venue 4: 100 lots filled, 0 rejected
Venue 5: 70 lots filled, 30 rejected
Total: 400 lots filled, 100 lots rejected. You got 80% of desired size at an average price 3 pips worse than expected. Your desk spent the next month negotiating with the three LPs who rejected portions, accusing them of systematic last look abuse.
But consider the alternative explanation: Your 500-lot sweep order arrived at five venues nearly simultaneously (because you routed in parallel). This telegraphed your intent to the market. High-frequency traders on those venues immediately adjusted their quotes. LPs saw a large, fast order during volatile conditions and applied legitimate risk controls. The “displayed liquidity” evaporated because your own order perturbed the market through information leakage.
A 2018 analysis of FX aggregation and execution (Bernegger) noted: “Liquidity mirage — connecting to LPs and ECNs results in a great order book with plenty of bids and offers, but attempting to sweep down the book reveals that much liquidity evaporates due to last look rejections or stale quotes. The bigger the sweep, the higher the chance for partial fills.”
This isn’t LP manipulation. It’s physics.
The Diagnostic Process: Attribution Is Everything
Here’s where most desks fail catastrophically: distinguishing internal from external costs.
Without proper instrumentation, a desk experiencing 3 bps of average slippage cannot determine whether it stems from:
Legitimate last look (external, possibly negotiable)
Quote aggregation lag (internal, fixable)
Order book imbalance routing (internal, fixable)
Market impact from poor order sizing (internal, fixable)
Genuine market volatility (external, unavoidable)
The inability to attribute leads to the multi-million dollar misdiagnosis.
Step 1: Comprehensive Timestamp Capture
The Bank for International Settlements’ 2020 study on FX execution algorithms emphasized: “Detailed TCA requires accurate timestamps throughout the trade lifecycle. These can then be measured against granular, high-frequency price data for analysis of price slippage, market impact, and ratio of rejected trades.”
You need timestamps at every stage:
T0: Order initiation (trader decision)
T1: Aggregator assembly (when your system built the consolidated view)
T2: Routing decision (which venue selected)
T3: LP receipt (when the provider received your order)
T4: LP response (accept/reject decision)
T5: Fill confirmation (final execution)
Most desks only track T0 and T5. The money disappears between T1-T4.
A 2024 guide on FX best execution (Laven Partners) specified: “Asset Managers must time-stamp transactions as they leave their environment to ascertain the arrival price. The aim is that clients should have full control of the time reference used to measure cost. Control of the timestamp should not be passed to the bank or broker.”
Step 2: Forensic Transaction Cost Analysis
Modern TCA goes far beyond “average slippage per trade.” Proper execution quality analysis requires:
Reject Rate by Venue: If one LP shows 40% rejects while others show 8%, that’s potentially an external issue. If all LPs show elevated rejects on your large sweep orders, that’s internal aggregation lag telegraphing your orders to the market.
Slippage by Order Size: External last look should show relatively consistent slippage regardless of order size. Internal routing failures show exponential slippage increase with size, because your logic fails to account for order book depth.
Slippage by Market Regime: External issues appear semi-randomly. Internal latency issues worsen systematically during volatility spikes when message rates increase and your aggregation infrastructure struggles.
Fill Time Asymmetry: Industry analysis of last look windows (The Full FX, 2021) found that response times vary from zero to 2,400 milliseconds, with a troubling pattern: accepted trades process in under 10ms while rejected trades take 100–2,400ms. If your accepted trades are sub-10ms but rejects are 100+ms, and if your cost of rejects doesn’t balance out over monthly periods, you have legitimate grounds to challenge LP behavior.
But here’s the critical question: Do all your LPs show this pattern, or just one or two? If it’s universal, the common factor is your internal infrastructure.
Step 3: The Smoke Test
Execute this controlled experiment:
Route 100 identical 5-lot orders to your “best price” over a 10-minute window during liquid market hours. Use small sizes to eliminate market impact and capacity issues.
External problem signature: Roughly consistent fill quality with some statistical variation. Accept/reject rates and slippage align with LP disclosure statements.
Internal problem signature: Wildly varying fills despite routing to the “same price.” Later orders in the sequence get progressively worse fills as your system’s staleness accumulates or your flow impacts the market through information leakage.
Run this test monthly. If fill quality degrades as market volatility increases (higher message rates overwhelming your stack), you have an internal infrastructure capacity problem.
The Fix: Routing Logic That Actually Works
Once you’ve correctly diagnosed internal routing failure, solutions become technical rather than negotiated:
Fix 1: Implement LOB-Aware Routing
Your router must consume depth data, not just top-of-book. Implement order book imbalance scoring:
ImbalanceScore = (BidVolume - AskVolume) / (BidVolume + AskVolume)Weight routing decisions by:
Price (obvious)
Displayed depth at that price level
Book imbalance (directional pressure)
Historical fill quality at that venue during similar conditions
A 2021 analysis of order book dynamics found: “Analyzing the order book helps traders understand supply and demand for an asset, enabling more informed trading decisions — for example, if many sell orders exist at a particular price level, traders should set limit buy orders slightly below that level to avoid adverse fills.”
Fix 2: Latency-Adjusted Aggregation
Implement aggressive quote aging:
Discard any quote >5ms old before making routing decisions
Weight fresher quotes more heavily in aggregation
Monitor per-venue latency in real-time
Dynamically exclude high-latency feeds during network congestion
Industry research on FX aggregation (smartTrade, 2022) recommended: “To achieve the most accurate market view, desks need ultra-low latency connectivity to liquidity providers and integrated rate cleansing functionality, with aggregation systems requiring segmentation into multiple liquidity pools.”
Fix 3: Adaptive Order Sizing
Analysis of slippage in fragmented markets found: “Large orders are more prone to slippage risks due to increased execution latency and need to absorb more liquidity. Spreading execution over time and across exchanges using algorithms like Volume Participation and Time-Weighted Average Price helps mitigate slippage risks.”
Break parent orders into child orders sized according to:
Actual available depth (not displayed liquidity)
Historical fill rates at each venue for that size
Current market volatility (smaller slices during uncertainty)
Time-based distribution to avoid clustering
Fix 4: Real-Time Execution Quality Feedback
Build performance measurement into the routing logic itself.
Track fill quality metrics by:
Venue
Time of day
Currency pair
Order characteristics
Market volatility regime
Then adapt routing priorities dynamically based on recent performance. If a venue that historically provided excellent execution shows degrading fill quality in the current session, reduce its routing priority until performance normalizes.
Industry observers note that machine learning is being incorporated into TCA models for predictive analytics and adaptive algorithms (A-Team Group, 2025). The future of execution quality isn’t static rules — it’s continuous learning systems that adjust to changing market conditions.
The Cost of Misdiagnosis
Let’s quantify the actual financial damage.
Scenario: Medium-sized FX desk executing $2B notional per day with 3 bps average slippage:
Daily slippage cost: $600,000
Annual slippage cost: $150,000,000
Hypothesis: Half of this slippage stems from internal routing failures (aggregation latency, LOB-blind routing, poor order sizing), not external LP behavior.
Reality check: If 1.5 bps of your 3 bps slippage is internally generated:
$75M per year lost to fixable internal problems
6 months spent negotiating with LPs = $37.5M wasted while the real issue persists
But direct P&L impact is only part of the cost. Add:
Engineering waste: Your development team spent 6 months building LP performance scorecards, negotiation frameworks, and provider comparison tools — solving the wrong problem.
Relationship damage: Unfounded accusations of last look abuse strain LP relationships. When you later need credit extensions, priority service during crises, or bespoke liquidity solutions, you’ve burned trust capital.
Regulatory risk: Poor execution quality that you’ve publicly attributed to LP misconduct creates an audit trail. If regulators investigate and discover the root cause was your internal infrastructure, you face potential best execution violations.
Trader morale: Your desk believes they’re victims of systematic LP cheating. This narrative destroys trust, increases turnover, and creates a culture of learned helplessness.
The true cost exceeds $100M — for a problem that sophisticated instrumentation could diagnose in weeks.
Key Lessons: How Money Was Lost
1. Attribution failure is the root cause. Without comprehensive timestamp capture, proper TCA, and order book analysis, desks cannot distinguish external LP behavior from internal stack failures. This diagnostic blindness leads directly to multi-million dollar misallocations of resources.
2. Aggregation latency is insidious. Even milliseconds of delay in consolidating quotes from multiple venues creates phantom liquidity — prices that appear executable but vanish by order arrival. In the fragmented FX market where major pairs update every 2–5ms, an 18ms aggregation lag makes 85% of your displayed “best prices” stale.
3. Price alone is insufficient for routing. Systems that route based only on top-of-book prices are blind to order book depth and directional pressure. This sends flow into imbalanced markets, generating systematic adverse selection that appears as “slippage” but is actually market impact from poor venue selection.
4. The cost of being wrong. A medium desk with $2B daily volume and 3 bps slippage spends $150M annually on execution costs. If half stems from internal routing failures, six months of blaming LPs wastes $37.5M while the real problem compounds. Add engineering waste, relationship damage, and regulatory risk — the total exceeds $100M.
5. Blame is a luxury desks cannot afford. Last look exists. It has costs. Those costs are quantifiable and legitimate when properly measured. But treating external practices as the default explanation for poor execution quality — without rigorous internal forensics first — is financial malpractice.
The Principle: Trust, But Verify Your Stack
The FX market is complex, fragmented, and millisecond-sensitive. Execution quality depends on dozens of factors — LP behavior, market microstructure, your internal infrastructure, order characteristics, and pure chance.
When slippage exceeds expectations, the intellectually honest response is: “I don’t know which factor is dominant. Let me instrument to find out.”
The expensive response is: “It must be LP manipulation.”
Coalition Greenwich’s research (2024) found that asset managers have embraced this principle, prioritizing execution quality measurement and using data to evaluate counterparties based on FX service itself rather than bundled relationships. They’ve cut costs substantially through this analytical rigor.
Corporate treasuries, by contrast, lag in adoption. Many still view FX execution as an ancillary banking service rather than a distinct activity requiring specialized measurement. The cost: persistent execution quality problems that remain undiagnosed because the organizations lack instrumentation to identify root causes.
The difference between these two approaches — measured in millions annually — comes down to diagnostic discipline.
The Bottom Line
In FX execution, the enemy is usually inside the house. Order book imbalance blindness, aggregation latency, and fragmentation-induced liquidity mirages systematically generate slippage that desks misattribute to external LP behavior.
Last look is real. It costs money. But it’s transparent when properly analyzed.
What’s not transparent — without sophisticated instrumentation — is the slow hemorrhaging of P&L through internal routing logic that trades on stale prices, routes to imbalanced books, and telegraphs intent through poorly-sized sweep orders.
Build the instrumentation. Run the forensics. Fix the internal problems first.
Because spending six months in tense negotiations with LPs while your own stack bleeds millions is a diagnostic failure you cannot afford.
Sources & Further Reading
Last Look Practices & Regulation:
FX Markets, “Why last look needs a new look” (May 2024)
Finance Feeds, “End of Last Look Execution?” (August 2019)
The Full FX, “A Glimpse Inside the Strange World of Last Look” (August 2021)
FlexTrade, “A Hard Look at Last Look in Foreign Exchange” (September 2023)
Order Book Dynamics & Slippage:
Bohn, S., “The Slippage Paradox” (arXiv:1103.2214, 2011)
Roşu, I., “Trade arrival dynamics and quote imbalance in a limit order book” (arXiv:1312.0514, 2013)
Kaiko, “New Order Book Endpoints: Market Depth, Slippage, Order Book Aggregations” (December 2021)
FX Aggregation & Routing:
Shao, B. & Frank, G., “Aggregation of an FX order book based on complex event processing” (2012)
smartTrade, “FX Aggregation — Access to better liquidity and execution” (November 2022)
Bernegger, U., “FX Aggregation and Execution: Liquidity Mirage, Last Look, HFT and Latency” (August 2018)
Shift Markets, “Latency, Liquidity & Reliability in Exchange Infrastructure” (May 2025)
Transaction Cost Analysis & Execution Quality:
Bank for International Settlements, “FX execution algorithms and market functioning” (Markets Committee, 2020)
Coalition Greenwich, “FX Traders Invest in Automation, Data in Search of Best Execution” (December 2024)
Euromoney, “FX: The rise of quality execution analysis” (November 2023)
ION Group, “Next generation FX analytics: Bringing transparency to FX execution” (April 2024)
Laven Partners, “A Guide to FX Best Execution” (February 2024)
ACA Group, “Transaction Cost Analysis Solution” (July 2025)
A-Team Group, “The Top Transaction Cost Analysis Solutions” (July 2025)
Smart Order Routing Technology:
A-Team Group, “The Top Smart Order Routing Technologies” (July 2025)
Wikipedia, “Smart Order Routing” (May 2025)
Quod Financial, “Smart Order Routing (SOR)” (January 2025)
Execution Data & Timestamps:
LSEG, “Revolutionising FX Price Transparency with Tick History”
FXCM, “Execution Transparency” (2024 data)
26 Degrees Global Markets, “Best Execution Metrics For Brokers” (June 2024)
Market Structure:
e-Forex, “A Look Ahead at what we can expect with e-FX in 2024” (January 2024)
ION Group, “Examining the importance of execution quality for corporate FX trading desks” (October 2024)
Exegy, “From Speed to Scale: Rethinking Ultra-Low Latency Trading Infrastructure” (September 2025)
This article is part of a series examining real-world trading failures and the quantitative principles behind them. Each piece focuses on a single question: How was money made or lost — and what can we learn from it?
For more deep-dives into quantitative finance, algorithmic trading, and market microstructure, follow on Medium and LinkedIn.
Cover photograph: Amin, CC BY-SA 4.0, via Wikimedia Commons.



