Short-form notes on crypto-derivatives microstructure.
Measurement first; opinion second. These are internal notes cleaned up for publication — honest about what we looked at, what we found, and what we did not measure. Written for practitioners.
- 8 min readMicrostructureEconomicsPerpetualsMethodology
Funding, not fees: what actually kills a crypto perp cross-section
A zero-fee venue didn't resurrect our dead edges, which told us the fee was never the killer. This is the follow-up that names the thing that is. Measured across 50 names and 22 pre-registered hypotheses: funding decided every candidate that got close — and dropping it from a backtest can flip a Sharpe from +0.74 to −0.49 in either direction.
Read → - 6 min readMethodologyEngineering
The claims most likely to be wrong are the ones written in sentences
Ten defects materially affected a study I published. Seven raised no error at all — they produced a plausible wrong number. Five of those seven lived in prose, where the verification effort was not looking, because nothing recomputes a sentence.
Read → - 6 min readMethodologyReinforcement Learning
RL over a calibrated market-making baseline learns a constant, not a policy
A pre-registered reinforcement-learning experiment on my own market maker. Every discriminating prediction failed — and then folding each policy's mean action into a single constant recovered 132% of the trained policy's edge and beat it in fourteen runs of fifteen. Working paper on SSRN, with data and a verifier that re-derives every number.
Read → - 11 min readMicrostructureEconomicsMethodology
Where crossing is free, the mispricing is gone too: a strategy screen on Polymarket
A systematic screen of arbitrage, calibration, momentum and lead-lag strategies across ~2,400 Polymarket markets. Almost everything died at the taker fee — and when we found the 14% of markets where Polymarket waives that fee entirely, the mispricings were not there either.
Read → - 8 min readEngineeringMethodology
Fast enough to trade, too slow to learn: the case against Python prototypes
Latency is not the reason to avoid Python in a trading system — for crypto it is comfortably fast enough to quote. The reason is everything that happens after the strategy works: concurrency across tokens, and a parameter fit that turns hours into weeks.
Read → - 9 min readIndustryCareers
What a trading firm sells decides how it treats you
Market makers, pod platforms, land grabs and single-manager funds monetise completely different things. That choice determines who gets paid, who gets cut first, and why a quant developer is better off at a market maker than at a hedge fund.
Read → - 10 min readMethodologyEngineeringMicrostructure
The phantom queue: how our fill model lost 80% of its fills
Real order books drain by cancellation, not by trading — we measured 75 cancels per fill. A simulator that only advances queue position on trade prints therefore fills you almost exclusively when the market runs you over. Ours did, for months. Three bugs deep, one of them was our own choice of statistic.
Read → - 9 min readMethodologyEngineering
A simulator cannot find what its fill model cannot express
Queue position, cancels, latency, impact and rebate tiers: what a market-making backtest has to model, what it structurally cannot, and the accuracy you should demand before you trust a number.
Read → - 10 min readRegulationOperations
What it actually costs to trade crypto legally from the UAE
One question decides your licence, and it is not the strategy or the venue: whose money are you trading? The real numbers for Dubai, and how they compare with Singapore, Hong Kong, and the usual offshore options.
Read → - 8 min readEngineeringOptimization
Parameter attribution at scale: from a Python loop to distributed search
Each step was forced, not chosen. As the feature set grew, every tool for telling which parameters actually helped hit a wall and pushed us to the next — backtest, a Rust engine, grid search, CMA-ES, and now distributed compute. A field note on the escalation.
Read → - 7 min readMethodologyMicrostructure
The bar-coarsening discriminator: when a Sharpe of 3 is just stale closes
A reversion edge that looks clean on hourly bars and evaporates on daily bars was never reversion — it was bid-ask bounce in the close. The cheapest test we have for telling the two apart, and the candidates it has killed.
Read → - 7 min readEconomicsPerpetuals
Zero fees don't make alpha: a cost-floor experiment on a 0% perp DEX
If your edges die net of fees, a zero-fee venue should resurrect them. We ran that test on a 0% maker/taker DEX. Nothing came back — because the fee was never what killed them.
Read → - 6 min readMicrostructurePerpetuals
Mark is not mid: the oracle-gap trap in builder-perp dispersion
Two HIP-3 builders list the same underlying 44 bps apart on the mark — and 3 bps apart on the executable mid. A note on why a dispersion screen built on mark price finds opportunities that aren't there.
Read → - 7 min readExecutionMicrostructure
Markout vs rebate: what your fills actually pay
On a tick-floored book, post-fill markout dominates the maker rebate by an order of magnitude. A 21-hour, 544-fill measurement on OKX SUI-USDT perp.
Read → - 7 min readMicrostructureExecution
The cancel-race: a measurable adverse-selection mechanism
Resting quotes that fill in the last fraction of a second before a tick move are systematically toxic. A short note on detection, mitigation, and the engineering pitfall in the middle.
Read → - 6 min readExecutionMicrostructure
Regime exposure as a session-diagnostic primitive
A simple bucketing pattern that turns “the session lost money” into “the session spent 33% of its minutes in HOLD_ALL and 14% in BOTH.”
Read → - 6 min readMicrostructurePerpetuals
OKX perp funding: settled, predicted, and the field nobody reads
Three numbers that all get called "the funding rate," plus the OKX API field that costs you a working countdown if you read it wrong.
Read → - 5 min readExecution
Sample-size discipline in trading-system telemetry
Four labels — anecdote, hypothesis, directional, trustworthy — and the question of when a measurement is allowed to drive a config change.
Read → - 10 min readLatencyMicrostructure
Cross-venue L1 latency: Singapore, US-East, US-West
What a five-minute, three-region measurement across eleven venues says about cross-reference feed selection for a perp-DEX market-making operation.
Read → - 8 min readExecutionPerpetuals
Perp DEX spread feasibility: tick-floor microstructure across three venues
L1 spread measurements on Aster, GRVT, and Bluefin, and the difference between a venue where retail market making is economically possible and one where it isn't.
Read → - 7 min readEconomicsPerpetuals
Retail market making economics on modern perp DEXs
Why modern perp DEXs are structurally engineered to tax API market makers, and what that means for retail-scale operators.
Read →
Published pieces are redacted of strategy-sensitive detail.
Ask directly if you want the underlying methodology discussed.