Cesta long-short de tendencia de doble marco temporal con objetivo de volatilidad de Binance USD-M (principales, concordancia de tendencias rápida y lenta, capa de riesgo de volatilidad constante, rebalanceo semanal)
Resultado: Abandonada
VolTargetedDualTimeframeTrendLSBasketDaily
Resumen de resultados
Esta estrategia propuso un giro en la construcción del riesgo para el seguimiento de tendencia: exigir que las tendencias rápida y lenta coincidan antes de abrir una posición direccional, y ajustar la exposición bruta para mantener la volatilidad de la cartera cerca de un objetivo fijo. Superó la revisión previa a la optimización del backtest por su capacidad de supervivencia: sin liquidaciones, pérdidas diarias acotadas, +341% durante 6.5 años con una volatilidad alcanzada que igualaba su objetivo de 40%; obtuvo……Ver másVer menos
Esta estrategia propuso un giro en la construcción del riesgo para el seguimiento de tendencia: exigir que las tendencias rápida y lenta coincidan antes de abrir una posición direccional, y ajustar la exposición bruta para mantener la volatilidad de la cartera cerca de un objetivo fijo. Superó la revisión previa a la optimización del backtest por su capacidad de supervivencia: sin liquidaciones, pérdidas diarias acotadas, +341% durante 6.5 años con una volatilidad alcanzada que igualaba su objetivo de 40%; obtuvo el veredicto «optimizar». Pero la optimización en tres fases reveló la señal de sobreajuste de la cesta de tendencias: un Sharpe dentro de muestra de 1.35 cayó a 0.33 fuera de muestra, con dos ventanas negativas; el periodo de reserva fracasó por completo, y el Sharpe seleccionado de 0.458 quedó muy por debajo del umbral de suerte del mejor entre -225 pruebas, con un Sharpe deflactado prácticamente igual a cero. En el segundo y último intento de optimización, el analista la descartó por ser estadísticamente indistinguible del ruido y concluyó que las adiciones de concordancia entre dos marcos temporales y de capa de volatilidad no heredaron la capacidad de promoción de sus estrategias hermanas.
Cesta long-short de futuros gestionados en ~12 perpetuos principales de Binance USD-M MAJOR con historial completo; su rasgo distintivo es la construcción de RISK-MANAGEMENT, no una señal nueva. Dos diferencias frente a las cestas de tendencias ya en el proceso (series temporales, transversales, doble impulso, Donchian): (1) la señal direccional exige que TWO TIMEFRAMES de la tendencia absoluta del mismo activo AGREE: una tendencia rápida y otra lenta; abre posiciones LONG solo cuando ambas apuntan al alza, SHORT……Ver másVer menos
Cesta long-short de futuros gestionados en ~12 perpetuos principales de Binance USD-M MAJOR con historial completo; su rasgo distintivo es la construcción de RISK-MANAGEMENT, no una señal nueva. Dos diferencias frente a las cestas de tendencias ya en el proceso (series temporales, transversales, doble impulso, Donchian): (1) la señal direccional exige que TWO TIMEFRAMES de la tendencia absoluta del mismo activo AGREE: una tendencia rápida y otra lenta; abre posiciones LONG solo cuando ambas apuntan al alza, SHORT solo cuando ambas apuntan a la baja, y FLAT si discrepan (es concordancia entre marcos temporales, distinta de la conjunción absoluta y relativa del doble impulso); (2) el dimensionamiento de posiciones aplica CONSTANT PORTFOLIO-VOLATILITY TARGET: la exposición bruta se escala inversamente a la volatilidad realizada reciente de la cartera hacia un objetivo anualizado fijo, para mantener un riesgo estable en mercados tranquilos y turbulentos (la mejora reconocida de «objetivo de volatilidad», que mejora el Sharpe del seguimiento de tendencia y reduce los drawdowns extremos, y responde directamente al mandato de adaptación al régimen). Se mantiene estrictamente en la única superficie con backtest fiable: principales de Binance USD-M, solo OHLCV, historial completo; evita deliberadamente todos los bloqueos de infraestructura encontrados esta sesión (opciones de Deribit sin datos, dimensionamiento inverso COIN-M defectuoso, barras alternativas de Hyperliquid no disponibles, liquidaciones solo en vivo-WS, financiación multitramos solo para el símbolo principal) y todas las clases refutadas (sin financiación, sin base, sin ratio MR). Usar solo principales también evita el riesgo de datos por amplitud de altcoins e historiales cortos que afectó a las cestas de universo amplio. Mismo mercado y mismas marcas temporales diarias; pocos parámetros para resistir el sobreajuste; long-short para mejorar la asimetría de la cartera, larga por naturaleza, de 87%.
Corrección de Iteration-2 para el fallo de Layer-2: `_bar_ts` era un `@staticmethod` (parámetro único `bar`). Bajo el proxy sintético de Layer-2, se invoca el método vinculado, así que `self` se pasó como argumento posicional adicional → «takes 1 positional argument but 2 were given». Se convirtió `_bar_ts` en un método de instancia normal `def _bar_ts(self, bar)` para que la aridad coincida con la llamada vinculada. Este es el único cambio; no se tocaron las importaciones, la lógica de señales, la concordancia entre dos marcos temporales, la capa acotada de objetivo de volatilidad, el dimensionamiento ni la mecánica de rebalanceo (que superó Layer 1). leverage=1.5 se usa en `_rebalance` mediante `budget = min(budget, equity * self._leverage)` y scalar_cap, así que el ajuste no es inerte.
falló el Sharpe deflactado: DSR=0.0036, máximo esperado=1.3257 en 225 pruebas: el Sharpe optimizado seleccionado (0.458) queda FAR por debajo del umbral de suerte del mejor de N y es estadísticamente indistinguible del ruido (is_significant=false, sharpe_ci_low=-0.2115 abarca 0; probabilistic_sharpe 0.9222 frente a DSR 0.0036 es la clásica trampa de inflación por selección entre PSR y DSR). El walk-forward es is_overfitted=TRUE: el promedio de IS 1.354 cae a un promedio de OOS 0.332, con dos de tres ventanas OOS……Ver másVer menos
falló el Sharpe deflactado: DSR=0.0036, máximo esperado=1.3257 en 225 pruebas: el Sharpe optimizado seleccionado (0.458) queda FAR por debajo del umbral de suerte del mejor de N y es estadísticamente indistinguible del ruido (is_significant=false, sharpe_ci_low=-0.2115 abarca 0; probabilistic_sharpe 0.9222 frente a DSR 0.0036 es la clásica trampa de inflación por selección entre PSR y DSR). El walk-forward es is_overfitted=TRUE: el promedio de IS 1.354 cae a un promedio de OOS 0.332, con dos de tres ventanas OOS negativas ([-0.54, +1.84, -0.30]), y el HOLDOUT FAILED cronológico intacto (0.049 de ratio, holdout_sharpe 0.0163 ~0). La estrategia tiene un ratio de información NEGATIVE tanto en su versión base (-0.38) como optimizada (-0.29); su superficie de sensibilidad presenta un precipicio en rebalance_days (0.29<->0.49 con un cambio de un paso), y su rentabilidad total destacada de +454% no es fiable: end_unrealized_pct 156.6 significa que la rentabilidad proviene sobre todo de una posición abierta sin cerrar al final del backtest, con un valor atípico de ventaja concentrado en el mercado alcista (2021 +284%, curtosis 53.7, asimetría 4.96; 2025 -19.8%). No iterar: este es el intento final de optimización (2 de 2), y los fallos determinantes son estructurales (Sharpe del mejor de -225 por debajo del umbral de suerte de 1.33, walk-forward sobreajustado con ventanas OOS negativas y holdout fallido), así que una tercera búsqueda volvería a seleccionar la misma configuración con significancia insuficiente. No revise_hypothesis: los principales USD-M de Binance son un universo válido y rico en datos, y la familia de cestas de momentum TS con objetivo de volatilidad ya tiene variantes hermanas promovidas; según la regla de sobreajuste->abandono, esto es sobreajuste de IS alto/OOS bajo y negativo en un conjunto de instrumentos adecuado, no un mecanismo probado varado en un objetivo inactivo, y la variante con acuerdo entre marcos temporales y overlay de volatilidad no añadió una ventaja diferenciada que pudiera promoverse. FAILURE PATTERN: añadir un filtro de tendencia-AGREEMENT rápido y lento y un overlay de volatilidad constante acotado a una cesta long-short de 12 principales de Binance USD-M no NOT la hace apta para promoción; produce el patrón de pruebas múltiples y sobreajuste de futuros gestionados (DSR 0.0036 con Sharpe optimizado 0.458 por debajo del umbral de suerte de 1.33, is_overfitted IS 1.35 -> OOS 0.33 con dos ventanas negativas, holdout fallido, ratio de información negativo, un precipicio de rebalance_days y una cifra destacada inflada por la ganancia no realizada de una posición abierta 156%). Una construcción limpia de volatilidad acotada y una rentabilidad total positiva en toda la muestra miden consistencia y capacidad de supervivencia, no significancia ni generalización futura.
Implementación
Cesta long-short de futuros gestionados en 12 perpetuos principales de Binance USD-M con historial completo y barras diarias; rebalanceo semanal. Cada activo es direccional solo cuando coinciden sus tendencias rápida (20d) y lenta (60d): largo si ambas suben, corto si ambas bajan, sin posición si discrepan. La exposición bruta se escala inversamente a la volatilidad realizada de la cartera estimada de forma conservadora, hacia un objetivo anualizado fijo de 40%; el factor de volatilidad se limita estrictamente a [0, 1.5] y todos los denominadores de volatilidad tienen un suelo, para evitar que la capa de volatilidad constante se dispare. Los pesos por activo son inversos a la volatilidad, normalizados para sumar 1 y limitados a 20%.
Resultados de verificación
Verificación fallida (Capa 2 — escenarios sintéticos): Parámetros usados: ['assets', 'vol_floor', 'max_weight', 'scalar_cap', 'vol_target', 'resize_frac', 'min_notional', 'vol_lookback', 'fast_lookback', 'qty_precision', 'slow_lookback', 'rebalance_days', 'default_qty_precision'] Comprueba que __init__ establezca todos los atributos mediante self.parameters.get(). - steady_uptrend: TypeError: VolTargetedDualTimeframeTrendLSBasketDaily._bar_ts() acepta 1 argumento(s) posicional(es), pero se proporcionaron 2 (marca……Ver másVer menos
Verificación fallida (Capa 2 — escenarios sintéticos):
Parámetros usados: ['assets', 'vol_floor', 'max_weight', 'scalar_cap', 'vol_target', 'resize_frac', 'min_notional', 'vol_lookback', 'fast_lookback', 'qty_precision', 'slow_lookback', 'rebalance_days', 'default_qty_precision']
Comprueba que __init__ establezca todos los atributos mediante self.parameters.get().
- steady_uptrend: TypeError: VolTargetedDualTimeframeTrendLSBasketDaily._bar_ts() acepta 1 argumento(s) posicional(es), pero se proporcionaron 2 (marca temporal de la barra: 1735693260000)
- steady_downtrend: TypeError: VolTargetedDualTimeframeTrendLSBasketDaily._bar_ts() acepta 1 argumento(s) posicional(es), pero se proporcionaron 2 (marca temporal de la barra: 1735693260000)
- flat_ranging: TypeError: VolTargetedDualTimeframeTrendLSBasketDaily._bar_ts() acepta 1 argumento(s) posicional(es), pero se proporcionaron 2 (marca temporal de la barra: 1735693260000)
- volatility_spike: TypeError: VolTargetedDualTimeframeTrendLSBasketDaily._bar_ts() acepta 1 argumento(s) posicional(es), pero se proporcionaron 2 (marca temporal de la barra: 1735693260000)
- zero_volume: TypeError: VolTargetedDualTimeframeTrendLSBasketDaily._bar_ts() acepta 1 argumento(s) posicional(es), pero se proporcionaron 2 (marca temporal de la barra: 1735693260000)
- price_gap: TypeError: VolTargetedDualTimeframeTrendLSBasketDaily._bar_ts() acepta 1 argumento(s) posicional(es), pero se proporcionaron 2 (marca temporal de la barra: 1735693260000)
Revisión de backtest
Sharpe
0,51
Rentabilidad total
341,26%
Drawdown máximo
42,24%
Operaciones totales
709
Tasa de acierto
39,5%
Factor de beneficio
1,29
Funciona durante toda la ventana de 6.5 años, sin liquidaciones y con pérdidas diarias acotadas (peor día -21.9%), a diferencia de las cestas recientes que quebraron.
La capa de objetivo de volatilidad está calibrada: volatilidad anualizada alcanzada 40.8% ≈ objetivo 40%, lo que confirma un apalancamiento efectivo de ~1x pese a la métrica exposure_pct inflada.
La ventaja abarca distintos regímenes, no solo 2021: positiva en 4/7 años (2024 +29%, 2025 +103%, 2026 +24%), PF 1.29, Sortino 0.92, Calmar 3.8, expectativa +340.
benchmark_meaningful=false marca correctamente la cesta long-short; probabilistic_sharpe 0.949; 709 operaciones bastan para completar el walk-forward.
Sharpe de solo 0.51, con sharpe_ci_low -0.19 que abarca 0: aún no se ha establecido la significancia (los controles de robustez de la optimización deben confirmarla).
exposure_pct muestra 814% (particularidad de la métrica multitramos; la volatilidad alcanzada y el límite de presupuesto implican ~1x efectivo): verificar durante la optimización.
Años de drawdown en seguimiento de tendencia (2022 -28%, 2023 -23%), max_drawdown 42.2%, max_consecutive_losses 16.
fast_lookback/slow_lookback siguen siendo ajustables: el mismo vector de sobreajuste que hizo caer la variante anterior con objetivo de volatilidad; el optimizador debe priorizar la robustez de OOS, no el Sharpe máximo de IS.
modesto, CI abarca 0: la optimización debe resolverlo
alto, pero asumible para un 1x CTA
Análisis
Construcción de volatilidad acotada y limpia (sin liquidación, avg_position_pct ~20%), sensibilidad mayormente limpia (solo un precipicio en 1), cantidad de operaciones saludable (1575 optimizado)
Principales de Binance en el mismo mercado, historial completo: realmente apto para backtest, ventanas densas de OOS (sin escasez de eventos)
Falla claramente la prueba de Sharpe deflactado: DSR 0.0036 frente a 0.95; el Sharpe optimizado 0.458 FAR queda por debajo del umbral de suerte del máximo esperado en 225 pruebas, 1.3257
is_significant=false, sharpe_ci_low -0.2115 (CI abarca 0); PSR 0.9222 frente a DSR 0.0036 es la trampa de inflación por selección
Walk-forward is_overfitted=TRUE: el promedio de IS 1.354 pasa a OOS 0.332, con dos de tres ventanas OOS negativas [-0.54, +1.84, -0.30]
HOLDOUT FAILED hacia adelante: ratio 0.049, holdout_sharpe 0.0163 (~0) frente a WF-OOS 0.332
Ratio de información negativo (base -0.38, optimizado -0.29); el +454% principal es mayormente no realizado (end_unrealized_pct 156.6): la ventaja realizada es mucho menor
Precipicio de sensibilidad de 1 (rebalance_days 0.29<->0.49); rendimientos concentrados en valores atípicos y alzas (2021 +284%, curtosis 53.7, asimetría 4.96); 2025 -19.8%
Resumen de resultados
Añadir a una cesta de principales con seguimiento de tendencia una condición de concordancia entre dos marcos temporales y una capa acotada de volatilidad constante mejora la capacidad de supervivencia y el rendimiento de la muestra completa, pero no aporta una ventaja estadísticamente significativa que se generalice hacia adelante: una construcción limpia de volatilidad acotada y un rendimiento total positivo miden consistencia, no significancia.
El analista la descartó en la fase ANALYZING posterior a la optimización: no superó la prueba de Sharpe deflactado (DSR 0.0036 frente a un umbral de suerte de máximo esperado de 1.3257 para 225 pruebas), se marcó como sobreajustada (Sharpe medio dentro de muestra 1.354 que cayó a 0.332 fuera de muestra, con dos de tres ventanas negativas), fracasó en el periodo de reserva ordenado temporalmente (ratio 0.049, Sharpe de reserva ~0.016) y tuvo un ratio de información negativo (-0.29).
Cesta long-short de futuros gestionados sobre ~12 perpetuos principales de Binance USD-M, que solo abría posiciones largas o cortas cuando coincidían las tendencias rápida y lenta de un activo; dimensionaba la cartera con una capa acotada de volatilidad constante para mantener un riesgo estable en distintos regímenes.
El backtest base obtuvo +341% durante ~6.5 años, con Sharpe de 0.51 (CI bajo -0.19), factor de beneficio 1.29, drawdown máximo de 42.2% y 709 operaciones; sobrevivió sin liquidaciones. Tras la optimización mostró +454.7% y 1,575 operaciones, pero el Sharpe cayó a 0.458.
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.