My last book is a collection of all the articles I've been writing in the past year.
Rearranged for easy reading.
All printed in a book and in one place.
Stays next to my desktop for reference.
(online articles remain fully for free, so having this book is not necessary for reading them)
The book:
The Electronic Trading Stack: Collected Field Notes on Architecture, Latency, and Execution Quality in High-Frequency and Institutional Trading
Find it on Amazon now!!
Where are you in the queue on a crypto venue?
Moallemi and Yuan, on Bank of America: "the value difference between an order placed at the very front of the queue and an order placed in a queue length of average was about 0.26 ticks on 8/9/2013 and 0.21 ticks on 8/20/2013, which is comparable to the bid-ask spread."
Coinbase: "The full channel provides real-time updates on orders and trades." From my book: "most crypto exchanges don't provide L3" is accurate, but "none do" is not.
Which of your venues sends an order ID?
More in chapter 22 of my book, The Electronic Trading Stack.
33
Electronic Trading Architect | Strategic Advisor retweeted
The second high was higher, yet CVD there was 49K shares lower than at the first.
On AMZN, between the two highs, 105K shares hit the bid and 56K lifted the offer. In VisualHFT Terminal, CVD (Cumulative Volume Delta) goes negative; price shows only the higher high.
#visualhft
Your total volume may earn a tier no single venue gives you.
From my book: "The fund is paying retail-adjacent fees on institutional volume because the volume is diluted across venues that each calculate tiers independently."
Binance: "VIP 2 ≥ 5,000,000 USD and ≥ 25 BNB 0.080% / 0.100%". "VIP 3 ≥ 20,000,000 USD and ≥ 100 BNB 0.040% / 0.060%".
"The fee-tier leak is invisible in most fund reporting because dashboards track total fees paid, not fee-tier delta."
Make each venue's distance to its next tier a line on your fee report.
More in chapter 5 of my book, The Electronic Trading Stack.
160
A sudden step in your cross-venue latency may be the venue's clock moving.
"customers have depended on the Amazon Time Sync Service to provide one millisecond clock accuracy".
AWS, on its older clock. Its newer one is "designed to deliver clock accuracy in the low double-digit microsecond range".
Once your own clock is tighter than that, alarm on any step in measured offset above the normal one-way jitter on that path.
More in chapter 11 of my book, The Electronic Trading Stack.
1
201
Paper published
Order Book Imbalance and the Direction of the Next Mid-Price Change: Evidence from Nasdaq TotalView-ITCH
This has been published with NASDAQ market data, but applies to most of the markets (market agnostic)
#nasdaq #research #marketdata
Electronic Trading Architect | Strategic Advisor retweeted
The free @CMEGroup trading sim page may be interesting to people wanting to tap into futures trading.
I usually don't recommend sim trading, but this offers tools and an environment that teaches more than just buying and selling (incl. real options chains & L2 data, risk tools).
Your trading system's primary venue goes down at 3 AM on Sunday.
My book asks: "how long until orders route to secondary venues?"
If it is "when the on-call engineer acknowledges the alert," your architecture is operator-dependent. If it is "the next order automatically routes to the secondary venue," it is deterministic.
"A system designed for 99.5% uptime was acceptable when markets closed. That uptime target allows 43.8 hours of annual downtime".
More in chapter 3 of my book, The Electronic Trading Stack.
1
243
The same reject message can mean slow down or stop.
Euronext, on throttling: "In FIX, clients receive Reject (3) messages". Breach the limit badly and you "won't be allowed to reconnect for 3 seconds".
The FIX 4.2 dictionary says a Reject "indicates a serious error that may be the result of faulty logic in either the sending or receiving application".
Coinbase Exchange: "Your FIX 5 session is disconnected if your messages exceed 200 messages per second".
Send your handler a Reject (3) with tag 373=26. Does it back off or stop?
More in chapter 24 of my book, The Electronic Trading Stack.
Databento reports OPRA's 99th percentile falling from 543.5 to 57.5 microseconds.
On the same page, Databento says "the OPRA SIP's median latency has been mostly unchanged around 19.5 to 20.5 microseconds".
The median stayed near 20 microseconds while the 99th percentile fell by about 89 percent. Does your report show it?
From my book, on desks I have seen: "that blind spot runs low single-digit basis points on burst days".
More in chapter 41 of my book, The Electronic Trading Stack.
Electronic Trading Architect | Strategic Advisor retweeted
Exchange feed drops one packet: the venue fix is discarding your order book, pulling a 5,000-level snapshot, and buffering deltas.
Takes 80ms to >1s. Quoting through is fail-open.
The buffer timeout that survives volatility without thrashing is the number worth comparing.
#hft
Electronic Trading Architect | Strategic Advisor retweeted
Seeing under the hood with microstructure analytics is how you spot hidden features, and get a clean edge in any market.
#hft #MarketResearch
25 orders for every trade. That was Vertex's book while the price fell 16 cents in 7.6 seconds.
One Trigger Engine rule in VisualHFT Terminal turns that spike into a webhook, so your system widens its tolerances on its own.
#visualhft
Electronic Trading Architect | Strategic Advisor retweeted
How Do I Design High-Frequency Trading Systems and Its Architecture.
Part 1 of 3
(this is a 2026 Update from a previous post)
The architectural principles still hold in 2026. What has shifted is the protocol landscape, the C++ memory toolkit, and a couple of LOB-layout refinements.
electronictradinghub.com/how…
When your book looks wrong, can you prove whether it was the market or your code?
The book says capture "the raw wire feed at ingress, before parsing or normalization touches it, with a hardware timestamp". A 10 Gbps feed near line rate makes on the order of 4.5 terabytes of that an hour.
Then: "Run the same binary over it. Then prove the output matches."
If you keep only the derived snapshots, "you cannot tell whether a discrepancy is a market event or a bug in your own book-building logic".
More in chapter 21 of my book, The Electronic Trading Stack.
1
2
332
At fifty trades an hour, a sixty-second signal sees less than one trade on average.
From my book: "At fifty trades an hour, a sixty-second window sees 0.83 events on average. At that rate, calibrating a parameter is guessing on noise."
Cont, Kukanov and Stoikov found "a linear relation between order flow imbalance and price changes, with a slope inversely proportional to the market depth". On a thin book, count how often your signal's window gets no input at all.
More in chapter 40 of my book, The Electronic Trading Stack.
















