A structural arb that printed in October can be worthless by February with no change to the math. Regimes, the term structure of strategy, and crowding decide who actually gets paid, and usually it is not you.
Lead-lag edge lives in the big moves, so quantile-regress on the tail, not the mean. Then label the cause from trade size and the liquidation feed: impact follows clean, liquidations snap back, and scheduled news is a cue to widen quotes, not to trade.
The naive lead-lag trade enters B after A moves and exits on a timer. That wastes the edge. Use the slope as a forecast of B's move, exit the instant B hits it, and hold to the horizon only as a backstop.
The exchange never hands you the order book, just a snapshot plus a firehose of deltas. Fold them in order using a hashmap for O(1) edits and a sorted tree for best bid/ask. Miss one sequence number and every feature silently lies.
Market impact is the cost you simulate, not look up: walk the book level by level, slippage = (avg - mid)/mid x 1e4, then fit a·x^b. The exponent near 0.5 is the square-root law, and it lets you price sizes past the visible book.
A big maker's PnL isn't the spread, it's positional: skewing thousands of weak alphas into passive quotes. Zero cost makes half-bp signals tradeable, and ensembling them cancels noise into the bulk of the profit.
Your spread must track volatility, but how? Bucket volatility into three quantile regimes with fixed widths, or interpolate between them (linear, spline, sigmoid) so the spread glides instead of jumping at the boundary.
Crypto books break the textbook: negative spreads are data artifacts, blowouts are wipeouts from large orders clearing levels, and more resting size means a tighter spread because deep books are competitive books.
Market orders are autocorrelated, roughly AR(1): buys follow buys in clustered spikes. Don't post offers into a buy run. And beware, OLS underestimates phi, so your model clears you to requote half a run too early.
A maker repricing every few hundred milliseconds needs tick-scale volatility, not one-minute bars. Measure it three ways: std of traded prices, the book's churn rate, or the volatility of your own fair price.
Imbalance tells you how much size rests in the book. Arrival, cancellation, and update rates tell you how fast it churns, and the cancellation rate, measured right with the trade feed, is your spoofing alarm.
When New York opens, a volume surge hits crypto. From 13:30 to 15:00 UTC, if volume keeps rising, ride the sign of the first half hour to the close of the window. Track the real open, not a frozen timestamp.