Saltar al contenido
Todas las estrategias

Estrategias

Rotación long-only por carry y momentum con doble clasificación sobre 8 majors USD-M con datos verificados (BINANCE perps, rebalanceo semanal, mantener los -3 primeros según puntuación de fuerza relativa COMBINED + financiación negativa, filtrada por régimen BTC; se basa en dos estrategias ganadoras promovidas)

Resultado: Abandonada

CarryMomentumDoubleSortLongRotation8Majors

Resumen de resultados

CarryMomentumDoubleSortLongRotation8Majors intentó crear una nueva celda del pipeline al combinar los dos factores long validados en paper de la fábrica: momentum y carry de funding negativo. Mantenía los activos que mostraban una tendencia alcista y te pagaban por mantener posiciones long, con un filtro de efectivo por régimen BTC. El desarrollador aplicó correctamente las correcciones de la iteración-1 (hacer carry_weight ajustable y aplicar el filtro al sesgo solo cuando el funding es negativo), y la prueba……Ver másVer menos

CarryMomentumDoubleSortLongRotation8Majors intentó crear una nueva celda del pipeline al combinar los dos factores long validados en paper de la fábrica: momentum y carry de funding negativo. Mantenía los activos que mostraban una tendencia alcista y te pagaban por mantener posiciones long, con un filtro de efectivo por régimen BTC. El desarrollador aplicó correctamente las correcciones de la iteración-1 (hacer carry_weight ajustable y aplicar el filtro al sesgo solo cuando el funding es negativo), y la prueba más limpia respondió de forma concluyente a la pregunta decisiva: el carry no aporta ventaja aquí; reduce el Sharpe a 1.04 frente al 2.63 de la estrategia matriz de momentum y perjudica activamente el resultado cada vez que se activa el sesgo. El revisor abandonó la tesis y señaló que una cartera long sobre majors con funding predominantemente positivo paga carry en vez de cobrarlo, así que optimizar carry_weight solo convergería en una copia de la rotación de momentum ya promovida. La recomendación fue retirar la doble clasificación carry+momentum en majors long-only y considerar la rotación de momentum existente como la expresión canónica de la ventaja.

Hipótesis

