Direct answer
Last Look in Forex can “change” during volatile markets mainly because it introduces a second decision point: after an order is sent and a price is offered, the liquidity provider may accept the order or reject it if the market moved, liquidity is no longer available, or internal conditions changed. Volatility tends to increase how often those second-check conditions occur.
Instead of assuming that an initially quoted price will always be executed, Last Look treats execution as contingent. As a result, measures like fill rate, partial fills, and effective execution timing can shift when spreads widen, price moves quickly, and available liquidity thins.
Mechanism and definition
Last Look is an execution process where a liquidity provider can review incoming client orders and then either confirm them for execution or decline them. The review typically depends on factors such as:
- Price movement between quote and review: the market can move by the time the provider performs its check.
- Order arrival timing: even small differences in time can matter when prices change quickly.
- Liquidity availability: the provider may have less depth than expected at the moment of confirmation.
To explain how volatility changes outcomes, it helps to separate two ideas:
- Stable mechanics: the existence of an accept/reject step and its dependence on timing and conditions.
- Variable conditions: what the timing and market conditions actually are during a given volatile period.
A simple, assumption-based example: assume there is a measurable delay between when a quote is offered and when the provider completes its review. If the market moves more during that delay window than in calm markets, then the provider’s “still acceptable?” test fails more often, leading to more rejects or different fill behavior. The exact threshold depends on the provider’s configuration and the venue’s implementation, so you should treat it as variable rather than universal.
Gaps and latency as the core amplifier
Two “gaps” matter:
- Network/processing latency gap: how long it takes messages to travel and be processed.
- Market-change gap: how far prices can move during that time.
During volatility, the market-change gap increases. Even if your own latency does not change, the probability of crossing the provider’s acceptance criteria can rise because the price has less time to remain within what the provider considers acceptable.
Liquidity withdrawal and order handling
Volatile markets can also trigger liquidity thinning or withdrawal. Even if a price is initially available, liquidity may be reduced before confirmation. In practice, this can show up as:
- Declines or rejects for orders that cannot be confirmed at the reviewed conditions.
- Partial fills if only part of the requested size is available.
- Queue effects where orders wait longer to be processed, increasing exposure to price movement.
Because Last Look can be tied to liquidity conditions at the moment of review, liquidity withdrawal can directly increase the likelihood of non-execution or changed execution details.
Limitations, risks, and failure modes
A material limitation is that Last Look behavior is not determined by the client’s intent alone. Outcomes depend on the provider’s rules, the trading venue’s message flow, and market state, and those vary over time.
Common failure modes during volatility include:
- Higher reject/decline rate: when price moves quickly relative to the review timing.
- Inconsistent partial fills: where remaining size may be hard to confirm due to thinning depth.
- Execution timing variability: when queue delays and processing times change.
Another risk is misunderstanding what “execution quality” means. A client might receive frequent accepts during calm markets and assume stable execution, but during volatility the combination of latency and market movement can shift results even if the underlying system is unchanged.
How to verify independently (without assuming stable outcomes)
You can verify Last Look behavior without relying on predictions by focusing on observable inputs and documented rules:
- Confirm the contractual/process description: look for how accept/reject decisions are handled (including what “still acceptable” refers to in general terms). 2. Measure timing end-to-end: compare when an order is sent versus when execution is confirmed or declined, using your own logs. 3. Track observed outcomes across regimes: collect accept/reject rates and partial fill frequencies for calm versus volatile periods, while keeping assumptions explicit. 4.