Vai al contenuto
Tutte le strategie

Strategie

Backtest COIN-M ETH Donchian giornaliero, LONG/FLAT (perpetual inverso BINANCE_CM su un solo strumento, puro OHLCV, dimensionamento fisso con un solo ingresso, senza inversioni né ridimensionamenti, gemella di verifica del dimensionamento pulito con storico profondo del portafoglio CM BTC in attesa — verifica se il percorso del conto COIN-M evita il difetto di sovraesposizione USD-M, sicura nelle code, pochi parametri) | Stratmill

Esito: Abbandonato

CoinMEthDonchianBreakoutLongFlat

Riepilogo esito

CoinMEthDonchianBreakoutLongFlat è stata progettata come gemella diagnostica del portafoglio CM BTC: un breakout Donchian giornaliero long/flat, concepito per evitare al massimo i bug, il cui vero scopo era verificare, tramite un limite preregistrato al rendimento giornaliero del capitale del conto, se il percorso del conto COIN-M dimensionasse correttamente laddove USD-M presenta un difetto. Ha risposto alla domanda, ma nel modo sbagliato: una rilevazione giornaliera del capitale del conto pari a +206.9% su……Mostra altroMostra meno

CoinMEthDonchianBreakoutLongFlat è stata progettata come gemella diagnostica del portafoglio CM BTC: un breakout Donchian giornaliero long/flat, concepito per evitare al massimo i bug, il cui vero scopo era verificare, tramite un limite preregistrato al rendimento giornaliero del capitale del conto, se il percorso del conto COIN-M dimensionasse correttamente laddove USD-M presenta un difetto. Ha risposto alla domanda, ma nel modo sbagliato: una rilevazione giornaliera del capitale del conto pari a +206.9% su 2021-03-22 (molto oltre qualsiasi variazione di ETH) ha attivato il trigger di abbandono, mostrando che anche COIN-M dimensiona/marca in modo errato e che quel singolo giorno anomalo rappresentava praticamente tutto il risultato +245.7%. Rimosso l’artefatto, non restava alcun vantaggio: 26 operazioni, Sharpe CI a cavallo dello zero, drawdown di 69.6% e finestre di stress profondamente negative. È stata abbandonata durante la revisione del backtest e segnalata per l’escalation come riproduttore del difetto di sovraesposizione/marcatura COIN-M, prima di qualsiasi ottimizzazione o analisi.

Ipotesi

Una strategia LONG-ONLY (LONG/FLAT, mai short), SINGLE-INSTRUMENT, con breakout del canale Donchian DAILY su ETHUSD_PERP.BINANCE_CM (COIN-M perpetual inverso). È la deliberata TWIN del CoinMBTCDonchianBreakoutLongFlat in attesa: per confermare che una piattaforma dimensioni correttamente servono almeno due strumenti quotati lì (il difetto di sovraesposizione USD-M è stato attribuito all’intera piattaforma solo dopo che BTC 429%, ETH 1062% e SOL lo hanno riprodotto). ETH è l’unica altra major con storico profondo……Mostra altroMostra meno

