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

El Deflated Sharpe Ratio: ¿Cuántos de los 'ganadores' de tu backtest sobreviven al multiple testing?

El Deflated Sharpe Ratio: ¿Cuántos de los 'ganadores' de tu backtest sobreviven al multiple testing?

Una búsqueda de parámetros es una máquina para fabricar suerte. Sobre ruido puro — 1.000 estrategias con cero edge real — el mejor Sharpe anualizado promedia 1,63 y el test de significancia ingenuo marca un descubrimiento el 100% de las veces. Construimos una verdad de referencia controlada y mostramos que el Deflated Sharpe Ratio, el recorte de Harvey-Liu y el Reality Check de White restauran la honestidad: los falsos descubrimientos caen de 1,000 a 0,001-0,057, los edges genuinos por encima del techo de ruido se conservan con power ~1 — y una trampa real (grids correlacionados) donde el DSR crudo sobre-deflaciona y el veredicto debe leerse a través de toda una banda de estimaciones de trials efectivos, no de una sola.

Diseño de la función objetivo: la métrica que optimizas elige en secreto tu estrategia

Diseño de la función objetivo: la métrica que optimizas elige en secreto tu estrategia

Para buscar la 'mejor' estrategia primero hay que definir 'mejor' — y ese escalar elige el ganador en silencio. Con datos sintéticos y un edge conocido (600 semillas, T=2000, 80 umbrales), un Sharpe por operación ingenuo corona una lotería: elige un ganador con menos del 5% de exposición en el 56% de las semillas y degenera en el 57% — en la semilla más extrema, 8 operaciones producen un Sharpe in-sample de 21.09 que colapsa a 0.13 fuera de muestra. La reparación honesta es casi aburrida: medir en la línea temporal completa, que nunca degenera (fuera de muestra 1.71). Un shrinkage por número de operaciones (conf_k) y un piso de exposición pueden reparar una métrica por operación, pero incluso totalmente corregidos solo igualan al Sharpe de línea temporal completa (1.70 frente a 1.71) — nunca lo superan. La ley de Goodhart, en un backtest, con verdad de base controlada.

Look-Ahead Bias: cómo un error de una vela fabrica un Sharpe de 15 a partir de puro ruido

Look-Ahead Bias: cómo un error de una vela fabrica un Sharpe de 15 a partir de puro ruido

Un estudio controlado de las sutiles fugas de look-ahead que inflan silenciosamente los backtests. Sin ningún edge real, una ejecución en la misma vela fabrica un Sharpe anualizado de +14,8 a partir de puro ruido; un vistazo de un indicador una vela hacia adelante, +4,8. La taxonomía, las magnitudes medidas y cómo detectar cada fuga antes de que le cueste dinero.

La escalera de velocidad del backtest: 298x en la CPU de un portátil, PnL idéntico hasta la última operación

La escalera de velocidad del backtest: 298x en la CPU de un portátil, PnL idéntico hasta la última operación

Cinco implementaciones del mismo barrido de 80 combinaciones de parámetros, todas verificadas para producir el mismo PnL: pandas rolling.apply tarda 69,9 segundos, numpy 3,1, numba 2,0, numba paralelo 0,23 — una aceleración medida de 298x en un Apple M2 Max sin ningún cambio de hardware, y aun así ~13x sobre una base vectorizada competente. Qué compra cada peldaño, por qué una GPU no es la pieza que falta, y dónde vive el verdadero cuello de botella en la búsqueda masiva de parámetros.

researcher: A Searchable Quant-Research Archive for Humans and AI Agents

researcher: A Searchable Quant-Research Archive for Humans and AI Agents

How we built researcher.marketmaker.cc — a unified, full-text-searchable archive of quant research (arXiv papers, GitHub repos, quant blogs, TradingView Pine scripts) that humans browse and AI agents query over MCP.

algo-investor-skills: Skills de Claude Code que construyen una propuesta para inversores a prueba de estafas

algo-investor-skills: Skills de Claude Code que construyen una propuesta para inversores a prueba de estafas

Una mirada profunda a algo-investor-skills — un conjunto de skills de Claude Code que lleva una estrategia de algotrading desde hechos medidos en crudo hasta una propuesta para inversores auditada y orientada a la honestidad. Seis skills componibles, un motor de modelos financieros, un paquete de pruebas de verificación independiente y una puerta de auditoría obligatoria con inversor escéptico que nunca fabrica una cifra.

El criterio de Kelly para estrategias: cómo dimensionar posiciones y asignar capital

El criterio de Kelly para estrategias: cómo dimensionar posiciones y asignar capital

Una estrategia con valor esperado positivo puede igualmente destruir tu cuenta si el tamaño de la apuesta es incorrecto. Recorremos el criterio de Kelly desde la deducción de la fórmula hasta una cartera de estrategias: por qué el Kelly completo es peligroso, cómo el Kelly fraccionario captura el 75% del crecimiento con la mitad de la volatilidad, y una calculadora interactiva que muestra cómo la fracción de Kelly mueve el retorno y el riesgo.

Daily Stock Analysis: un sistema de IA que convierte una watchlist en un panel de decisiones diario

Daily Stock Analysis: un sistema de IA que convierte una watchlist en un panel de decisiones diario

Un análisis en profundidad de daily_stock_analysis de ZhuLinsen — un sistema de código abierto que obtiene datos de mercado para acciones A, Hong Kong, EE. UU. y más, ejecuta análisis técnico y de noticias mediante un LLM, y envía un 'panel de decisiones' estructurado a tu mensajería cada día de negociación. Arquitectura, respaldo de datos, estrategias de agentes, limitaciones.

Temporal Fusion Transformers for Multi-Horizon Portfolio Forecasting

Temporal Fusion Transformers for Multi-Horizon Portfolio Forecasting

How Google's Temporal Fusion Transformer brings interpretable multi-horizon forecasting to quantitative portfolio management, with attention-based variable selection, quantile outputs, and a worked pytorch-forecasting pipeline.

Predicción conforme para el dimensionamiento de posiciones consciente del riesgo

Predicción conforme para el dimensionamiento de posiciones consciente del riesgo

Intervalos de predicción libres de distribución con cobertura garantizada. Usamos conformal split, jackknife+ e inferencia conforme adaptativa para calibrar el riesgo de trading y dimensionar posiciones sin supuestos paramétricos.

Bid-Ask Spread Modeling and Prediction with Machine Learning

Bid-Ask Spread Modeling and Prediction with Machine Learning

Decomposing and predicting bid-ask spreads with ML — from Roll's implicit estimator to gradient boosting and neural networks — with the units, leakage, and benchmarking pitfalls that bite in production.

DeepLOB: Aprendizaje Profundo en Libros de Órdenes Límite

DeepLOB: Aprendizaje Profundo en Libros de Órdenes Límite

Cómo DeepLOB combina una CNN, un módulo inception y una LSTM para predecir movimientos del precio medio a partir de datos crudos del libro de órdenes — la arquitectura, las cifras reales de FI-2010 y una reimplementación funcional en PyTorch.