Vai al contenuto
Tutte le strategie

Strategie

Rotazione difensiva settimanale a bassa volatilità su otto principali perpetui crypto, solo long con filtro trend (BINANCE USD-M, mantieni i 3 principali con volatilità realizzata LOWEST, resta in liquidità sotto il trend, nuovo segnale di rango della volatilità, 3 parametri)

Esito: Abbandonato

LowVolDefensiveWeeklyRotation8Majors

Riepilogo esito

Questa strategia mirava a diversificare il portafoglio con una rotazione settimanale solo long sui tre principali perpetui più stabili, sfruttando l’anomalia documentata della bassa volatilità con soli tre parametri principali, senza leva e con un filtro trend per restare in liquidità durante i regimi ribassisti. Il backtest iniziale si è distinto nel gruppo: Sharpe vicino a 1.0, con intervallo di confidenza che escludeva nettamente lo zero, profit factor 1.72 e rendimento netto dopo le commissioni del +1319%; la……Mostra altroMostra meno

Questa strategia mirava a diversificare il portafoglio con una rotazione settimanale solo long sui tre principali perpetui più stabili, sfruttando l’anomalia documentata della bassa volatilità con soli tre parametri principali, senza leva e con un filtro trend per restare in liquidità durante i regimi ribassisti. Il backtest iniziale si è distinto nel gruppo: Sharpe vicino a 1.0, con intervallo di confidenza che escludeva nettamente lo zero, profit factor 1.72 e rendimento netto dopo le commissioni del +1319%; la revisione pre-ottimizzazione ha quindi dato un verdetto «ottimizzare». L’ottimizzazione ha però rivelato che il vantaggio era illusorio: lo Sharpe medio walk-forward fuori campione è stato -0.742 contro +1.47 nel campione, lo Sharpe deflazionato di 0.09 era ben al di sotto del livello di rumore atteso dal migliore tra -225 tentativi, PBO era 0.70 e i rendimenti si sono rivelati un artefatto del mercato rialzista 2021. Dopo due iterazioni, l’analista l’ha abbandonata per un’effettiva mancanza di robustezza: la strategia operava correttamente, ma non aveva alcun vantaggio generalizzabile, in linea con una classe di fallimenti di rotazione delle principali valute a bassa volatilità già accantonata più volte.

Ipotesi