Una strategia LONG-ONLY (LONG/FLAT, mai short), SINGLE-INSTRUMENT, con breakout del canale Donchian DAILY su ETHUSD_PERP.BINANCE_CM (COIN-M perpetual inverso). È la deliberata TWIN del CoinMBTCDonchianBreakoutLongFlat in attesa: per confermare che una piattaforma dimensioni correttamente servono almeno due strumenti quotati lì (il difetto di sovraesposizione USD-M è stato attribuito all’intera piattaforma solo dopo che BTC 429%, ETH 1062% e SOL lo hanno riprodotto). ETH è l’unica altra major con storico profondo COIN-M; un portafoglio long/flat CM ETH è quindi il secondo dato naturale. Motivazioni: (1) il perpetual BINANCE USD-M è corrotto dal motore (difetto di sovraesposizione dimostrato, due riproduttori long/flat 1x puliti BTC 429% / ETH 1062%, indipendenti da inversioni/ridimensionamenti); (2) lo spot-CASH BINANCE presenta un difetto nelle posizioni mantenute MTM; (3) il multi-strumento ha un difetto di aggregazione; (4) le opzioni hanno un difetto di marcatura alla liquidazione; (5) i segnali del censimento (liq/OI/taker/rapporto conti) sono limitati dai dati: i segnali sono quindi limitati a OHLCV + funding; (6) HYPERLIQUID dimensiona correttamente, ma ha uno storico limitato; la sua componente Donchian BTC/ETH/SOL è in attesa per questo rischio. COIN-M è l’unica altra piattaforma rimasta ONLY con un percorso distinto per conto/contratto (BOTH inverso, con margine BTC/ETH, dapi — potrebbe trovarsi al di fuori della pipeline USD-M position_size corrotta) e AND di storico pluriennale profondo (ETHUSD_PERP dal 2020), sufficiente per un’analisi walk-forward a 3 finestre + un holdout di 15 giorni. L’unico limite noto del motore di CM è l’esclusione di FUNDING inversi: questo portafoglio è PURE OHLCV, quindi il limite non si applica. La struttura evita al massimo i bug: un solo strumento, solo OHLCV, LONG/FLAT (senza accumulare inversioni), dimensionamento pari a una frazione fissa del capitale all’ingresso ONE, senza ridimensionamento dinamico NO, leva 1.0, ritorno a posizione piatta prima di qualsiasi nuovo ingresso, le commissioni più basse (~0.06% RT). PRE-REGISTERED ACCEPTANCE / SIZING CHECK (serve anche da rilevatore del difetto CM): avg_position_pct ~<=100% e variazioni giornaliere del capitale del conto entro ~+/-15-20% (ETH a 1x; il PnL inverso è lievemente non lineare, ma resta vicino alla variazione giornaliera di ETH). Se il controllo fallisce, il difetto di sovraesposizione si estende anche a COIN-M: abbandonare e segnalare come riproduttore CM. Se dimensiona correttamente, questo portafoglio, insieme al book CM BTC, stabilisce COIN-M come prima piattaforma con storico profondo capace di testare validamente il vantaggio del trend mentre USD-M è guasta.

