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
Validation multi-symboles : testez votre stratégie sur toutes les paires
Pourquoi une stratégie optimisée sur ETHUSDT peut échouer sur les altcoins. Comment tester correctement sur des groupes de paires (blue chips, large caps, shitcoins) et quel score de robustesse cross-symbol est jugé suffisant.
Les Funding Rates tuent votre effet de levier : pourquoi PnL×50x est une fiction
Comment les funding rates sur Binance/Bybit transforment de superbes résultats de backtest à fort levier en pertes garanties. Formules, recalcul de stratégies réelles et le levier maximal auquel le funding ne dévore pas les profits.
Stratégies en cascade : exécution prioritaire avec remplissage de secours
Final de la série 'Backtests sans illusions'. Comment construire un orchestrateur à partir de N stratégies x M paires, implémenter le mode cascade avec priorité et exécution de secours, choisir dual_size, et pourquoi les portefeuilles de stratégies ne peuvent pas être backtestés en additionnant simplement le PnL.
Parité backtest-live : pourquoi votre bot trade différemment du backtest
Taxonomie complète des divergences entre le backtesting et le trading en direct : du slippage et des exécutions partielles à la désynchronisation du code. Modèles architecturaux pour atteindre la parité, exemples Python d'un module core partagé et une checklist de monitoring en production.
Bootstrap Monte Carlo : comment obtenir des intervalles de confiance pour un backtest en 10 lignes de code
Pourquoi une estimation ponctuelle issue d'un backtest est une illusion dangereuse. Comment le bootstrap Monte Carlo, en 2 secondes de calcul, vous donne un intervalle de confiance à 95 % pour le PnL et le MaxDD, et pourquoi c'est une étape obligatoire avant de lancer une stratégie en production.
Arbitrage de Funding Rate entre Exchanges : Comment Profiter des Écarts de Taux
Comment fonctionne l'arbitrage de funding rate entre exchanges crypto, pourquoi les taux diffèrent sur Binance, Bybit, OKX et dYdX, et comment construire un système de surveillance et d'exécution pour tirer profit de ces écarts.
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.
QuestDB for Algorithmic Trading: Architecture That Speaks the Language of Markets
Deep dive into QuestDB's three-tier storage architecture — WAL, columnar storage, and Parquet on object storage — and schema design principles for algorithmic trading systems.
Communication des données dans les systèmes de trading algorithmique : un panorama technologique
Nous analysons les technologies de communication à tous les niveaux d'une plateforme de trading algorithmique : des protocoles de connectivité aux exchanges (REST, WebSocket, FIX) à l'IPC interne, aux brokers de messages et aux bases de données.
Asymétrie Perte-Profit : Les Mathématiques qui Détruisent votre Dépôt
Pourquoi perdre 50% nécessite une croissance de 100% pour se rétablir, comment le volatility drag détruit le capital même sur des marchés stagnants, et quelles formules tout trader algorithmique doit connaître pour construire sa gestion des risques.
Exécution d'Arbitrage Complexe en Rust : Des Nanosecondes aux Multi-Legs Atomiques
Comment tirer le maximum de performance de Rust pour l'exécution d'arbitrage multi-leg : io_uring, carnets d'ordres sans verrou, LMAX Disruptor, SIMD, machines à états typés et allocateurs d'arène.