Eugen Soloviov

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

A decisão maker-taker: faixas de taxas, rebates e o custo real de cruzar o spread

A decisão maker-taker: faixas de taxas, rebates e o custo real de cruzar o spread

Maker vs taker é uma operação de seleção adversa disfarçada de tabela de taxas. Matemática do break-even via Glosten-Milgrom, faixas de taxas reais em cripto e descontos por token, história da mineração de rebates, valor do rebate dependente da fila, e como modelar taxas escalonadas em um backtest.

Implementation shortfall e TCA caseiro: medindo o que a execução realmente custa

Implementation shortfall e TCA caseiro: medindo o que a execução realmente custa

O implementation shortfall de Perold transformado em um pipeline de TCA funcional para bots de cripto: decomposição em torno do preço de chegada, curvas de markout em t+1s/10s/60s, ~200 linhas de Python sobre suas próprias execuções, e realimentando os resultados no modelo de custos do seu backtest.

Liquidações on-chain: a mecânica da Aave e da Compound, e o negócio dos bots ao redor delas

Liquidações on-chain: a mecânica da Aave e da Compound, e o negócio dos bots ao redor delas

Como funcionam de fato as liquidações na Aave v3 e na Compound: a matemática do health factor, close factors, liquidation bonuses, os gatilhos do oráculo Chainlink, e o que é preciso para rodar um bot de liquidação com flash loan em 2026.

Uniswap v3 para Quants: Liquidez Concentrada e Matemática de Ticks a Partir dos Princípios Fundamentais

Uniswap v3 para Quants: Liquidez Concentrada e Matemática de Ticks a Partir dos Princípios Fundamentais

Como o Uniswap v3 realmente funciona por baixo do capô: reservas virtuais, liquidez L, sqrtPriceX96, matemática de ticks, feeGrowthInside, e por que uma posição de LP é um payoff de venda de volatilidade. Com fórmulas exatas e um exemplo numérico resolvido.

Anatomia do MEV: sandwiches, frontrunning e a floresta escura do mempool

Anatomia do MEV: sandwiches, frontrunning e a floresta escura do mempool

Todo swap que você envia para um RPC público é uma ordem limitada visível que ninguém é obrigado a honrar. Uma análise técnica de como funciona a extração de MEV: ordenação no mempool, matemática do sandwich no Uniswap v2, PGAs, Flashbots e defesas do trader.

Simulação de fills: a escada da fantasia do preço de fechamento à realidade ciente da fila

Simulação de fills: a escada da fantasia do preço de fechamento à realidade ciente da fila

Cinco degraus de fidelidade na simulação de fills — de fills a preço de fechamento a modelos probabilísticos de posição na fila. Fills parciais como máquina de estados, limites de probabilidade de fill de ordens limitadas como faixa de PnL, e um loop de calibração contra fills ao vivo.

TWAP vs VWAP vs POV: como escolher um benchmark de execução (e saber quando cada um te engana)

TWAP vs VWAP vs POV: como escolher um benchmark de execução (e saber quando cada um te engana)

TWAP, VWAP e POV são apostas sobre uma previsão de volume. Dissecamos as premissas ocultas de cada scheduler, construímos curvas de volume intradiário para cripto, e comparamos os três lado a lado sobre dados de L2 reproduzidos.

Almgren-Chriss Sem Rodeios: Execução Ótima que Você Consegue Implementar em uma Tarde

Almgren-Chriss Sem Rodeios: Execução Ótima que Você Consegue Implementar em uma Tarde

Derivação completa do modelo de execução ótima de Almgren-Chriss: impacto linear, a trajetória sinh/cosh, a fronteira eficiente e código Python funcional para calibrar eta, gamma e sigma a partir de dados de L2 e trades da Binance.

O Negativo Honesto: Dezenas de Milhares de Backtests, Cinco Majors, Nenhuma Vantagem Robusta

O Negativo Honesto: Dezenas de Milhares de Backtests, Cinco Majors, Nenhuma Vantagem Robusta

O ponto culminante do arco de busca-e-overfitting, e ele termina em um resultado negativo — o correto. Uma busca de timeframe duplo em um único símbolo no ETHUSDT encontrou uma configuração que valia +16,35% out-of-sample e +2,62% em um holdout intocado; o Deflated Sharpe Ratio, considerando ~37.000 tentativas, deflacionou-o para 0,00. Uma passagem cross-instrument sobre cinco majors (ETH/BTC/SOL/BNB/XRP, ~1,18M de barras de 1m cada), selecionando pela mediana out-of-sample, o mata de vez: DSR duplo 0,24 / PBO 0,264, DSR triplo 0,14 / PBO 0,327 — ambos falham nos limiares. O campeão é lucrativo em 1 de 5 símbolos e negativo no restante. É para isso que serve o aparato anti-overfitting: para impedir você de embarcar o melhor do ruído como alfa.

Provando a Ausência de Look-Ahead em Backtests Multi-Timeframe: Perturbe o Futuro, Prove que o Passado Não Pode Vê-lo

Provando a Ausência de Look-Ahead em Backtests Multi-Timeframe: Perturbe o Futuro, Prove que o Passado Não Pode Vê-lo

Backtests multi-timeframe vazam o futuro através de uma barra de timeframe superior ainda em formação, cujo fechamento final ainda não existe. Não se chega à confiança por revisão de código — é preciso testar. Reproduzimos exatamente a regra de barra fechada do bot ao vivo e depois provamos a ausência de vazamento com uma sonda de futuro deslocado: perturbamos cada barra futura e verificamos que todo sinal e trade passado permanece bit a bit inalterado. 25/25 verificações de paridade, e a sonda tem dentes.

Quando a GPU Compensa: O Roofline do Sweep de Parâmetros, Onde um 167x de Manchete É na Verdade 27x de Algoritmo Vezes 6.2x de Hardware

Quando a GPU Compensa: O Roofline do Sweep de Parâmetros, Onde um 167x de Manchete É na Verdade 27x de Algoritmo Vezes 6.2x de Hardware

A vantagem da GPU sobre a CPU cresce com o tamanho do batch — de 54.5x com um combo por chamada até 359.6x com 61 na nossa pré-computação de indicadores multi-timeframe — porque um sweep pequeno não consegue amortizar o overhead de lançamento de kernel e de transferência. Decompomos um 167x de manchete em uma vitória algorítmica de 27x que também ajuda a CPU e uma vitória de hardware de 6.2x, mostramos que a vantagem verdadeira GPU-vs-melhor-CPU é de apenas 3.2x em single-timeframe e 6.2x em multi, e damos um guia de decisão sobre quão largo um sweep precisa ser antes que valha a pena apostar em uma GPU.

A Armadilha de Precisão da GPU: Como um Backtest em fp32 na Apple Metal Retorna Lixo Silenciosamente

A Armadilha de Precisão da GPU: Como um Backtest em fp32 na Apple Metal Retorna Lixo Silenciosamente

A GPU Metal da Apple não tem float64. Portar um backtest vetorizado para ela de forma ingênua faz a tentadora WMA por soma de prefixos estourar o fp32 — erro relativo máximo de 211× — mas ainda assim ele roda e devolve números com aparência plausível. A correção não é mais precisão; é uma formulação diferente: uma convolução direta por janela, segura em fp32 até 8×10⁻⁷ e 55.9× mais rápida que o numba de thread única. A armadilha, a aritmética por trás dela, e como provar que você não caiu nela.