Search arXivSearch

arXiv · 2409.06514

Limit Order Book Simulation and Trade Evaluation with $K$-Nearest-Neighbor Resampling

Abstract

In this paper, we show how $K$-nearest neighbor ($K$-NN) resampling, an off-policy evaluation method proposed in \cite{giegrich2023k}, can be applied to simulate limit order book (LOB) markets and how it can be used to evaluate and calibrate trading strategies. Using historical LOB data, we demonstrate that our simulation method is capable of recreating realistic LOB dynamics and that synthetic trading within the simulation leads to a market impact in line with the corresponding literature. Compared to other statistical LOB simulation methods, our algorithm has theoretical convergence guarantees under general conditions, does not require optimization, is easy to implement and computationally efficient. Furthermore, we show that in a benchmark comparison our method outperforms a deep learning-based algorithm for several key statistics. In the context of a LOB with pro-rata type matching, we demonstrate how our algorithm can calibrate the size of limit orders for a liquidation strategy. Finally, we describe how $K$-NN resampling can be modified for choices of higher dimensional state spaces.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Michael Giegrich, Roel Oomen, Christoph Reisinger. 2024-09-10. Limit Order Book Simulation and Trade Evaluation with $K$-Nearest-Neighbor Resampling. https://arxiv.org/abs/2409.06514

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

The Marginal Effects of Ethereum Network MEV Transaction Re-Ordering

Two MEV builders now produce nearly 80\% of Ethereum blocks. Block builders have the ability to reorder transactions on the blockchain in a way that can be harmful to participants. We estimate participants would pay in the aggregate nearly \$7.2 million per month to guarantee that they remained in the first quartile of the block. Sandwich attacks, in which a transaction is front run, are frequent, averaging more than one every two blocks. Gas fees on these transactions pay for nearly 9.6\% of the MEV payments to the validator. Reforms such as gas fee priority or private transaction pools might be helpful.

q-fin.TR

Computable Countermarkets and the Limits of Universal Trading

We explain why no trading algorithm can guarantee profit in every market. For each deterministic program that always returns a finite-precision position, we construct a fixed, algorithmically generated price path on which every active position loses and inactivity earns nothing. This holds with positive, continually changing prices, costless trading, and unlimited computation time. Separate arguments limit learning market rules, certifying future events, and establishing randomness from finite data. Useful strategies may exploit market structure, information, or compensation for risk, while benchmark performance need not imply profit. Reversing and rearranging price histories within the assumed market class provide practical stress tests, distinguishing conditional success from universal guarantees.

q-fin.TR

Adapting the Actor Model of Concurrency for High-Frequency Trading: Synchronous Message Delivery (fast_send) and a Tick-to-Book Latency Study

The actor model - state isolation, data-race freedom, deadlock resistance, and sequential single-message reasoning - has long been dismissed as unsuitable for high-frequency trading (HFT): actors seem to imply many threads, a mailbox per actor, and a heap-allocated message plus a context switch per interaction, overhead incompatible with a microsecond budget. This paper argues the dismissal is wrong for co-located actors, and supports it both analytically and with a deployed, measured implementation: kaspar-hft, an open-source C++20 framework. Four extensions adapt the model for HFT: fast_send, a synchronous delivery mechanism in which the sending thread runs the receiver's handler inline and returns the reply as a value; actor groups, which co-schedule actors on one thread behind a shared mailbox; per-actor selectable mailbox queues; and a memory pool. fast_send has receiver transparency: the handler cannot tell whether delivery was synchronous or asynchronous, or which thread runs it. A grouped synchronous chain runs on one thread, cutting scheduler context switches from O(N) to O(1), and a thread-local call-chain test catches cyclic invocation before any lock is taken. Microbenchmarks put the synchronous round trip at tens of nanoseconds. On a live CME market-data feed (ES, NQ, ZN futures), socket-to-book latency decomposes into a ~7 microsecond decode-and-book floor plus a per-message slope; the framework's own contribution is under 1% of the floor. The tail is set not by the actor machinery but by the market's non-Poisson, clustered arrival process, characterized in a companion paper. The shared-queue group also yields a production/simulation duality: the same actor code runs unchanged in live trading and deterministic backtest.

q-fin.TR