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
Signal Correlation: How Many Pairs to Monitor
Why 10 crypto pairs don't provide 10x diversification, how to calculate effective_N via correlation_factor, and how many pairs you really need to monitor for 80-90% orchestrator slot utilization.
Polars vs Pandas for Algotrading: Benchmarks on Real Data
Detailed comparison of Polars and Pandas on algotrading tasks: benchmarks for filtering, aggregation, rolling signal computations, I/O, and memory consumption. Hybrid Polars + Numba architecture for maximum backtest performance.
Plateau Analysis: How to Distinguish a Robust Optimum from Overfitting
Why finding the best strategy parameters is only half the work. How to visually and quantitatively distinguish a stable plateau from a fragile peak, and why Optuna contour plots are a mandatory step before launching an optimized strategy into production.
Coordinate Descent vs Bayesian Optimization: Which Finds Better Parameters
Why exhaustive search is impossible for 12+ parameters, how coordinate descent misses interactions, and how Optuna with a TPE sampler finds in 500 iterations what OAT cannot find in 96. Practical code examples, sampler comparison, and multi-objective optimization.
Multi-Symbol Validation: Test Your Strategy on All Pairs
Why a strategy optimized on ETHUSDT may fail on altcoins. How to properly test across pair groups (blue chips, large caps, shitcoins) and what cross-symbol robustness score to consider sufficient.
Funding Rates Kill Your Leverage: Why PnL×50x Is a Fiction
How funding rates on Binance/Bybit turn beautiful high-leverage backtest results into guaranteed losses. Formulas, recalculation of real strategies, and the maximum leverage at which funding does not eat into profits.
Cascade Strategies: Priority Execution with Fallback Filling
Finale of the 'Backtests Without Illusions' series. How to build an orchestrator from N strategies x M pairs, implement cascade mode with priority and fallback filling, choose dual_size, and why strategy portfolios cannot be backtested by summing PnL.
Backtest-live parity: why your bot trades differently from the backtest
Complete taxonomy of divergences between backtesting and live trading: from slippage and partial fills to codebase desynchronization. Architectural patterns for achieving parity, Python examples of a shared core module, and a production monitoring checklist.
Monte Carlo Bootstrap: How to Get Confidence Intervals for a Backtest in 10 Lines of Code
Why a single-point estimate from a backtest is a dangerous illusion. How Monte Carlo bootstrap in 2 seconds of computation gives you a 95% confidence interval for PnL and MaxDD, and why this is a mandatory step before launching a strategy in production.
Funding Rate Arbitrage Across Exchanges: How to Profit from Rate Differences
How funding rate arbitrage works across crypto exchanges, why rates differ on Binance, Bybit, OKX and dYdX, and how to build a monitoring and execution system to extract profit from these discrepancies.
QuestDB for Algorithmic Trading: SQL Extensions That Change the Game
Deep dive into QuestDB's time-series SQL extensions: SAMPLE BY, ASOF JOIN, HORIZON JOIN, WINDOW JOIN, LATEST ON, and real-world trading query patterns.
QuestDB for Algorithmic Trading: From Order Books to Production Architecture
Materialized views, 2D array order book analytics, and reference architecture for a QuestDB-powered algorithmic trading platform.