Saltar al contenido
Todas las estrategias

Estrategias

BTC Rebote en muro de liquidez pasiva, largo-corto (perpetuo BINANCE USD-M de un solo instrumento, ORDER-BOOK DELTAS: una primitiva profunda de microestructura no probada en esta sesión). Detectar un muro grande de órdenes límite PERSISTENT/que se reponen (iceberg) y operar el rebote cuando el precio lo pone a prueba: posición larga desde un muro comprador, corta desde un muro vendedor, ruptura del muro = stop, mantener poco tiempo, 3 parámetros

Resultado: Abandonada

BtcRestingLiquidityWallBounceLS

El desarrollador reveló con honestidad la carencia de datos y la corrección del fallo; realmente intentó usar un elemento primitivo novedoso

Hipótesis

Una estrategia LONG-SHORT de MICROSTRUCTURE sobre BTCUSDT.BINANCE (USD-M perp) que usa el ONE único tipo de datos profundos aún no probado en esta sesión: ORDER-BOOK DELTAS (liquidez de órdenes limitadas pasivas), distinto de todos los intentos anteriores, basados en el precio (OHLCV, fallido), el flujo de órdenes taker (aggTrades: mi idea de absorción perdió dinero por las comisiones, −0.02%/operación; las variantes de barrido y ruptura están pendientes), la financiación (se deterioró) o la base (pendiente).……Ver másVer menos

Una estrategia LONG-SHORT de MICROSTRUCTURE sobre BTCUSDT.BINANCE (USD-M perp) que usa el ONE único tipo de datos profundos aún no probado en esta sesión: ORDER-BOOK DELTAS (liquidez de órdenes limitadas pasivas), distinto de todos los intentos anteriores, basados en el precio (OHLCV, fallido), el flujo de órdenes taker (aggTrades: mi idea de absorción perdió dinero por las comisiones, −0.02%/operación; las variantes de barrido y ruptura están pendientes), la financiación (se deterioró) o la base (pendiente). Cumple las restricciones restantes: L30 (puro-OHLCV = 0/213 → la señal depende de la estructura RESTING-LIQUIDITY, no del precio), L29 (sin opciones), L28 (sin carry de financiación). Mecanismo: las grandes órdenes limitadas PASSIVE que persisten o se REFILL repetidamente en un nivel (icebergs o muros de liquidez) indican dónde un gran participante defiende un precio; cuando el precio prueba ese muro, tiende a BOUNCE (el muro absorbe al agresor) hasta que se agota. Detecta un muro mediante los deltas del libro de órdenes: un tamaño pasivo en un nivel de ≥ wall_k × la profundidad típica del libro AND que persiste o se repone durante ≥ persist_n actualizaciones del libro; luego opera el rebote: el precio prueba un muro BID desde arriba → LONG; prueba un muro ASK desde abajo → SHORT. El propio nivel del muro es el stop: si el muro es CONSUMED (los deltas muestran que se agotó y el precio lo atraviesa), la tesis es incorrecta → sal de inmediato; así se obtiene una invalidación estructural ajustada y una relación riesgo/recompensa positiva. Se elige BTC por tener el libro de órdenes más profundo y concurrido (señal de muro más rica y limpia) y la ejecución más ajustada. Un solo instrumento, LONG-SHORT (compensa el desequilibrio de posiciones largas de 85%), con una posición intradía rápida. 3 parámetros principales (multiplicador del tamaño del muro, recuento de persistencia, objetivo del rebote). NOTE: esta es una prueba EXPLORATORY de un tipo de datos verdaderamente nuevo; el espacio de diseño viable para los mecanismos convencionales se agotó empíricamente en esta sesión.

La iteración 2 es una corrección de fallo por una sola causa y nada más. El entorno aislado se abortó con "'float' object is not callable" porque el nivel de stop de la operación se almacenó en self._stop, que oculta Strategy._stop: el método de desmontaje del componente Cython que el motor invoca al detener la estrategia. Confirmé en el motor instalado (nautilus_trader 1.222.0) que Strategy._stop es un método real y que ningún otro atributo que esta clase asigna entra en conflicto con un atributo invocable de la……Ver másVer menos

La iteración 2 es una corrección de fallo por una sola causa y nada más. El entorno aislado se abortó con "'float' object is not callable" porque el nivel de stop de la operación se almacenó en self._stop, que oculta Strategy._stop: el método de desmontaje del componente Cython que el motor invoca al detener la estrategia. Confirmé en el motor instalado (nautilus_trader 1.222.0) que Strategy._stop es un método real y que ningún otro atributo que esta clase asigna entra en conflicto con un atributo invocable de la clase base. El atributo se renombra a self._stop_px (y su atributo hermano a _target_px por simetría, aunque _target no entra en conflicto); solo se modifican los seis puntos de asignación/lectura. La señal de detección de muros, las condiciones de entrada, las reglas de salida (stop / objetivo / stop temporal), el tamaño de posición y todos los parámetros son idénticos byte por byte en los demás aspectos, así que las capas anteriores que ya pasaron siguen pasando. Se conserva sin cambios la declaración franca del docstring sobre que el catálogo order_book_deltas no se puede usar dentro de la muestra.

Colapso catastrófico por un mecanismo cuyos datos no existen: no vale la pena dedicarle 2 horas de optimización. La cuenta LIQUIDATED en 2020-01-29, aproximadamente seis semanas después del inicio de una prueba retrospectiva de seis años (total_return -100%, max_drawdown 100%, un día -1376% en 2020-01-28, return_skew -18.5, curtosis 377); todos los rendimientos diarios posteriores son 0.0. Es una catástrofe de comisiones por operar en exceso durante 1m: profit_factor 0.062, avg_trade_return_pct 0.0025%……Ver másVer menos

