Backtesting Strategies in Extremely Illiquid Markets with L3 Data
Summary
The document raises a practical backtesting problem for an automated strategy in a market with very few orders and sometimes an empty side of the book. It asks whether order-level L3 data can support a useful simulator when even one order may materially affect prices or available liquidity.
It offers no proposed simulation method, test results, or answer; it is a request for guidance rather than a completed analysis. The central limitation is that historical order-book replay may not capture how other participants would respond to a simulated order, especially when that order changes a sparse book substantially. Readers should treat it as a problem statement motivating careful market-impact and execution assumptions, not as evidence that a particular backtesting framework is reliable.
Key ideas
- Sparse books can make a single order materially affect liquidity and price.
- L3 data records order-level detail but does not by itself establish how the market would react to simulated trades.
- Backtests in very illiquid markets need assumptions about market impact and execution.
- The document poses these issues but provides no solution or empirical evidence.
Tags
Full text
# Backtesting with L3 data in very low-liquidity market # Backtesting with L3 data in very low-liquidity market I'm new to algo trading and I'm developing an automated trading strategy in a very slow and illiquid market (not your typical HFT setting). For example, it is common for there to be less than five orders on one side of the order book (not five orders per price level, five orders in total), and sometimes one side is even completely empty. I have access to L3 data of this market, but I'm wondering whether it would make sense at all to develop a backtesting framework for this market since the market impact of a single order can be significant. Can anybody shed more light on what would be an appropriate way to approach this? ## Answer by Deniz Kara (score 0) https://quant.stackexchange.com/a/85876 yes, it can still make sense to backtest it. the problem is that in a market this illiquid, execution is probably more important than the signal itself. with L3 data, i'd build a market-replay simulator rather than a conventional backtester. you want to model queue position, cancellations, partial fills, new orders arriving, market orders consuming liquidity, latency, and the impact of your own orders. i'd also run sensitivity tests on those assumptions. if the strategy only works with zero latency or optimistic queue placement, that's a warning sign. Similarly, test different order sizes. If going from 1 unit to 2-3 units destroys the edge, you've learned something about the strategy's capacity. so the question isn't really whether backtesting is possible. it's whether your execution model is realistic enough that the simulated P&L tells you anything useful. L3 data gives you a good basis for doing that, but i'd treat the result as a range of plausible outcomes rather than a precise equity curve.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.