Una rotazione settimanale LONG-ONLY sulle 8 principali perps USD-M (BTC/ETH/SOL/BNB/AVAX/LINK/ADA/XRP), il cui SORT SIGNAL è la volatilità realizzata VOLATILITY: selettore deliberatamente ORTHOGONAL, con segno opposto rispetto al paniere momentum di forza relativa già in uso (che mantiene i titoli con i movimenti FASTEST). Per L24, un nuovo paniere di valute principali deve indicare un input di segnale che nessun paniere promosso usa: questo usa il ranking inverso della volatilità realizzata (anomalia difensiva/a……Mostra altroMostra meno

Una rotazione settimanale LONG-ONLY sulle 8 principali perps USD-M (BTC/ETH/SOL/BNB/AVAX/LINK/ADA/XRP), il cui SORT SIGNAL è la volatilità realizzata VOLATILITY: selettore deliberatamente ORTHOGONAL, con segno opposto rispetto al paniere momentum di forza relativa già in uso (che mantiene i titoli con i movimenti FASTEST). Per L24, un nuovo paniere di valute principali deve indicare un input di segnale che nessun paniere promosso usa: questo usa il ranking inverso della volatilità realizzata (anomalia difensiva/a bassa volatilità), che non è usato né dalla rotazione momentum promossa (rendimento grezzo) né dal paniere carry promosso (funding). Quindi seleziona quasi DISJOINT insieme di nomi rispetto al portafoglio momentum già in uso, nella maggior parte delle settimane: è un vero diversificatore, non una ripesatura. Evita tutti i fallimenti recenti: niente carry sul funding (il carry su altcoin e tra exchange è appena risultato negativo al netto dei costi), niente scommessa sul prezzo di un singolo nome (overfit/perdita esplosiva), niente opzioni (limite al numero di operazioni), niente liquidazioni (limite dei dati), niente coppia di cointegrazione (SOL-AVAX -82%), niente paniere market-neutral (L12 0/53 erosione da commissioni: questa è solo long, a basso turnover). Solo 3 parametri (finestra di lookback della volatilità, top-K, trend MA) e nessuna leva (in risposta alla lezione sulle liquidazioni intraday-CM). I nomi a bassa volatilità sono stabili, quindi il turnover del ranking è basso e l’impatto delle commissioni minimo; la cadenza settimanale su una cronologia pluriennale produce un campione misurabile.

L’iterazione 2 corregge esattamente il problema del livello -3 («nessuna operazione generata»). Causa principale: _extract_symbol_from_bar leggeva bar.instrument_id, che non esiste su Bar in questa versione di NautilusTrader: sollevava AttributeError, assorbito dal bare except, quindi _ingest_bar registrava NO chiusure per qualsiasi simbolo; con i buffer dei prezzi vuoti non era possibile calcolare la volatilità realizzata, i candidati restavano sotto top_k e _maybe_rebalance restituiva anticipatamente a ogni……Mostra altroMostra meno

L’iterazione 2 corregge esattamente il problema del livello -3 («nessuna operazione generata»). Causa principale: _extract_symbol_from_bar leggeva bar.instrument_id, che non esiste su Bar in questa versione di NautilusTrader: sollevava AttributeError, assorbito dal bare except, quindi _ingest_bar registrava NO chiusure per qualsiasi simbolo; con i buffer dei prezzi vuoti non era possibile calcolare la volatilità realizzata, i candidati restavano sotto top_k e _maybe_rebalance restituiva anticipatamente a ogni barra → zero operazioni. La correzione minima legge bar.bar_type.instrument_id.symbol (lo stesso percorso usato da on_bar del template di base alla riga 276), verificato per restituire «BTCUSDT» ecc. Nient’altro è cambiato: gli import restano puliti, il segnale continuo di differenziale di stabilità e tutta la logica multi-strumento/ribilanciamento (che aveva già superato i livelli 1–2) sono intatti, e la configurazione dichiara tutti gli strumenti 8 su barre 1-DAY, così la sandbox carica l’intero universo. Questo mantiene superati tutti i livelli precedenti e consente alla rotazione settimanale di aprire effettivamente operazioni.

Sharpe deflazionato non superato: DSR=0.0899, massimo atteso=1.44 su 225 tentativi: lo Sharpe selezionato (1.006) è sotto il massimo atteso dal rumore, cioè indistinguibile dal rumore del migliore tra N. È un caso da manuale di overfit, non una premessa correggibile: la media walk-forward IS +1.47 si inverte in una media OOS -0.742 (is_overfitted=TRUE), PBO=0.70>0.5, Sharpe sul campione di verifica di appena 0.178, e il risultato principale sull’intero campione (+1319%) è sostenuto dal mercato rialzista 2021……Mostra altroMostra meno

Sharpe deflazionato non superato: DSR=0.0899, massimo atteso=1.44 su 225 tentativi: lo Sharpe selezionato (1.006) è sotto il massimo atteso dal rumore, cioè indistinguibile dal rumore del migliore tra N. È un caso da manuale di overfit, non una premessa correggibile: la media walk-forward IS +1.47 si inverte in una media OOS -0.742 (is_overfitted=TRUE), PBO=0.70>0.5, Sharpe sul campione di verifica di appena 0.178, e il risultato principale sull’intero campione (+1319%) è sostenuto dal mercato rialzista 2021 (2022 -24%, 2026 -19%). Il meccanismo di rotazione delle principali valute a bassa volatilità/contro il beta è già stato abbandonato più volte nell’archivio dei risultati per lo stesso profilo di overfit (strategie correlate con similarità 0.81/0.80); riformularlo su un altro insieme di valute principali porterebbe solo a un nuovo overfit, e l’analisi non mostra alcuna regione robusta di parametri verso cui ottimizzare (OOS negativo in tutte le finestre, nessun intervallo senza discontinuità con un vero vantaggio OOS). Nessuna iterazione può trasformare un vantaggio negativo fuori campione in uno reale. È un verdetto di effettiva mancanza di robustezza: la strategia opera correttamente, ma non ha un vantaggio generalizzabile.

Implementazione

Rotazione difensiva long-only settimanale a bassa volatilità su 8 principali perps Binance USD-M (BTC/ETH/SOL/BNB/AVAX/LINK/ADA/XRP) su barre 1-DAY. Ogni settimana (rebalance_days=7) classifica l’universo per volatilità realizzata in retrospettiva (deviazione standard campionaria dei rendimenti log giornalieri su vol_lookback_days) ASCENDING e punta ai top_k=3 nomi CALMEST; poi applica un filtro trend per nome: un nome selezionato resta in portafoglio solo finché la chiusura supera il proprio trend_ma_days SMA, altrimenti quella quota resta in liquidità. Esce dai nomi detenuti che lasciano il paniere obiettivo e apre nuove posizioni sui nomi obiettivo, con pesi uguali pari a allocation_per_position del capitale per gamba. Solo long, leva=1, dimensionamento relativo al capitale tramite get_account_equity(). Tre parametri principali (vol_lookback_days, top_k, trend_ma_days) più parametri strutturali.

Risultati di verifica

Verifica non superata (livello 3 — backtest sandbox): nessuna operazione generata Tipo di barra usato: BTCUSDT.BINANCE-1-DAY-LAST-EXTERNAL, barre elaborate: 364 Diagnostica: should_enter() ha restituito un lato 0 volte su 0 barre valutate -> il tuo ENTRY CONDITION non si è mai attivato. Allenta la logica di ingresso o le soglie. Assicurati che la strategia generi operazioni con i dati e i parametri forniti.

Analista: valuta il backtest completo di più anni; non ottimizzare finché il segno del vantaggio non è accertato sulla finestra più lunga.

Campione negativo ma ridotto e limitato a un regime: PF 0.41, total_return -18.1%, win_rate 0.238, avg_trade_return_pct -2.97% su appena 21 operazioni in un anno. RR è favorevole (avg_win 2486 = 1.3× avg_loss 1890); l’unico freno è il basso tasso di operazioni vincenti, e lo Sharpe -1.16 CI [-2.77, +0.36] tocca ancora valori positivi. L’anomalia di bassa volatilità è un effetto di lungo periodo che una finestra di un anno di vendite di altcoin non può valutare.

Conferma un campione decisamente più ampio nel backtest completo di più anni.

Poche operazioni (21 in 363 giorni, sotto la soglia di circa 100): atteso per una rotazione settimanale a basso turnover (turnover 8.1), ma il risultato negativo si basa su pochi campioni.

Valuta di ricavare la gestione delle barre extra dalla base invece di reimplementare il dispatch, per evitare divergenze silenziose.

on_bar è sovrascritto integralmente, reimplementa manualmente il dispatch di base e fa riferimento agli interni della base. Funziona (superati i livelli 1-3, operazioni su tutte le gambe), ma è fragile rispetto a modifiche future del template di base.

Revisione Backtest

Sharpe
1,00
Rendimento totale
1318,94%
Drawdown massimo
35,21%
Operazioni totali
138
Tasso di successo
44,2%
Profit Factor
1,72

Vantaggio statisticamente significativo: Sharpe 1.0 con 95% CI [0.42, 1.61] EXCLUDING zero (probabilistic_sharpe 0.9995): l’unica strategia del gruppo recente a superare questa soglia

profit_factor 1.72 (ben oltre la soglia 1.2 di assenza di vantaggio), Sortino 1.43, valore atteso +$8.3k/trade

Distribuzione per regime: positivo in 5 anni su 7 (2020/2021/2023/2024/2025), anni negativi moderati (-24%, -19%); max_drawdown 35% sotto la soglia di abbandono definitivo, nessuna liquidazione, leva 1x

Commissioni contenute, come previsto: avg_trade_return_pct ~11% nella rotazione settimanale a basso turnover, impact_cost_pct solo 1.3% del lordo, capacità $613M

Basata sull’anomalia reale e documentata di bassa volatilità/difensiva; segnale ortogonale al paniere momentum già in uso

Concentrazione anomala/rialzista: return_skew 2.59, curtosi 38, con 2020/2021 che contribuisce in misura rilevante: l’ottimizzazione deve confermare che il vantaggio regga in finestre OOS non rialziste

information_ratio -0.24 rispetto al benchmark del paniere equiponderato e benchmark_correlation 0.58 / beta 0.27: l’alfa autonoma è +0.20, ma il valore di diversificazione rispetto al semplice mantenimento del paniere è marginale

end_unrealized_pct 180 (~14% del risultato principale) è una valutazione mark-to-market delle posizioni aperte: valuta il percorso realizzato (ancora solido)

Analisi

La strategia viene eseguita correttamente sull’intera finestra (349 trade ottimizzati / 138 di base): corretto il bug precedente che impediva operazioni su barre e simboli.

Le metriche puntuali nel campione sembrano attraenti (PF 1.72, Sortino 1.43, Sharpe positivo sull’intero campione ~1.0): proprio per questo è importante correggere per i test multipli.

L’analisi di sensibilità non mostra discontinuità; i parametri sono stabili singolarmente nel campione.

Overfit walk-forward: Sharpe medio IS +1.47 crolla a OOS media -0.742 (finestre -1.21, -1.46, +0.44). Il vantaggio non è generalizzabile.

Sharpe deflazionato 0.0899 << 0.95, e lo Sharpe ottimizzato (1.006) è BELOW expected_max_sharpe_annualized (1.44): la selezione è indistinguibile dal rumore del migliore tra -225 tentativi.

PBO 0.70 > 0.5: è più probabile che la selezione dei parametri sia in overfit; is_significant = false.

Sharpe sul campione di verifica di appena 0.178; sia win_rate 0.149 sia max_drawdown 32.4% sono sotto le soglie minime.

Il rendimento è concentrato su 2021 (annuale 2021 +251%/+204%; 2022 -24%, 2026 -19%): dipendenza da un singolo regime rialzista.

Corrisponde a una classe di fallimenti abbandonata ripetutamente: rotazione delle principali valute a bassa volatilità (similarità 0.81 «overfit», 0.80 «verification_loop»).

0.7x WF OOS

Riepilogo esito

Uno Sharpe attraente sull’intero campione non significa nulla se dipende dal regime rialzista e fallisce nel walk-forward: il meccanismo di rotazione delle principali valute a bassa volatilità/contro il beta ha ormai mostrato più volte lo stesso profilo di overfit, quindi non vale la pena riprovare riformulandolo su un altro insieme di valute principali.

L’analista delle strategie l’ha abbandonata dopo l’ottimizzazione, con un verdetto di scarsa robustezza: lo Sharpe selezionato (1.006) è sceso sotto il massimo atteso dal rumore (1.44 su 225 tentativi), OOS è stato negativo in ogni finestra walk-forward, PBO ha superato 0.5 e il rendimento principale è stato sostenuto dal mercato rialzista 2021 (2022 -24%, 2026 -19%): un caso da manuale di overfit, senza una regione robusta di parametri verso cui ottimizzare.

Rotazione settimanale solo long su 8 principali perpetui Binance USD-M, che manteneva i 3 principali con la volatilità realizzata più bassa (anomalia difensiva/a bassa volatilità), con un filtro trend per nome, deliberatamente ortogonale al paniere momentum già in uso.

Il backtest iniziale mostrava un vantaggio statisticamente significativo (Sharpe ~1.0 con 95% CI [0.42, 1.61] che escludeva lo zero, profit factor 1.72, Sortino 1.43, rendimento totale +1319% su 138 operazioni, rendimento medio per operazione ~11%, drawdown massimo 35%, leva 1x). Con l’ottimizzazione, però, lo Sharpe IS walk-forward di +1.47 si è invertito, con una media OOS di -0.742, PBO 0.70, Sharpe deflazionato 0.0899, Sharpe sul campione di verifica di appena 0.178 e tasso di operazioni vincenti 0.149.

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.