Rotación LONG-ONLY, con rebalanceo semanal, sobre un universo FIXED de 8 majors USD-M cuyos datos de OHLCV *y* el historial de funding ya están verificados en esta fábrica: BTCUSDT, ETHUSDT, SOLUSDT, BNBUSDT, XRPUSDT, ADAUSDT, AVAXUSDT, LINKUSDT. Su rasgo distintivo es que DOUBLE-SORTS los únicos dos factores que aquí han llegado a paper: (1) momentum de fuerza relativa transversal («Rotación semanal de momentum transversal 8 majors LONG», Sharpe 2.6) y (2) carry de funding negativo («Cesta de carry LONG de……Ver másVer menos

Rotación LONG-ONLY, con rebalanceo semanal, sobre un universo FIXED de 8 majors USD-M cuyos datos de OHLCV *y* el historial de funding ya están verificados en esta fábrica: BTCUSDT, ETHUSDT, SOLUSDT, BNBUSDT, XRPUSDT, ADAUSDT, AVAXUSDT, LINKUSDT. Su rasgo distintivo es que DOUBLE-SORTS los únicos dos factores que aquí han llegado a paper: (1) momentum de fuerza relativa transversal («Rotación semanal de momentum transversal 8 majors LONG», Sharpe 2.6) y (2) carry de funding negativo («Cesta de carry LONG de funding negativo en 5 activos», Sharpe 1.97). En vez de duplicar cualquiera de los dos, los combina: mantiene los activos que BOTH muestran una tendencia alcista AND te pagan por estar long (funding negativo); una celda que no existe en el pipeline. Es un diseño deliberado, basado en evidencia: reutiliza canales de datos probados (sin OI, liquidaciones, opciones mensuales ni funding de altcoins entre plataformas, todo ello limitado por falta de datos en esta sesión) y la probada estructura de cesta beta long (NOT la cesta de rangos dollar-neutral que 0/53). Evita la clase de 0/213 sin ventaja de un solo símbolo OHLCV al usar varios activos, y la clase con costes de comisiones al rebalancear semanalmente. 3 parámetros ajustables (retrospectiva de momentum, top-K, filtro de régimen SMA) para reducir el sobreajuste (202x clave).

La iteración 2 introduce exactamente los dos cambios necesarios con la modificación más pequeña posible y deja intactas todas las partes que superaron Layer-1/2/3 (imports sin cambios, estructura y envío de órdenes idénticos). (1) La combinación de pesos iguales fijada en código z_mom - z_fund se sustituye por z_mom - carry_weight * z_fund, un valor ajustable, y carry_weight=0 ahora es una ablación limpia solo de momentum que reproduce exactamente la estrategia matriz de momentum promovida. Así, el optimizador o……Ver másVer menos

La iteración 2 introduce exactamente los dos cambios necesarios con la modificación más pequeña posible y deja intactas todas las partes que superaron Layer-1/2/3 (imports sin cambios, estructura y envío de órdenes idénticos). (1) La combinación de pesos iguales fijada en código z_mom - z_fund se sustituye por z_mom - carry_weight * z_fund, un valor ajustable, y carry_weight=0 ahora es una ablación limpia solo de momentum que reproduce exactamente la estrategia matriz de momentum promovida. Así, el optimizador o analista puede medir si el carry aporta una ventaja independiente sobre [0.0, ~1.0] antes de gastar capacidad de cómputo en optimización; si el óptimo es ~0, eso también constituye el hallazgo. (2) El factor carry ahora GATED solo al funding realmente negativo: el funding positivo y ausente se limita a 0 antes de estandarizar. Así, cuando ningún activo del universo tiene funding negativo (el caso habitual en un régimen alcista de USD-M), el sesgo tiene varianza cero y la puntuación refleja solo el momentum. Esto corrige directamente el fallo diagnosticado: la resta no filtrada de z(funding) penalizaba los activos más populares entre los largos y con mayor momentum, y reducía el Sharpe de 2.63 a 1.16 (verificado en una prueba unitaria: con funding todo positivo → top-3 de momentum; un activo con funding negativo recibe una bonificación; carry_weight=0 → solo momentum). También responde a la preocupación por el drawdown: al no inclinarse hacia activos rezagados con menor funding durante los regímenes de funding positivo, la cartera se mantiene en los activos con mayor momentum; el sesgo solo se activa en los regímenes de funding negativo que aprovechaba la estrategia matriz de carry. La configuración predeterminada carry_weight=0.5 incorpora una combinación con filtro para revisar el backtest, mientras el optimizador busca hasta 0 para la ablación. Los demás elementos — universo de 8 majors, filtro de régimen BTC-SMA, funding por pata mediante funding_rates_by_instrument, plataforma de futuros con acumulación de funding, reajuste a pesos iguales y señal continua de régimen — no cambian respecto a la versión que superó Layers 1-3.

La premisa de doble clasificación carry+momentum quedó refutada. El desarrollador aplicó correctamente mis correcciones de la iteración-1 (carry_weight ajustable; filtro del carry solo cuando el funding es negativo), y el resultado responde a la pregunta decisiva: el carry no aporta una ventaja independiente. En dos iteraciones, la capa carry solo diluye el momentum: Sharpe 1.16 (sin filtro, iteración-1) → 1.04 (con filtro, iteración-2), ambos muy por debajo del 2.63 de la estrategia matriz solo de momentum. Como……Ver másVer menos

La premisa de doble clasificación carry+momentum quedó refutada. El desarrollador aplicó correctamente mis correcciones de la iteración-1 (carry_weight ajustable; filtro del carry solo cuando el funding es negativo), y el resultado responde a la pregunta decisiva: el carry no aporta una ventaja independiente. En dos iteraciones, la capa carry solo diluye el momentum: Sharpe 1.16 (sin filtro, iteración-1) → 1.04 (con filtro, iteración-2), ambos muy por debajo del 2.63 de la estrategia matriz solo de momentum. Como el filtro vuelve al momentum puro en los regímenes de funding positivo y, aun así, el Sharpe se mantiene en 1.04, el sesgo carry perjudica activamente el resultado cada vez que se activa. Por tanto, optimizar carry_weight en [0,2] lo llevaría a 0, momento en que la estrategia sería una copia sin diferenciación de la rotación de momentum transversal ya promovida. También es estructuralmente peor que la familia promovida: como cartera LONG-only de USD-M PERP, paga costes de funding PAYS en los regímenes alcistas de funding positivo en que opera; en cambio, la rotación de momentum SPOT aprobada en esta sesión (Sharpe 4.83, DD 33.7%, sin coste de funding) la supera. Según sus propios criterios, es débil y no significativa (Sharpe 1.04, sharpe_ci_low 0.277, information_ratio -0.0025, curtosis 139.8, resultado principal concentrado en 2021 semanas con picos). Según mis propias indicaciones de la iteración-1, si el óptimo del carry es ~0, la doble clasificación no tiene ventaja independiente y debemos usar la rotación de momentum existente en vez de lanzar una copia: esa condición ya se cumple. Recomiendo que el responsable de investigación retire la tesis de doble clasificación carry+momentum en majors cripto long-only: con funding positivo, una cartera long no puede capturar carry de funding (lo paga), por lo que el factor carry no puede aportar estructuralmente una ventaja en posiciones long; la expresión canónica de esta ventaja es la rotación de momentum ya promovida o en optimización.

Implementación

Rotación long-only con rebalanceo semanal sobre 8 BINANCE USD-M majors (BTC, ETH, SOL, BNB, XRP, ADA, AVAX, LINK), velas diarias. Doble clasificación por momentum de fuerza relativa transversal (rentabilidad de los últimos lookback_days) y carry de funding negativo: puntuación = z(momentum) - carry_weight * z(carry_tilt); mantiene los top-3 por puntuación, con pesos iguales. El sesgo carry ahora GATED solo al funding negativo (el funding positivo o ausente se limita a 0); por tanto, en los regímenes alcistas con funding predominantemente positivo, el término carry desaparece y la cartera vuelve al momentum puro, mientras carry_weight (ajustable, predeterminado 0.5; 0 = ablación solo de momentum) determina la intensidad de la recompensa a los activos con funding negativo cuando aparecen. Un filtro de régimen BTC de 100 días con SMA mueve toda la cartera a efectivo en regímenes bajistas. Posiciones long-only en la plataforma de futuros, con funding recibido por acumulación; sin apalancamiento.

Resultados de verificación

La corrección del filtro carry funciona, pero la doble clasificación STILL no supera a ninguna de las estrategias matriz: Sharpe 0.81 (CI -0.12 a 1.46) frente al 2.6 de la estrategia matriz de momentum y al 1.97 de la matriz carry; casi idéntico a la iteración-1, porque el filtro vuelve correctamente la puntuación a PURE MOMENTUM en los regímenes alcistas de funding positivo en que opera. Evidencia sólida de que el carry no aporta una ventaja independiente (carry_weight probablemente se optimice a ~0). Impulsado por colas (curtosis 110). Juicio central sobre la ventaja para el analista.

La hipótesis indica parámetros ajustados de 3; la iteración-2 revela 4 (se añadió carry_weight). Autorizado: BACKTEST_REVIEW lo solicitó para poder ajustar el carry y habilitar la ablación solo de momentum. Sigue siendo resistente al sobreajuste.

No bloqueante: exposure_pct 162% es tiempo en mercado multi-pata (no una infracción de apalancamiento); end_unrealized 709% es capitalización compuesta de 3 años; las advertencias de señal congelada son inocuas. A diferencia de la estrategia hermana con gestión de volatilidad, las métricas son INTERNALLY CONSISTENT (data_days 1080, CAGR 79% / volatilidad 102% / Sharpe 0.81 concuerdan) → metrics_reliable creíble.

Revisión de backtest

Sharpe
1,04
Rentabilidad total
3151,13%
Drawdown máximo
47,54%
Operaciones totales
172
Tasa de acierto
48,3%
Factor de beneficio
1,67

Comentarios de la iteración-1 aplicados correctamente: carry_weight ahora es un parámetro ajustable y el sesgo carry solo se activa con funding negativo

Datos completos (172 operaciones, 1080 días de operación, 12,870 eventos de funding, metrics_reliable=true); estructura beta long multi-activo limpia

Premisa de doble clasificación refutada: el carry no aporta ventaja — Sharpe 1.16 (iteración-1 sin filtro) → 1.04 (iteración-2 con filtro), ambos muy por debajo del 2.63 de la estrategia matriz solo de momentum; el filtro empeoró levemente el resultado, no lo mejoró

Optimizar carry_weight lo llevará a 0, creando una copia sin diferenciación de la rotación de momentum ya promovida

Desventaja estructural: solo LONG en perps de USD-M; PAYS de coste por financiación en los regímenes alcistas de financiación positiva en los que opera, frente a la rotación por momentum de SPOT (Sharpe 4.83, sin coste de financiación), que la supera

Débil y no significativo según sus propios criterios: Sharpe 1.04, sharpe_ci_low 0.277, information_ratio -0.0025, curtosis 139.8; resultado principal concentrado en unas pocas semanas con picos de 2021 (2023 -3.6%, 2026 -13.3%)

Análisis

No NOT optimices todavía: los 3 parámetros ajustables (lookback_days, top_n, regime_sma_days) no pueden resolver el problema central, así que una ejecución de 2 horas produciría, como mucho, una copia peor de la rotación por momentum ya promovida. Se requieren dos cambios: 1) MAKE THE CARRY BLEND TUNABLE (el cambio clave). La puntuación está fijada en el código en `z_mom - z_fund` (ponderación igual). Introduce un parámetro `carry_weight`: puntuación = z_mom - carry_weight * z_fund, con un rango de búsqueda que……Ver másVer menos

