Eugen Soloviov
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.
Articles
Double Machine Learning: Estimating a Causal Parameter Instead of Predicting Returns
Every model on this blog so far answers 'what predicts what?'. Double ML answers 'what causes what?' — with a standard error you can defend. The partially linear model, Neyman orthogonality, purged cross-fitting on order book data, and an honest account of why a valid DML confidence interval survives exactly one pre-specified question.
Causal Forests for Heterogeneous Treatment Effects in Trading
Every backtest on this blog estimates a conditional mean. Causal forests estimate a conditional treatment effect instead — tau(x) rather than mu(x) — with honest splitting, an adaptive-kernel weight representation, and a calibration test that tells you whether the heterogeneity you found is real.
Epistemic vs Aleatoric: Measuring What a Return Model Doesn't Know
Every sizing rule on this blog treats uncertainty as one number. MC Dropout and deep ensembles split it into model ignorance and market noise — and those two deserve different position sizes.
AutoML for Systematic Trading Pipelines
Automated feature generation (tsfresh, Featuretools), budget-aware model search (FLAML's cost-frugal optimizer), and the WorldQuant formulaic alpha factory — the parts of the research pipeline this blog's search-and-overfit arc never covered, and what the arc's own results say about them.
Liquidation cascades as a trading signal: reading forced, pre-announced flow
Every leveraged position advertises the price at which it must be sold. How to build the on-chain liquidation depth chart and the CEX liquidation heatmap, model cascade dynamics as a reproduction number, and trade forced flow as a signal instead of only fearing it as a risk.
Active Uniswap v3 LPing as Market Making: Range Selection, Rebalancing, and Delta Hedging
An active v3 LP is running a market-making book with gas costs and no cancel button. Size ranges from a GARCH vol forecast, frame rebalancing as fee-gain vs realized-cost, derive the position delta from tick math and hedge it with perps, and understand JIT liquidity and the honest pitfalls of backtesting LP from on-chain data.
The MEV supply chain: PBS, MEV-Boost, and who actually captures the value
MEV stopped being a lone bot and became an assembly line: searcher, builder, relay, proposer. A technical walk through proposer-builder separation, MEV-Boost's sealed-bid block auction, why the searcher's margin gets bid away, order-flow auctions as the new moat, and how Solana's Jito model differs.
On-chain arbitrage: atomic cycles, flash loans, and the auction you have to win
Finding an on-chain arbitrage cycle is the easy half. The hard half is winning the sealed-bid priority auction against every other searcher who found the same cycle. A technical breakdown of atomicity, flash loans, backrunning, and where arb profit actually survives — including non-atomic CEX-DEX.
Impermanent Loss and LVR: the real math of LP profitability
Impermanent loss, concentrated-liquidity leverage, and loss-versus-rebalancing derived from first principles. The closed forms, the σ²/8 result, per-block markout, and the exact fee-versus-volatility condition under which an LP actually beats holding.
Inside the slice: child-order tactics between your scheduler and the exchange
Almgren-Chriss and VWAP only set slice budgets — execution is won in the tactics layer. Escalation timers, maker-taker break-even math, amend vs cancel-replace queue semantics on Binance/OKX/CME, iceberg anti-signaling, and a Python per-slice state machine.
Slippage curves, not slippage constants: cost models that survive contact with live trading
Replace constant-bps slippage with size, volatility and liquidity-dependent cost curves: the square-root law, fitting curves from TCA fills or public data, regime stress multipliers, and why your strategy leaderboard reshuffles.
Smart Order Routing in Crypto: One Order, Twelve Venues, No NBBO
Why crypto SOR is harder than equities routing: no consolidated tape, phantom liquidity, prefunded capital. A convex routing optimization with math and Python, maker-aware tactics, and per-venue markout league tables from your own TCA.