Basket spot di crypto major con volatilità obiettivo, long-only (4 major BINANCE_SPOT: BTC/ETH/SOL/BNB, barre giornaliere). Mantieni un basket equamente ponderato dei nomi sopra il loro trend di lungo periodo, ma ridimensiona SCALE TOTAL DEPLOYED EXPOSURE in modo inversamente proporzionale alla volatilità realizzata del portafoglio per raggiungere un obiettivo di volatilità costante; basso turnover, 3 parametri.
Esito: Abbandonato
SpotVolatilityTargetedMajorsBasketLong
Riepilogo esito
Questa strategia ha provato a introdurre nella fabbrica il premio di volatilità gestita Moreira-Muir: mantiene le major in trend e riduce l’esposizione totale al crescere della volatilità realizzata, per puntare a una volatilità costante. Ma il backtest era corrotto al suo interno: rendimento totale fisicamente impossibile di +8,697%, guadagni giornalieri singoli superiori a 240% e oscillazioni dell’equity di 26-29x su un conto da $100k, mentre il vero vantaggio era negativo (Sharpe -0.087, avg_trade_return_pct -0.785%). L’iterazione 2 aveva rielaborato la contabilità delle uscite dopo un avviso QA, ma il risultato è tornato ancora più compromesso e il dimensionamento/ribilanciamento chiaramente impiegavano capitale in eccesso e capitalizzavano in modo errato. L’analista l’ha abbandonata durante la revisione del backtest: il difetto contabile rendeva la serie inaffidabile, l’ottimizzazione si sarebbe limitata ad adattarsi agli artefatti e il basket gemello già scartato confermava che la famiglia di major con volatilità gestita aggiunge valore attivo negativo.
Un basket LONG-ONLY di crypto major SPOT (BTC/ETH/SOL/BNB) il cui vantaggio non deriva NOT da un segnale direzionale, ma da PORTFOLIO VOLATILITY MANAGEMENT: il premio documentato del «portafoglio a volatilità gestita» di Moreira-Muir, mai testato prima in questa fabbrica. Meccanismo: mantiene una quota equamente ponderata delle major sopra il loro trend di lungo periodo, ma ridimensiona la percentuale TOTAL impiegata in modo inversamente proporzionale alla volatilità realizzata recente del basket, così che il……Mostra altroMostra meno
Un basket LONG-ONLY di crypto major SPOT (BTC/ETH/SOL/BNB) il cui vantaggio non deriva NOT da un segnale direzionale, ma da PORTFOLIO VOLATILITY MANAGEMENT: il premio documentato del «portafoglio a volatilità gestita» di Moreira-Muir, mai testato prima in questa fabbrica. Meccanismo: mantiene una quota equamente ponderata delle major sopra il loro trend di lungo periodo, ma ridimensiona la percentuale TOTAL impiegata in modo inversamente proporzionale alla volatilità realizzata recente del basket, così che il portafoglio punti a una volatilità costante. Poiché la volatilità realizzata persiste e i regimi ad alta volatilità nelle criptovalute producono rendimenti corretti per il rischio sistematicamente peggiori (la volatilità si raggruppa e i drawdown si verificano in stati di alta volatilità), ridurre l’esposizione quando la volatilità è alta e aumentarla quando è bassa migliora lo Sharpe e riduce drasticamente il drawdown rispetto al buy-and-hold statico: un vantaggio indipendente dalla direzione dei prezzi. È strutturalmente diversa da tutte le famiglie scartate o in lavorazione: NOT un fade/inversione (non opera contro i movimenti: i gemelli fade/inversione/premio/OI-squeeze hanno tutti perso denaro), NOT un trigger per eventi rari (l’esposizione è uno stato continuo, evitando la mortalità no_trades), NOT una rotazione RANK trasversale (nessuna graduatoria dei rendimenti, nessuna selezione top-K; mantiene le major in trend ALL, assente il meccanismo esaurito di L32), NOT carry da finanziamento (L33), NOT opzioni (nessun limite al numero di operazioni), NOT il basket di inversione sui forti ribassi che ha appena sovra-adattato i dati (IS 8.3 → OOS -2.64; qui non c’è un ingresso in inversione da adattare: le uniche quantità calibrate sono un obiettivo di volatilità e due finestre di osservazione). Lo spot long-only (CASH) è strutturalmente immune alle esplosioni dovute alla leva. Aggiunge la venue BINANCE_SPOT poco rappresentata e la categoria macro/orizzonte lungo quasi vuota; il basso turnover (ribilanciamento settimanale e banda di non intervento) rende trascurabile il costo di circa 0.20% andata e ritorno.
Risolve i due rilievi attuabili del Layer-4 con modifiche minime, mantenendo la logica di scalatura della volatilità che ha superato i layer precedenti. (1) Il sospetto relativo all'esecuzione/contabilizzazione segnalato da QA sul percorso di uscita è risolto: un titolo che esce dal paniere (target 0) ora viene chiuso tramite _submit_exit_position (chiusura reduce-only), che contabilizza correttamente la riduzione e libera CASH prima del ciclo di acquisto, invece di un SELL instradato tramite……Mostra altroMostra meno
Risolve i due rilievi attuabili del Layer-4 con modifiche minime, mantenendo la logica di scalatura della volatilità che ha superato i layer precedenti. (1) Il sospetto relativo all'esecuzione/contabilizzazione segnalato da QA sul percorso di uscita è risolto: un titolo che esce dal paniere (target 0) ora viene chiuso tramite _submit_exit_position (chiusura reduce-only), che contabilizza correttamente la riduzione e libera CASH prima del ciclo di acquisto, invece di un SELL instradato tramite _submit_entry_instrument; i tagli parziali per volatilità restano vendite SELL limitate, che riducono sempre e solo una posizione long. (2) Il problema dell'impossibilità di misurare/di un caso limite appena esercitato (solo 6 operazioni perché il filtro SMA(100) ha lasciato il paniere in liquidità per quasi tutta la finestra, perciò l'insieme delle operazioni chiuse era composto solo da perdite dovute all'interruzione del trend, mentre le operazioni vincenti restavano aperte) è risolto accorciando trend_len da 100 a 50 (il paniere resta investito per una porzione molto maggiore della finestra, quindi il ribilanciamento settimanale a volatilità inversa effettua davvero operazioni e l'overlay di gestione della volatilità di Moreira-Muir viene effettivamente testato) e restringendo rebalance_band da 0.15 a 0.10 (una quota maggiore degli aggiustamenti settimanali delle dimensioni guidati dalla volatilità e dei passaggi di idoneità supera la banda); nel complesso, ciò porta il numero di operazioni verso la soglia minima di misurabilità su quattro titoli e circa 50 ribilanciamenti settimanali. La formula di allocazione a volatilità inversa, il filtro di trend per titolo, la marcatura di _portfolio_value a NAV effettivo, l'ordinamento SELLS/chiusure-prima-di-BUYS e il dimensionamento long-only CASH (lordo <= 0.95x, leva 1.0) restano invariati; pertanto, i Layer 1-3 restano verdi e gli import sono puliti. Riconosco la preoccupazione più profonda di QA: un approccio puro basato su OHLCV e filtrato da SMA appartiene a una classe con basse probabilità di sopravvivenza, e un overlay di volatilità non può generare aspettativa positiva da un paniere mantenuto in trend durante una finestra ribassista; ciò è intrinseco alla premessa dichiarata dell'ipotesi (un premio di gestione della volatilità ortogonale alla direzione) e non può essere risolto senza abbandonarla o aggiungere un feed, cosa che andrebbe oltre un'iterazione con modifiche minime. Queste correzioni fanno sì che la strategia operi e venga misurata correttamente, così che l'analista possa valutare il premio su un backtest affidabile e con un campione adeguato, anziché su un artefatto di 6 operazioni.\n}
Il backtest non è affidabile: la contabilità dell’equity è corrotta. total_return +8,697% (87x) è impossibile per un basket spot long-only senza leva (<=1x), e i rendimenti giornalieri di +241% (2021-05-20), +158% (2019-07-04), +88.7% e +84.3% sono fisicamente impossibili per un portafoglio long-only <= 0.95x; avg_win $426k / largest_loss -$2.9M su un conto da $100k (oscillazioni dell’equity di 26-29x) e il turnover 635 (contro il ribilanciamento settimanale dichiarato a basso turnover) mostrano che……Mostra altroMostra meno
Il backtest non è affidabile: la contabilità dell’equity è corrotta. total_return +8,697% (87x) è impossibile per un basket spot long-only senza leva (<=1x), e i rendimenti giornalieri di +241% (2021-05-20), +158% (2019-07-04), +88.7% e +84.3% sono fisicamente impossibili per un portafoglio long-only <= 0.95x; avg_win $426k / largest_loss -$2.9M su un conto da $100k (oscillazioni dell’equity di 26-29x) e il turnover 635 (contro il ribilanciamento settimanale dichiarato a basso turnover) mostrano che dimensionamento/ribilanciamento impiegano capitale in eccesso e capitalizzano in modo errato. La contraddizione interna lo conferma: valore principale +8,697%, ma Sharpe -0.087, avg_trade_return_pct -0.785% (negativo), information_ratio -0.21, PSR 0.375; quindi, con questo artefatto, non c’è un vero vantaggio (asimmetria -4.5, curtosi 67.7, max_dd CI alta ~100%). Segnalo il sintomo senza affermare quale sia il bug preciso, che non ho individuato. È già l’iterazione 2: lo sviluppatore ha rielaborato la contabilità delle uscite dopo un avviso QA «contabilità sospetta», ma il risultato ora è più compromesso; ottimizzare la serie corrotta significherebbe adattarsi agli artefatti. Anche la famiglia sottostante è da scartare: la strategia gemella VolatilityManagedLongMajorsBasketDaily è stata abbandonata in questa sessione con IR -0.60 e circa 0 di alfa rispetto al basket (la gestione della volatilità di un basket long di major aggiunge valore attivo negativo); qui beta 0.51 / benchmark_correlation 0.70 e alfa negativa dopo l’overlay indicano la stessa cosa. Ottimizzare vol_target/trend_len/vol_lookback non può correggere un difetto di dimensionamento/contabilità né creare un vantaggio che manca strutturalmente alla famiglia. Abbandonare.
Implementazione
Basket spot long-only a bassa rotazione, con volatilità gestita, su quattro major Binance SPOT (BTC/ETH/SOL/BNB), barre giornaliere, puro OHLCV. A ogni ribilanciamento settimanale mantiene una quota equamente ponderata delle major sopra la loro SMA(trend_len=50) e ridimensiona la frazione TOTAL impiegata, in modo inversamente proporzionale alla volatilità realizzata del basket, per raggiungere un obiettivo costante: impiegato = min(vol_target=0.60 / annualized_basket_vol_over_vol_lookback=30d, gross_exposure=0.95). Ogni nome idoneo punta a n_eligible del capitale; i nomi senza trend restano in liquidità. Il ribilanciamento usa la differenza rispetto all’obiettivo con una banda di non intervento di 10%: le uscite complete chiudono solo in riduzione tramite _submit_exit_position, le riduzioni parziali di volatilità sono ordini VENDI con limite massimo e poi gli acquisti riportano la posizione all’obiettivo. Gli obiettivi sono frazioni del vero capitale CASH, quindi l’esposizione totale <= 0.95x (nessuna leva). Parametri ottimizzati 3 (vol_target, trend_len, vol_lookback).
Risultati di verifica
Verifica non superata (livello 4 — revisione QA): - L’ambiente isolato mostra la firma di un difetto di codice che la fabbrica diagnostica ripetutamente, per errore, come mancanza di vantaggio: win_rate = 0.0 AND profit_factor = 0.0 (tutte le 6 operazioni chiuse hanno perso, profitto lordo esattamente zero), Sharpe -1.94, total_return -33.3% == max_drawdown. Il segno di direzione/dimensionamento è corretto a un controllo visivo (esposizione inversa alla volatilità = min(vol_target/basket_vol, lordo); filtro trend……Mostra altroMostra meno
Verifica non superata (livello 4 — revisione QA):
- L’ambiente isolato mostra la firma di un difetto di codice che la fabbrica diagnostica ripetutamente, per errore, come mancanza di vantaggio: win_rate = 0.0 AND profit_factor = 0.0 (tutte le 6 operazioni chiuse hanno perso, profitto lordo esattamente zero), Sharpe -1.94, total_return -33.3% == max_drawdown. Il segno di direzione/dimensionamento è corretto a un controllo visivo (esposizione inversa alla volatilità = min(vol_target/basket_vol, lordo); filtro trend chiusura>SMA; riduzione long limitata alla posizione detenuta), quindi il probabile difetto rimanente è nel percorso EXECUTION/ACCOUNTING. Due sospetti: (1) le riduzioni inviano ordini VENDI tramite _submit_entry_instrument(OrderSide.SELL) invece che _submit_exit_position: verifica che questo riduca la posizione long su CASH e non venga rifiutato o registrato male; (2) il ciclo BUY ricalcola _held_qty dopo aver inviato ordini VENDI, ma gli eseguiti non sono sincroni all’interno di on_bar, quindi gli acquisti sono dimensionati sul capitale che le vendite pendenti non hanno ancora liberato. PF esattamente 0.0 con tutte le operazioni in perdita va diagnosticato come bug, non inoltrato come problema di commissioni/vantaggio.
- Non misurabile: 6 operazioni in 363 giorni sono un ordine di grandezza sotto la soglia di circa 100 operazioni, quindi win_rate/PF/Sharpe non forniscono alcun segnale. Un ribilanciamento settimanale di 4 nomi dovrebbe produrre circa 200 eventi di ribilanciamento, ma ha generato 6 operazioni: la strategia è rimasta in liquidità per quasi tutta la finestra (SMA(100) filtro raramente soddisfatto). Questo spiega la correlazione di benchmark 0.11 nonostante un’esposizione in posizione di 76% e significa che il vantaggio della gestione della volatilità è stato messo alla prova appena.
- Meccanismo puro OHLCV (filtro trend SMA + ridimensionamento per volatilità realizzata, nessun vantaggio direzionale). Il puro OHLCV ha 0% di sopravvivenza in 213 esecuzioni precedenti e i filtri trend SMA appartengono a una classe ripetutamente abbandonata. L’overlay di volatilità è indipendente dalla direzione e non può creare un’aspettativa positiva se il basket mantenuto in trend ne è privo; inoltre, il risultato contraddice l’ipotesi di riduzione del drawdown (33% drawdown).
L'analista dovrebbe ABANDON a backtest_review invece di ottimizzare; i parametri non possono ribaltare un'aspettativa negativa. Non è giustificata un'ulteriore iterazione da parte dello sviluppatore.
STRONG ABANDON RECOMMENDATION (non un errore di codice QA). Una volta corretta l’esecuzione e messo alla prova il vantaggio, il risultato nell’ambiente isolato è decisamente negativo e WORSE rispetto all’iter-1: total_return -38.87%, Sharpe -1.15, PF 0.126, win_rate 0.19, avg_trade_return_pct -5.63%, max_drawdown 46.78%, largest_loss -$13,469 su 21 operazioni tutte long. Correggere la contabilità peggiorando il risultato CONFIRMS dimostra che l’iter-1 con tutte le perdite non era un artefatto di registrazione: è un meccanismo non sostenibile. Il risultato contraddice anche l’ipotesi di riduzione del drawdown. Lo sviluppatore ammette che l’overlay di volatilità non può creare un’aspettativa positiva da un basket mantenuto in trend durante una finestra ribassista.
Abbandonare l’impostazione pura OHLCV; non iterare sui parametri.
Meccanismo puro OHLCV (filtro trend SMA + ridimensionamento per volatilità, nessun vantaggio direzionale). Il puro OHLCV ha 0% di sopravvivenza in 213 esecuzioni precedenti; l’overlay di volatilità è indipendente dalla direzione e non può creare un’aspettativa positiva dove il basket mantenuto in trend ne è privo.
Irrilevante dato l'abbandono; se si dovesse iterare in futuro, usare le variazioni nette del target oppure rimandare gli acquisti di una barra.
Le operazioni 21 sono meno della soglia di circa 100, ma bastano a stabilire un risultato decisamente negativo (PF 0.126, 46.8% DD non sono rumore). Residuo minore: il ciclo BUY ricalcola _held_qty prima che le VENDITE/chiusure sulla stessa barra vengano eseguite (non sincrono), quindi gli acquisti possono essere dimensionati rispetto a CASH non ancora liberato e respinti in parte: questo può ridurre l’esposizione, ma non cambia la conclusione negativa.
Revisione Backtest
Sharpe
-0,09
Rendimento totale
8697,90%
Drawdown massimo
67,40%
Operazioni totali
144
Tasso di successo
43,1%
Profit Factor
1,47
Impostazione inedita per questa fabbrica (premio di volatilità gestita Moreira-Muir); nessun segnale di liquidazione.
Serie azionaria corrotta: total_return +8,697% (87x) è impossibile per un paniere spot con sole posizioni lunghe e senza leva (<= 1x); i rendimenti giornalieri singoli di +241%, +158%, +88.7% sono fisicamente impossibili.
avg_win $426k / largest_loss -$2.9M su un conto da $100k (oscillazioni dell’equity di 26-29x) e turnover 635 contraddicono il design con «ribilanciamento settimanale a basso turnover»: dimensionamento/ribilanciamento impiegano capitale in eccesso e capitalizzano in modo errato.
Contraddizione interna: valore principale +8,697%, ma Sharpe -0.087, avg_trade_return_pct -0.785% (NEGATIVE), information_ratio -0.21, PSR 0.375: nessun vantaggio reale con questo artefatto.
Iterazione 2: la rielaborazione della contabilità delle uscite (QA «contabilità sospetta») non ha risolto il problema; il risultato ora è più compromesso.
La famiglia è già da scartare: la strategia gemella VolatilityManagedLongMajorsBasketDaily è stata abbandonata in questa sessione con IR -0.60 / circa 0 di alfa rispetto al basket.
Riepilogo esito
Un rendimento principale spettacolare è un campanello d’allarme, non una vittoria: verifica che l’equity rispetti i vincoli di leva (un portafoglio long-only senza leva non può rendere 87x né registrare guadagni giornalieri singoli di +241%) e non continuare a iterare su un meccanismo il cui gemello ha già dimostrato che la famiglia non ha vantaggi; prima di potersi fidare di qualsiasi metrica, occorre correggere il percorso di contabilità/dimensionamento corrotto.
L’analista l’ha abbandonata al controllo del backtest prima dell’ottimizzazione perché la contabilità dell’equity era corrotta (dimensionamento/ribilanciamento impiegavano capitale in eccesso e capitalizzavano in modo errato); la rielaborazione della contabilità delle uscite nell’iterazione 2, avviata da un avviso QA «contabilità sospetta», l’ha resa ancora più compromessa; inoltre, la strategia gemella VolatilityManagedLongMajorsBasketDaily era già stata abbandonata in questa sessione con IR -0.60 e circa 0 di alfa, segno che la famiglia è strutturalmente priva di vantaggi.
Un basket spot long-only di quattro major BINANCE_SPOT (BTC/ETH/SOL/BNB) che applicava il premio di volatilità gestita Moreira-Muir: mantiene una quota equamente ponderata dei nomi sopra il loro trend di lungo periodo, ma ridimensiona l’esposizione totale impiegata in modo inversamente proporzionale alla volatilità realizzata del basket per raggiungere un obiettivo di volatilità costante, senza negoziare alcun segnale direzionale.
Il backtest era corrotto e inaffidabile: rendimento totale impossibile di +8,697% per un portafoglio long-only senza leva (<=1x), rendimenti giornalieri singoli fisicamente impossibili (+241%, +158%, +88.7%), vincita media di $426k e perdita massima di -$2.9M su un conto da $100k, e turnover di 635 in contrasto con il design a basso turnover: tutto questo insieme a un vantaggio reale negativo (Sharpe -0.087, avg_trade_return_pct -0.785%, indice informativo -0.21).
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.