No NOT optimices todavía: los 3 parámetros ajustables (lookback_days, top_n, regime_sma_days) no pueden resolver el problema central, así que una ejecución de 2 horas produciría, como mucho, una copia peor de la rotación por momentum ya promovida. Se requieren dos cambios: 1) MAKE THE CARRY BLEND TUNABLE (el cambio clave). La puntuación está fijada en el código en `z_mom - z_fund` (ponderación igual). Introduce un parámetro `carry_weight`: puntuación = z_mom - carry_weight * z_fund, con un rango de búsqueda que abarque [0.0, ~1.0]. Es esencial porque, en los majors de USD-M, la financiación es predominantemente POSITIVE en los regímenes alcistas en los que opera esta cartera long-only, así que restar z(funding) con el mismo peso penaliza precisamente los nombres más concurridos en posiciones largas y con mayor momentum, va contra la ventaja del momentum y explica por qué el Sharpe cayó del 2.63 del modelo padre al 1.16. Permitir que el optimizador elija carry_weight deja que los datos determinen si el carry aporta algo; si el óptimo es ~0, ese es en sí el hallazgo (la doble clasificación no tiene una ventaja independiente y conviene dar prioridad a la rotación por momentum existente en lugar de lanzar un duplicado). Considera también aplicar la inclinación al carry solo cuando la financiación sea realmente negativa (filtrarla), para que ayude en los regímenes aprovechados por el modelo padre de carry, en vez de ir contra el momentum cuando la financiación es positiva. 2) PROVIDE Un MOMENTUM-ONLY ABLATION. Vuelve a ejecutar con carry_weight=0 e informa Sharpe/DD frente a la configuración combinada, para ver si el factor carry añade valor sobre el modelo padre solo de momentum promovido BEFORE antes de dedicar recursos de cómputo a la optimización. Si la versión combinada no supera a la de solo momentum fuera de muestra, esta hipótesis es un duplicado peor y debe abandonarse. 3) ADDRESS DRAWDOWN. max_drawdown 51.1% supera la línea 50% (DD-CI alto 74.9%). Comprueba si la inclinación al carry hacia nombres con menor financiación (a menudo más débiles o rezagados) empeora el drawdown, y si la beta más alta de AVAX contribuye. Solo debería pasar a optimización después de que la combinación sea ajustable y una ablación de solo momentum confirme que el factor carry ayuda.