L’iterazione 2 affronta il problema segnalato ONLY (livello 3 sandbox_timeout) con la modifica più piccola possibile, senza toccare altro: definizione del segnale, regole d’ingresso/uscita, dimensionamento, importazioni, configurazione e parametri mantengono esattamente lo stesso comportamento. Il feedback chiedeva un calcolo per barra che non scandisse una finestra: i due estremi mobili Donchian erano calcolati con max(self._highs) / min(self._lows) sulla deque memorizzata a ogni barra EVERY (O(lookback) per……Mostra altroMostra meno

L’iterazione 2 affronta il problema segnalato ONLY (livello 3 sandbox_timeout) con la modifica più piccola possibile, senza toccare altro: definizione del segnale, regole d’ingresso/uscita, dimensionamento, importazioni, configurazione e parametri mantengono esattamente lo stesso comportamento. Il feedback chiedeva un calcolo per barra che non scandisse una finestra: i due estremi mobili Donchian erano calcolati con max(self._highs) / min(self._lows) sulla deque memorizzata a ogni barra EVERY (O(lookback) per barra, fino a 60 confronti x3). Ora sono mantenuti con deque MONOTONIC con indici (_push_max/_push_min/_front), ottenendo O(1) ammortizzato per barra e una deque che non supera mai la lunghezza della finestra. Ho verificato rispetto a un riferimento brute-force su 3000 barre casuali che le serie di massimo d’ingresso, minimo d’ingresso e minimo d’uscita sono IDENTICAL rispetto all’implementazione precedente (solo barre passate, barra corrente esclusa), quindi il segnale e la sequenza delle operazioni non cambiano. La strategia non legge serie supplementari, non crea liste, non ordina nulla e non alloca memoria per barra: non resta quindi alcun costo per barra che cresca con lo storico. Nota: a barre da 1-DAY, la finestra della sandbox è di sole ~2400 barre, perciò il calcolo della strategia era già trascurabile rispetto al budget di 300s. Il tempo trascorso è probabilmente dominato dalla raccolta dei dati BINANCE_CM su richiesta per ETHUSD_PERP, al di fuori del controllo della strategia. Questa modifica elimina tutte le scansioni indicate nel feedback; se scade di nuovo il tempo, la causa è il percorso dei dati della piattaforma, non il codice.

Il controllo di dimensionamento preregistrato dell’ipotesi non è stato superato e il sottostante non presenta alcun vantaggio: abbandonare e segnalare come riproduttore del difetto di sovraesposizione/marcatura COIN-M. Lo sviluppatore aveva preregistrato che le variazioni giornaliere del capitale del conto dovessero restare entro ~±15-20% con 1x, altrimenti «il difetto di sovraesposizione si estende anche a COIN-M: abbandonare». La simulazione mostra un rendimento giornaliero del capitale del conto di +206.9% su……Mostra altroMostra meno

Il controllo di dimensionamento preregistrato dell’ipotesi non è stato superato e il sottostante non presenta alcun vantaggio: abbandonare e segnalare come riproduttore del difetto di sovraesposizione/marcatura COIN-M. Lo sviluppatore aveva preregistrato che le variazioni giornaliere del capitale del conto dovessero restare entro ~±15-20% con 1x, altrimenti «il difetto di sovraesposizione si estende anche a COIN-M: abbandonare». La simulazione mostra un rendimento giornaliero del capitale del conto di +206.9% su 2021-03-22 (ETH quel giorno non si è mosso nemmeno lontanamente di 207%), che ha superato il limite di un ordine di grandezza: anche il percorso del conto COIN-M dimensiona/marca in modo errato. Quel singolo giorno anomalo IS il risultato: 2021 è +272%, mentre 2022 (-1.4%), 2023 (-2.0%), 2025 (+1.5%) e 2026 (-6.1%) sono da invariati a negativi; quindi PF 3.67 e avg_trade_return_pct 13.55% sono illusori. A prescindere da ciò, non è investibile: max_drawdown 69.6% (da CI a 94.8%, oltre la soglia L19 50%), con tutte le finestre di stress profondamente negative (LUNA -52%, shock dei tassi -46%); appena 26 operazioni in 5.8 anni, ben al di sotto della soglia di misurabilità, e Sharpe 0.652 con bootstrap CI [-0.15, 1.47] a cavallo dello zero: un breakout Donchian su un solo strumento tra i casi da scartare L30/L63. Nessuna ottimizzazione va eseguita su un PnL generato da un artefatto di marcatura/sovraesposizione; rimosso l’artefatto, non resta alcun vantaggio. Schema di fallimento: artefatto di sovraesposizione/marcatura della piattaforma (trigger preregistrato) + breakout su un solo strumento risk_reject/no_edge, 70% DD (L19/L30).

Implementazione

Breakout Donchian giornaliero long/flat sul perpetual inverso ETH COIN-M (ETHUSD_PERP.BINANCE_CM, barre da 1-DAY, puro OHLCV). Apre una posizione long quando la chiusura supera il massimo delle precedenti entry_lookback barre; esce quando la chiusura scende sotto il minimo delle precedenti exit_lookback barre (lo stop mobile del trend). Segnale continuo = (chiusura - channel_mid) / channel_half_width, ricalcolato a ogni barra. A ogni ingresso, nozionale pari a una frazione fissa del capitale (0.75x), senza ridimensionamenti, accumuli o inversioni, leva 1.0; dimensionamento in contratti inversi interi da $10 tramite contracts_for_notional. Serve anche da verifica del dimensionamento COIN-M: avg_position_pct dovrebbe avvicinarsi a 75% e le variazioni giornaliere del capitale del conto a quelle proprie di ETH.

Risultati di verifica

sandbox_timeout: verifica non riuscita (livello 3 — backtest sandbox): il test rapido ha superato il limite di 300s di tempo trascorso su una finestra di ~20000 barre (2400 giorni di ETHUSD_PERP.BINANCE_CM-1-DAY-LAST-EXTERNAL). Questo di solito indica un lavoro per barra che cresce con lo storico, ad esempio una nuova scansione dell’intera serie di funding/dati supplementari o la ricostruzione di una lista con chiamate a min()/sorted() dentro calculate_signal()/on_bar() a ogni barra. Precalcola gli array di timestamp ordinati ONCE in __init__ e usa bisect, oppure memorizza i risultati delle ricerche per timestamp, così il costo per barra è O(log n), non O(n).

L’analista deve confermare dal report di posizioni/operazioni che, in ogni momento, le due componenti sono su lati opposti e hanno un nozionale USD pressoché uguale (delta netto ~0), e che nessuna variazione giornaliera del capitale del conto supera ~+/-15-20%: sono i criteri di accettazione della neutralità delta dell’ipotesi, da verificare prima di passare all’ottimizzazione.

Il dato riportato exposure_pct (200.57%) contraddice il razionale della configurazione, che prevedeva un nozionale lordo di ~0.50x. Le evidenze indicano che SIZING è corretto (per_leg = capitale*0.25*1.0; avg_position_pct 24.6% corrisponde all’obiettivo di 25% per lato; la modifica della leva da 2 a 1 ha lasciato invariato exposure_pct, quindi il dato non dipende dal percorso di dimensionamento/leva) e che 200% è lo stesso artefatto di aggregazione a due lati osservato su altre coppie dimensionate correttamente. Non è un difetto confermato, ma poiché l’ipotesi aveva preregistrato un controllo di accettazione dell’esposizione, va verificato e non dato per scontato.

Revisione Backtest

Sharpe
0,65
Rendimento totale
245,70%
Drawdown massimo
69,59%
Operazioni totali
26
Tasso di successo
50,0%
Profit Factor
3,67

Struttura OHLCV long/flat pulita e minimale; intento corretto per il dimensionamento dei contratti inversi; commissioni basse (0.58% del lordo)

Raggiunge lo scopo diagnostico dichiarato: riproduce il difetto di sovraesposizione/marcatura della piattaforma su COIN-M

Controllo di accettazione preregistrato non rispettato: 2021-03-22 mostra un rendimento giornaliero del capitale del conto di +206.9% contro il limite ±15-20% fissato dall’ipotesi come trigger di abbandono — il percorso del conto CM dimensiona/marca in modo errato

Il risultato è un solo giorno anomalo: 2021 +272% (la stampa di +207%), mentre tutti gli altri anni sono da invariati a negativi; PF 3.67 / avg_trade_return_pct 13.55% corrispondono a quel singolo giorno

Drawdown catastrofico: max_drawdown 69.6% (da CI a 94.8%), oltre la soglia L19; tutte le finestre di stress profondamente negative

Sotto la soglia di misurabilità: 26 operazioni in 5.8 anni; Sharpe 0.652 con CI [-0.15, 1.47] a cavallo dello zero; breakout su un solo strumento nel cimitero (L30/L63)

Riepilogo esito

È il controllo preregistrato di dimensionamento/accettazione a trasformare una verifica in un verdetto: la variazione giornaliera del capitale del conto di +207% (impossibile rispetto al movimento effettivo di ETH) dimostra che il percorso del conto COIN-M condivide il difetto di sovraesposizione/marcatura USD-M, quindi il suo storico profondo non può testare validamente il vantaggio del trend; inoltre, un risultato basato su un solo giorno anomalo e appena 26 operazioni non è un risultato reale.

È stata abbandonata al controllo BACKTEST_REVIEW prima dell’ottimizzazione, in base al trigger preregistrato: il rendimento del capitale del conto in un solo giorno ha superato di gran lunga il limite di ±15-20%, quindi il percorso COIN-M riproduce il difetto di sovraesposizione/marcatura, da segnalare come riproduttore CM. Era inoltre non investibile: drawdown di 69.6% oltre la soglia L19, appena 26 operazioni (insufficienti per una misurazione), Sharpe CI a cavallo dello zero, tutte le finestre di stress profondamente negative e un breakout Donchian su un solo strumento (tra i casi da scartare L30/L63), il cui PnL è un artefatto di marcatura e, una volta rimosso, non mostra alcun vantaggio. Non si è mai arrivati all’ottimizzazione, all’analisi né alla revisione del rischio.

Una strategia trend following long-only (long/flat, mai short), su un solo strumento, puramente OHLCV, con breakout Donchian giornaliero su ETH COIN-M perpetual inverso (ETHUSD_PERP.BINANCE_CM); una sola dimensione d’ingresso frazionaria fissa, senza ridimensionamenti né inversioni di posizione, leva 1.0. Progettata come gemella con storico profondo del portafoglio CM BTC per verificare, tramite un controllo del dimensionamento preregistrato, se il percorso del conto COIN-M evita il difetto di sovraesposizione USD-M già dimostrato.

Il controllo di accettazione preregistrato non è stato superato: su 2021-03-22 è stato registrato un rendimento giornaliero del capitale del conto di +206.9% (ETH non si è mosso neanche lontanamente di quella misura), che ha superato il limite ±15-20% di un ordine di grandezza, confermando che anche il percorso del conto CM dimensiona/marca in modo errato. Il risultato principale (rendimento totale +245.7%, PF 3.67, avg_trade_return_pct 13.55%) derivava da quel singolo giorno anomalo: 2021 era +272%, mentre gli altri anni erano da invariati a negativi. Drawdown massimo di 69.6% (da CI a 94.8%), appena 26 operazioni in 5.8 anni e Sharpe 0.652 (CI [-0.15, 1.47] a cavallo dello zero).

Stratmill è uno strumento di ricerca e paper trading, non una consulenza finanziaria né un broker. I risultati di backtest e paper trading sono ipotetici. Il trading comporta un rischio di perdita.