Colapso catastrófico por un mecanismo cuyos datos no existen: no vale la pena dedicarle 2 horas de optimización. La cuenta LIQUIDATED en 2020-01-29, aproximadamente seis semanas después del inicio de una prueba retrospectiva de seis años (total_return -100%, max_drawdown 100%, un día -1376% en 2020-01-28, return_skew -18.5, curtosis 377); todos los rendimientos diarios posteriores son 0.0. Es una catástrofe de comisiones por operar en exceso durante 1m: profit_factor 0.062, avg_trade_return_pct 0.0025% (prácticamente cero), comisión 482.8% del bruto (las comisiones ~5x de todo el beneficio bruto), esperanza -$25.3/operación en 12,735 operaciones, con la relación recompensa:riesgo invertida de forma catastrófica (avg_win $4.17 frente a avg_loss $44.76). Y lo crucial: la primitiva hipotetizada —los deltas del libro de órdenes— no existe en el catálogo (1-2 instantáneas de latencia casi nula, cero operaciones en las iteraciones 1-3), así que el desarrollador la sustituyó por un indicador indirecto basado en el contacto del precio con niveles de barras, que es un mecanismo distinto y fallido: un rebote genérico de soporte/resistencia de 1m, directamente en el cementerio de estrategias puras de L30 OHLCV (0/213). Por tanto, la ejecución no prueba ni la ventaja declarada ni una estrategia viable. Ningún cambio de parámetros rescata una estrategia que liquidó en el primer mes, y la familia de deltas del libro de órdenes no se puede probar hasta que una tarea de ingeniería de datos proporcione un libro de deltas real que abarque años. Patrón de fallo: liquidación de risk_reject/fee_edge, desajuste del mecanismo por una ruta de datos inexistente (L30).

Implementación

Estrategia de microestructura long-short con un solo instrumento en BTCUSDT.BINANCE USD-M perp (velas de 1 minutos). Un muro de liquidez pasiva se identifica como un nivel de precio que se ha DEFENDED repetidamente: el extremo de un período retrospectivo de 120 velas que los extremos de las velas han tocado al menos persist_n veces dentro de una banda de wall_k%, es decir, un nivel donde un gran participante pasivo sigue reponiendo liquidez. Cuando el precio prueba desde arriba un muro de soporte defendido (dentro de touch_pct), va LONG el rebote; si prueba desde abajo una resistencia defendida, va SHORT. El propio muro marca la invalidación estructural: una ruptura más allá de él por break_buf_pct provoca la salida inmediata, con un stop ajustado frente a un objetivo de bounce_pct y una duración máxima de 60 minutos. Sin apalancamiento, un instrumento, long+short.

Resultados de verificación

Verificación fallida (capa 3 — backtest en sandbox): «'float' object is not callable» Tipo de barra usado: BTCUSDT.BINANCE-1-MINUTE-LAST-EXTERNAL, barras procesadas: 0 Asegúrate de que tu estrategia produzca operaciones con los datos y parámetros dados.

Revisión de backtest

Sharpe
-3,27
Rentabilidad total
-100,00%
Drawdown máximo
100,00%
Operaciones totales
12735
Tasa de acierto
39,9%
Factor de beneficio
0,06

El desarrollador reveló con honestidad la carencia de datos y la corrección del fallo; realmente intentó usar un elemento primitivo novedoso

Cuenta LIQUIDATED 2020-01-29 (~6 semanas transcurridas): total_return -100%, max_drawdown 100%, Sharpe -3.27 (CI [-8.57,-2.72]), PSR 0.0

Catástrofe de comisiones: PF 0.062, avg_trade_return_pct 0.0025%, comisiones 482.8% del bruto, esperanza matemática -$25.3/operación en 12,735 operaciones

RR invertida de forma catastrófica (avg_win $4.17 frente a avg_loss $44.76); return_skew -18.5, curtosis 377 (un día -1376%)

La premisa de los datos de deltas del libro de órdenes no se sostiene porque esos datos no existen; el indicador indirecto es un rebote genérico de soporte/resistencia de 1m —L30 cementerio de estrategias puras de OHLCV—; no prueba ni la ventaja declarada ni una estrategia viable

Historial de iteraciones

Verificación fallida (capa 3 — backtest en sandbox): No se produjeron operaciones Tipo de barra usado: BTCUSDT.BINANCE-1-MINUTE-LAST-EXTERNAL, barras procesadas: 524223 Diagnóstico: should_enter() devolvió un lado 0 veces en 524222 barras evaluadas -> tu ENTRY CONDITION nunca se activó. Relaja la lógica de entrada / los umbrales. Asegúrate de que tu estrategia produzca operaciones con los datos y parámetros dados.

Verificación fallida (capa 3 — backtest en sandbox): No se produjeron operaciones Tipo de barra usado: BTCUSDT.BINANCE-1-MINUTE-LAST-EXTERNAL, barras procesadas: 524198 Diagnóstico: should_enter() devolvió un lado 0 veces en 524197 barras evaluadas -> tu ENTRY CONDITION nunca se activó. Relaja la lógica de entrada / los umbrales. Asegúrate de que tu estrategia produzca operaciones con los datos y parámetros dados.

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.