Saltar al contenido
Todas las estrategias

Estrategias

Seguimiento de tendencia long-only con desequilibrio del flujo taker comprador/vendedor de BTCUSDT.BINANCE Perp en barras 4H (3 parámetros, confluencia de flujo de órdenes + tendencia, señal pura agregada a partir de ticks)

Resultado: Abandonada

BtcPerpTakerFlowImbalanceTrendLong4H

Resumen de resultados

Esta estrategia abrió nuevos caminos para la fábrica al dirigir las señales desde el desequilibrio de flujo de órdenes taker agregado en lugar del precio, y sirvió como prueba de infraestructura que tuvo éxito — la serie taker se cargó y generó 191 operaciones limpias tras una corrección de iteración-3 que convirtió el tope de obsolescencia en un parámetro ajustable de 14 días alineado con la cadencia dispersa de las métricas. Sus números fueron los más limpios de su cohorte: un Sharpe base de 0.90 con bajo……Ver másVer menos

Esta estrategia abrió nuevos caminos para la fábrica al dirigir las señales desde el desequilibrio de flujo de órdenes taker agregado en lugar del precio, y sirvió como prueba de infraestructura que tuvo éxito — la serie taker se cargó y generó 191 operaciones limpias tras una corrección de iteración-3 que convirtió el tope de obsolescencia en un parámetro ajustable de 14 días alineado con la cadencia dispersa de las métricas. Sus números fueron los más limpios de su cohorte: un Sharpe base de 0.90 con bajo drawdown y alfa positivo, optimizando a Sharpe 1.96 mientras pasaba la sensibilidad con cero acantilados y superaba el holdout. Pero bajo deflación colapsó: DSR 0.318, un Sharpe optimizado por debajo del umbral de suerte 2.31, una 87% probabilidad de sobreajuste de backtest, y un walk-forward sobreajustado cuyas ventanas fuera de muestra incluyeron una negativa. El analista la abandonó como un sobreajuste del mejor-de-225 cuya novedad y estabilidad local no podían sustituir a la significancia estadística, con una advertencia adicional de que la señal taker llevada hacia adelante podría haberse degradado en un proxy obsoleto para la beta long-only BTC en una muestra fuertemente alcista.

Hipótesis

Estrategia de seguimiento de tendencia long-only de activo único en BTCUSDT.BINANCE perp usando barras de 4H, con la señal direccional impulsada por AGGREGATED TAKER ORDER FLOW (de datos suplementarios trade_ticks) en lugar de por indicadores derivados del precio (que han sido probados exhaustivamente y fallan empíricamente en gran medida según el registro de abandonos de esta sesión). Esta es una clase de mecanismo genuinamente NEW para la cartera de la fábrica — cada estrategia anterior que he revisado usa……Ver másVer menos

Estrategia de seguimiento de tendencia long-only de activo único en BTCUSDT.BINANCE perp usando barras de 4H, con la señal direccional impulsada por AGGREGATED TAKER ORDER FLOW (de datos suplementarios trade_ticks) en lugar de por indicadores derivados del precio (que han sido probados exhaustivamente y fallan empíricamente en gran medida según el registro de abandonos de esta sesión). Esta es una clase de mecanismo genuinamente NEW para la cartera de la fábrica — cada estrategia anterior que he revisado usa señales derivadas de OHLCV (niveles de precios, medias móviles, retornos, volatilidad, ratios). El desequilibrio taker-buy/taker-sell es INFORMATIONALLY DISTINCT del precio: mide WHO está tomando liquidez (compradores agresivos vs vendedores agresivos), lo que la literatura académica de microestructura (Easley-Kiefer-O'Hara PIN 1996, Easley-Lopez-de Prado-O'Hara VPIN 2012) ha establecido como predictivo donde el precio por sí solo no lo es. Mecanismo: en cada cierre de barra 4H, agregue los ticks de operaciones de la barra en taker_buy_volume vs taker_sell_volume, compute el desequilibrio = (compra - venta) / (compra + venta). LONG cuando el desequilibrio 4H > +0.05 (compra taker sostenida) AND precio > 100-bar SMA (confluencia de tendencia — el flujo debe coincidir con la tendencia). Salir cuando el desequilibrio cambia a negativo OR el precio cae por debajo de SMA. Las señales de order-flow tienen un perfil estadístico fundamentalmente diferente al de las señales fallidas de momentum de precios: observan directamente AGENT BEHAVIOR (qué lado está dispuesto a pagar el spread) en lugar de INFERRING el comportamiento del agente a partir del precio (que es la consecuencia retrasada del comportamiento). Solo 3 parámetros (muy por debajo del techo de 5 parámetros). Frecuencia de operaciones: ~40-80 operaciones/año sobre 6+ años de datos de ticks de operaciones de Binance → 240-480 operaciones totales → 16-32 OOS operaciones por ventana de walk-forward, cómodamente por encima del piso de 5 operaciones. Esto es también una INFRASTRUCTURE TEST crítica: si los datos trade_ticks se cargan correctamente en el pipeline de la fábrica (el data_specification.md los lista bajo catalog_data_types y el flag subscribe_trade_ticks existe), esto abre una clase de mecanismo completamente nueva para investigación futura. Si falla al cargar (similar a la brecha de tasa de financiación HL que bloqueó las estrategias 9), el fallo en sí es informativo y plantea un ticket de infraestructura que vale la pena presentar.