Resumen de resultados

Una cartera long-only en majors con funding positivo no puede, por estructura, capturar el carry de funding negativo: paga funding en vez de cobrarlo. Por eso, combinar carry con una rotación long de momentum solo puede diluir la ventaja del momentum. Cuando el peso óptimo de un factor combinado cae a cero, conviene usar la estrategia existente de un solo factor en vez de lanzar una copia.

El revisor del backtest recomendó «abandonar» en el control previo a la optimización: la premisa de doble clasificación quedó refutada; el carry no aportó una ventaja independiente y diluyó activamente el momentum. Optimizar carry_weight lo llevaría a ~0, creando una copia sin diferenciación de la rotación de momentum transversal ya promovida. Además, por estructura, una cartera de perps USD-M long-only paga costes de funding en los regímenes alcistas con funding positivo en que opera y queda por detrás de la rotación de momentum spot sin comisiones (Sharpe 4.83).

Rotación long-only con rebalanceo semanal sobre 8 USD-M majors de Binance. Clasificaba dos veces los factores que habían llegado a paper en la fábrica: momentum transversal de fuerza relativa y carry de funding negativo. Mantenía los top-3 según una puntuación z combinada (con el sesgo carry limitado solo al funding realmente negativo) y pasaba a efectivo cuando BTC cerraba por debajo de su nivel de régimen SMA.

Con datos completos (172 operaciones, 1,080 días de operación, 12,870 eventos de funding, metrics_reliable=true), la doble clasificación fue claramente peor que su estrategia matriz de momentum: Sharpe 1.04 (por debajo del 1.16 sin filtro de la iteración-1 y muy inferior al de 2.63 de la estrategia matriz solo de momentum), factor de beneficio 1.67, ratio de información -0.0025, sharpe_ci_low 0.277, curtosis 139.8, drawdown máximo 47.5%, con el resultado principal concentrado en unas pocas semanas de picos de 2021. No se ejecutó ninguna fase de optimización.

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.