A bracket has 9.2 quintillion outcomes and you can describe the legal ones with about 200 rules. Read them as assert statements, hand the solver a direction, and it returns one valid outcome at a time.
The cleanest prediction-market edge is geometric, not predictive. Learn convex sets, polytopes, separating hyperplanes, conjugates, and why KL beats Euclidean, and the arbitrage machinery stops looking like a wall.
Most of your cost is trading the noise in a signal, not the edge. Build 10 to 20 variants of one alpha and average: true parts survive, noise divides by N. Don't pick the best lookback, keep them all.
OLS is the best unbiased fit only under assumptions markets shatter, so on correlated alphas it hands you wild coefficients. Add an L2 or L1 penalty: biased, lower variance, steadier out of sample.
Stochastic calculus is one twist on the integral you know. Riemann weights rectangles by equal width, Riemann-Stieltjes by a function g, Itô by Brownian motion. Random weights make the integral a process Y(t).
Profiling a slow algo points at JSON decode, not your alpha. Put the simple hot path (decode, filter, forward) in Rust and keep the complex stateful brain (OMS, reporting, unwinding) in Python. Split at the JSON, forward binary, and match your backtest exactly.
Fixed-lag cross-correlation assumes the delay between two markets never moves. It does. Dynamic time warping aligns two series with a stretchable path, scoring shape similarity and recovering a lead-lag that varies through time.
Real prices are random numbers with memory, so an EMA of noise plus a cumulative sum makes a passable synthetic chart. Generate thousands to put error bars on a backtest, but never to prove edge.
Scoring strategies four ways then averaging the weights isn't rigorous: the metrics collapse to two correlated families and every input is a noisy in-sample estimate. Beat equal-weight out of sample.
You can't simulate a limit fill that never happened. Maker/taker on historical trades works only on thin venues; pure making is just prod tuning. And Avellaneda-Stoikov is risk times root holding time.
A quote stamped newer than light can travel isn't fast, your clocks disagree. Fix chrony first, then use an empirical latency floor (half the fastest ping) to catch and correct cross-venue drift.
A NATGAS daytrader legend claims a guaranteed 20-25h sell-wave cycle, 44 trades a month. Run it through the gauntlet: cause test, multiple-comparisons, permutation null, and cost arithmetic. It is folklore until proven otherwise.