Los comentarios exigían un DIAGNOSTIC, no otra conjetura sobre el esquema. Consulté directamente data/supplementary/metrics/BTCUSDT/*.parquet: 334,643 filas, columna taker_long_short_vol_ratio, marca temporal en ms; filas por año 2023=12,096 / 2024=16,990 / 2025=14,688, y el mes EVERY 2023-01..2025-12 tiene >=288 filas (continuas, aunque dispersas en comparación con los datos densos de 5 2020-2022 min). Por tanto, la condición (3) «no existen filas -> crear solicitud» es falsa, y también lo es la premisa de la……Ver másVer menos

Los comentarios exigían un DIAGNOSTIC, no otra conjetura sobre el esquema. Consulté directamente data/supplementary/metrics/BTCUSDT/*.parquet: 334,643 filas, columna taker_long_short_vol_ratio, marca temporal en ms; filas por año 2023=12,096 / 2024=16,990 / 2025=14,688, y el mes EVERY 2023-01..2025-12 tiene >=288 filas (continuas, aunque dispersas en comparación con los datos densos de 5 2020-2022 min). Por tanto, la condición (3) «no existen filas -> crear solicitud» es falsa, y también lo es la premisa de la condición (2) de que el cargador no reconoce el esquema (mi cargador ya lee exactamente esta columna y clave de marca temporal). La verdadera causa raíz estaba después, en mi propio código: el límite de antigüedad de 24h de _taker_imbalance. Lo validé sin conexión frente al almacén parquet real, recorriendo barras sintéticas de 4H a lo largo de 2023-2025: el límite de 24h etiqueta solo 24.9% de las barras con una señal taker (tras los filtros de imbalance>0.05 y price>SMA, esto se reduce a la exposición observada de ~2.79%), mientras que un límite de 14 días etiqueta 95.3%; por tanto, todas las ventanas de walk-forward de 3 se llenarán de operaciones. La función _taker_imbalance ya arrastra hacia delante el ratio más cercano cuya marca temporal sea igual o anterior cuando la ventana móvil de 4h no contiene datos; solo el límite lo vetaba, así que la solución es un único parámetro (max_lag_hours=336), sin cambios ZERO en la señal, la entrada/salida ni la lógica de tamaño, y sin sustituto basado en precios NO. Esto mantiene intacto el mecanismo de flujo de órdenes y por fin permite probarlo en todo el período de backtest. Nota para el analista: la cobertura taker de 2023-2025 es realmente menos densa que 2020-2022 (~12% de la densidad de 5 min), así que la señal arrastrada es más gruesa en esos años; completar retrospectivamente métricas densas de 5 min para 2023-2025 mejoraría la fidelidad, pero la serie tiene suficiente continuidad de un mes a otro como para validar ya el walk-forward.

Sharpe deflactado fallido con una probabilidad de sobreajuste extrema en el intento 1. DSR=0.3175 (vs barra 0.95), is_significant=FALSE, con el Sharpe optimizado 1.9615 BELOW la barra de suerte del máximo esperado de 225 ensayos de 2.3078, y — decisivamente — PBO=0.8664 (una probabilidad 87% de que la selección de parámetros esté sobreajustada). Según el marco, un DSR bajo combinado con un PBO muy alto es un abandono decisivo. El walk-forward lo confirma: is_overfitted=TRUE con un promedio IS 3.91 colapsando a un……Ver másVer menos

Sharpe deflactado fallido con una probabilidad de sobreajuste extrema en el intento 1. DSR=0.3175 (vs barra 0.95), is_significant=FALSE, con el Sharpe optimizado 1.9615 BELOW la barra de suerte del máximo esperado de 225 ensayos de 2.3078, y — decisivamente — PBO=0.8664 (una probabilidad 87% de que la selección de parámetros esté sobreajustada). Según el marco, un DSR bajo combinado con un PBO muy alto es un abandono decisivo. El walk-forward lo confirma: is_overfitted=TRUE con un promedio IS 3.91 colapsando a un promedio OOS 0.962 y OOS ventanas [2.76, 1.32, -1.19] (una negativa). El alto probabilistic_sharpe (0.9964) es la trampa clásica de PSR vs DSR — ignora la selección de 225 ensayos que PBO/DSR penalizan. Los positivos genuinos (0 acantilados de sensibilidad, sharpe_ci_low +0.4252 positivo, un ratio de holdout que pasa legítimamente 1.213) miden estabilidad local y una ventana forward favorable, no significancia, y no pueden anular un 87% PBO con el Sharpe seleccionado por debajo de la barra de suerte. No iterar (intento 1 de 2, ya en la iteración 3): la sensibilidad ya está limpia con 0 acantilados, por lo que el barrido exploró completamente la región estable y, sin embargo, OOS aún colapsa y PBO es 0.87 — el sobreajuste vive en el walk-forward SELECTION sobre 225 ensayos, no en un acantilado corregible, y con solo 3 parámetros centrales, un segundo barrido del mejor-de--225 reencuentra las mismas configuraciones sobreajustadas. No revise_hypothesis: el desequilibrio de flujo tomador es un mecanismo de primera prueba sin un instrumento hermano promovido varado en un objetivo muerto, por lo que no hay nada demostrado a lo que re-apuntar en un nuevo instrumento. Precaución adicional (no una causa raíz confirmada): la señal de 'order flow' se deriva de la serie dispersa de métricas taker_long_short_vol_ratio con un arrastre por obsolescencia de 14 días en lugar de ticks de operaciones brutos, por lo que durante los períodos de dispersión 2023-2025 puede ser una única instantánea retenida hacia adelante hasta dos semanas — degradándose hacia un proxy obsoleto y de baja información y socavando la premisa de 'informacionalmente distinto del precio'; combinado con la tendencia BTC solo largo en una muestra de 6 años con sesgo alcista (alfa base 0.02, benchmark_correlation 0.30), gran parte del retorno puede ser beta. FAILURE PATTERN: un mecanismo de order flow genuinamente nuevo con un perfil inusualmente limpio (0 acantilados de sensibilidad, CI-bajo positivo, un holdout que pasa) puede seguir siendo un sobreajuste del mejor-de--225 — aquí PBO 0.8664 con DSR 0.32 y un Sharpe optimizado (1.96) por debajo de la barra de suerte 2.31, más un walk-forward is_overfitted con una ventana OOS negativa, es decisivo. Una rejilla de sensibilidad limpia y una única ventana de holdout favorable NOT rescatan una optimización cuya selección es 87% probablemente sobreajustada; la novedad y la estabilidad local no son significancia estadística.

Implementación

Seguidor de tendencia 4H long-only en BTCUSDT.BINANCE perp cuya señal direccional es el desequilibrio TAKER ORDER-FLOW agregado (de la serie de métricas taker_long_short_vol_ratio), filtrado por un filtro de tendencia SMA de 100 barras. LONG cuando el desequilibrio taker > +0.05 y el cierre > SMA; salir cuando el desequilibrio cae por debajo de exit_imbalance o el cierre < SMA. La iteración 3 corrige la brecha de exposición 2023-2025: una consulta directa al almacén de métricas demostró que la serie taker existe CONTINUOUSLY mes a mes a lo largo de 2020-2026 y se estaba cargando correctamente; el apagón era el propio tope de obsolescencia 24h de la estrategia que era mucho más estricto que la cadencia dispersa (intra-mes de 1-30 días) de las filas de métricas 2023-2025. El tope ahora es un parámetro (max_lag_hours, por defecto 336h=14 días) que lleva hacia adelante el ratio taker más cercano en-o-antes a través de los huecos dispersos.

Revisión de backtest

Sharpe
0,90
Rentabilidad total
36,26%
Drawdown máximo
13,11%
Operaciones totales
191
Tasa de acierto
40,8%
Factor de beneficio
1,34

Prueba funcional y de infraestructura superada: la serie de métricas de flujo taker se carga y genera 191 entradas (0 salidas); demuestra que una clase de mecanismo de flujo de órdenes realmente novedosa se integra en el pipeline

Métricas ajustadas por riesgo fuertes pre-opt: Sharpe 0.90, Sortino 1.77, Calmar 2.24, max_drawdown solo 13.1%, profit_factor 1.34

Alfa positivo (+0.021), beta baja (0.043) y benchmark_correlation bajo (0.30): flujo de rentabilidad diferenciado, casi neutral al mercado

Una muestra de operaciones sólida (191) a lo largo de ~6 años permite un walk-forward significativo con suficientes OOS operaciones por ventana

Payoff asimétrico (avg_win ~2x avg_loss) explica la tasa de acierto sub--50% — perfil normal de seguidor de tendencia, no un defecto

Capacidad aceptable (~$9.6M); arrastre de costes moderado (impacto 10.2%, comisión 9.7% del bruto)

Riesgo para la integridad del mecanismo: el arrastre de valores obsoletos de 14 días hace que la señal de flujo taker sea casi constante durante períodos dispersos de 2023-2025, por lo que el momento de las operaciones podría estar determinado por el filtro de tendencia SMA; posiblemente sea una estrategia de tendencia de precios disfrazada de flujo de órdenes

sharpe_ci_low -0.635 (CI se sitúa a ambos lados de 0): la significación aún no está establecida; requiere el umbral de Sharpe deflactado

information_ratio -0.65 frente a comprar y mantener (mitigado en parte por la baja correlación)

Leve debilidad reciente (2023 -6.0%, 2026 -3.0%)

Análisis

Clase de mecanismo realmente novedosa para la cartera (desequilibrio agregado del flujo de órdenes taker), informativamente distinta de las señales derivadas del precio ya agotadas

Sensibilidad PASSED con 0 acantilados — los parámetros son localmente estables en la cuadrícula probada

sharpe_ci_low es positivo (+0.4252) y el holdout realmente se superó (ratio 1.213, holdout_sharpe 1.167 frente a un WF-OOS 0.962 positivo)

Perfil de riesgo optimizado limpio: max_drawdown 10.8%, profit_factor 1.76, alfa positivo 0.053, capacidad de $27M, impacto moderado 6.0%

Sharpe deflactado fallido: DSR=0.3175 (vs 0.95), is_significant=false, Sharpe optimizado 1.9615 BELOW la barra de suerte del máximo esperado de 225 ensayos de 2.3078

PBO=0.8664: probabilidad de sobreajuste del backtest de 87%; DSR bajo + PBO muy alto es motivo decisivo para no promover

Walk-forward is_overfitted=TRUE: el promedio de IS 3.91 cae hasta un promedio de OOS 0.962, con OOS ventanas [2.76, 1.32, -1.19] (una negativa)

probabilistic_sharpe 0.9964 es la trampa PSR-vs-DSR — ignora la selección de 225 ensayos que PBO/DSR penalizan

La configuración base CI se sitúa a ambos lados de 0 (base sharpe_ci_low -0.6354); el alfa base es de solo 0.02, con benchmark_correlation 0.30; en una muestra dominada por un mercado alcista, es difícil distinguir la tendencia long-only BTC de la beta

Precaución sobre la integridad del mecanismo: el «flujo de órdenes» se deriva de la serie dispersa de ratio taker de métricas con arrastre de valores obsoletos de 14 días, no de ticks de operaciones sin procesar; durante 2023-2025, la señal puede ser una instantánea mantenida hasta dos semanas, degradándose hacia un sustituto obsoleto (señalado para verificación, no confirmado)

todo > 0

No NOT optimizar — la señal de flujo taker tiene un apagón de datos 2023-2025 estructural (las operaciones existen solo en 2020-2022 y 2026; annual_returns omite 2023/2024/2025; exposure_pct 2.79%), por lo que un walk-forward de 3 ventanas ejecutaría una ventana completa con cero datos y el edge de order-flow no puede validarse. El cambio en el loader de tolerancia de esquema de la iteración 2 NOT cerró la brecha, lo que significa que el siguiente paso es de diagnóstico, no otra conjetura de esquema: (1)……Ver másVer menos

No NOT optimizar — la señal de flujo taker tiene un apagón de datos 2023-2025 estructural (las operaciones existen solo en 2020-2022 y 2026; annual_returns omite 2023/2024/2025; exposure_pct 2.79%), por lo que un walk-forward de 3 ventanas ejecutaría una ventana completa con cero datos y el edge de order-flow no puede validarse. El cambio en el loader de tolerancia de esquema de la iteración 2 NOT cerró la brecha, lo que significa que el siguiente paso es de diagnóstico, no otra conjetura de esquema: (1) Consultar directamente el catálogo/almacén suplementario y confirmar si las filas `metrics` de volumen de compra/venta taker (o taker_long_short_vol_ratio) PHYSICALLY EXIST para BTCUSDT 2023-01 hasta 2025-12. Imprimir el conteo de filas y los nombres reales de columnas/claves de timestamp para una muestra 2024. (2) Si las filas existen bajo otro esquema (nombre de columna o clave de timestamp que su loader aún no coincide), extienda `_row_ratio`/`_row_ts`/`_load_taker_flow` para leerlos y vuelva a ejecutar; confirmar que exposure_pct sube y las operaciones pueblan 2023-2025. (3) Si las filas NOT existen (la serie taker de métricas nunca fue recolectada/rellenada para esos años), este es un problema de infraestructura/recolección de datos exactamente como anticipaba la hipótesis — el código de la estrategia no puede solucionarlo, así que presente un ticket de recolección de datos para métricas de flujo taker multi-año y DO NOT reenvíe esta estrategia para optimización hasta que los datos cubran todo el período de backtest. Solo una vez que la serie de flujo taker cubra 2020-2026 de forma continua vale la pena optimizarla; el mecanismo es prometedor pero actualmente no es testeable.

Resumen de resultados

Un mecanismo genuinamente novel con un perfil inusualmente limpio — cero acantilados de sensibilidad, Sharpe CI-low positivo, y un holdout aprobado — aún puede ser un sobreajuste del mejor-de-N, por lo que el trabajo futuro debe tratar alto PBO más un Sharpe deflactado por debajo del umbral de suerte como decisivo independientemente de la estabilidad local, y debe validar que una señal de datos suplementarios (aquí una serie taker llevada hacia adelante hasta 14 días sobre tramos dispersos 2023-2025) no se esté degradando en un proxy de tendencia de precios obsoleto.

El analista lo abandonó después de la optimización (intento 1 de 2, ya en la iteración 3): a pesar de pasar la sensibilidad (0 acantilados), un Sharpe CI-bajo positivo (+0.425), y un holdout legítimo (ratio 1.213), falló la prueba de Sharpe deflactado (DSR 0.318 vs 0.95, no significativo) con el Sharpe optimizado 1.96 por debajo de la barra de suerte de 225 ensayos de 2.31, y — decisivamente — PBO 0.866 (probabilidad de sobreajuste 87%) junto con un walk-forward marcado como sobreajustado (promedio dentro de muestra 3.91 colapsando a un promedio OOS 0.96 con una ventana negativa de -1.19).

Estrategia de seguimiento de tendencia long-only en barras 4H sobre el perpetuo BTCUSDT.BINANCE; su señal direccional se basaba en el desequilibrio agregado del flujo de órdenes taker de compra/venta (obtenido de la serie de ratio taker de métricas) en vez del precio. Abría una posición larga cuando el desequilibrio de compras taker superaba +0.05 y el precio estaba por encima de una 100 de SMA barras: una clase de mecanismo de flujo de órdenes deliberadamente novedosa, de tres parámetros, y una prueba de infraestructura para determinar si los datos de flujo taker se integraban en el pipeline.

La prueba de infraestructura tuvo éxito (la serie tomadora cargó e impulsó 191 entradas limpias) y el backtest base fue sólido para la fábrica: Sharpe 0.904, retorno +36.3%, factor de beneficio 1.34, tasa de acierto 40.8%, solo un drawdown máximo 13.1%, con alfa positivo (0.021) y baja correlación con el benchmark (0.30). La optimización lo elevó a Sharpe 1.96, retorno +88.2%, drawdown 10.8%, y factor de beneficio 1.76.

Stratmill es una herramienta de investigación y paper trading, no asesoramiento financiero ni un bróker. Los resultados de backtest y paper trading son hipotéticos. Operar conlleva riesgo de pérdida.