Strategier
Backtest: ukentlig lavvol-rotasjon (BINANCE USD-M, 3 vol, LOWEST, 3) | Stratmill
Utfall: Forlatt
LowVolDefensiveWeeklyRotation8Majors
Utfallssammendrag
Hypotese
Iterasjon 2 retter den konkrete feilen i lag -3 («Ingen handler utført»). Årsak: _extract_symbol_from_bar leste bar.instrument_id, som ikke finnes på Bar i denne versjonen av NautilusTrader — dette utløste AttributeError, som et nakent except fanget uten å håndtere, slik at _ingest_bar lagret NO-kurser for alle symboler. Uten prisbuffere kunne ingen realisert volatilitet beregnes, kandidatene holdt seg under top_k, og _maybe_rebalance returnerte tidlig for hver bar → null handler. Den minimale rettingen leser bar.bar_type.instrument_id.symbol (samme bane som grunnmalens on_bar bruker på linje 276), og funksjonen ble bekreftet å returnere «BTCUSDT» osv. Ingenting annet ble endret — importene er fortsatt rene, det kontinuerlige signalet for ro-spredning og all logikk for flere instrumenter/ombalansering (som allerede bestod lag 1–2) er urørt, og konfigurasjonen angir alle 8 instrumentene på 1-DAY-barer, slik at sandkassen laster hele universet. Dermed består alle tidligere godkjente lag, samtidig som den ukentlige rotasjonen nå kan gjennomføre handler.
Implementasjon
Ukentlig defensiv lavvolatilitetsrotasjon med bare long-posisjoner over 8 store Binance USD-M-perpetual-kontrakter (BTC/ETH/SOL/BNB/AVAX/LINK/ADA/XRP) på 1-DAY-barer. Hver uke (rebalance_days=7) rangerer strategien universet etter historisk realisert volatilitet (utvalgsstandardavvik for daglige logavkastninger over vol_lookback_days) ASCENDING og sikter mot navnene top_k=3 CALMEST. Deretter brukes et trendfilter per navn — et valgt navn beholdes bare mens sluttkursen er over sin egen trend_ma_days SMA, ellers går den delen av porteføljen til kontanter. Navn som forlater målkurven, selges, og nye målnavn kjøpes med lik vekt, allocation_per_position av egenkapitalen per posisjon. Bare long-posisjoner, giring=1, kapitalrelatert posisjonsstørrelse via get_account_equity(). Tre kjerneparametere (vol_lookback_days, top_k, trend_ma_days) samt strukturelle innstillinger.
Verifiseringsresultater
Verifisering mislyktes (lag 3 — backtest i sandkasse): Ingen handler utført Brukt bartype: BTCUSDT.BINANCE-1-DAY-LAST-EXTERNAL, behandlede bars: 364 Diagnostikk: should_enter() returnerte en side 0 ganger over 0 evaluerte bars -> ENTRY CONDITION ble aldri utløst. Løsne på inngangslogikken / tersklene. Sørg for at strategien utfører handler med de oppgitte dataene og parameterne.
Analytiker: Evaluer hele flerårige backtesten; ikke optimaliser før fortegnet på fordelen er fastslått for den lengre perioden.
Negativt, men tynt utvalg begrenset til ett regime: PF 0.41, total_return -18.1%, win_rate 0.238, avg_trade_return_pct -2.97% på bare 21 handler i løpet av ett år. RR er gunstig (avg_win 2486 = 1.3× avg_loss 1890); den lave treffprosenten er den eneste belastningen, og Sharpe -1.16 CI [-2.77, +0.36] er fortsatt så vidt positiv. Lavvolatilitetsanomalien er en effekt over lang tid som ikke kan vurderes ut fra en ettårig periode med kursfall i alternative kryptovalutaer.
Bekreft resultatet med et vesentlig større utvalg i den fullstendige flerårige backtesten.
Lavt antall handler (21 over 363 dager, under gulvet på ~100) — forventet for en ukentlig rotasjon med lav omsetning (omsetning 8.1), men det negative resultatet bygger på få observasjoner.
Vurder å hente håndteringen av ekstra bars fra grunnlaget i stedet for å implementere ruting på nytt, for å unngå umerkelige avvik.
on_bar er fullstendig overstyrt; grunnrutingen er implementert på nytt manuelt, og interne deler av grunnlaget brukes. Det fungerer (bestod lag 1-3, handlet på tvers av alle posisjoner), men er sårbart for framtidige endringer i grunnmalen.
Backtest-gjennomgang
- Sharpe
- 1,00
- Total avkastning
- 1318,94%
- Maks nedgang
- 35,21%
- Totalt antall handler
- 138
- Andel vinnende handler
- 44,2%
- Profittfaktor
- 1,72
Statistisk signifikant fordel: Sharpe 1.0 med 95% CI [0.42, 1.61] EXCLUDING null (probabilistic_sharpe 0.9995) — den eneste strategien i den siste gruppen som når denne terskelen
profit_factor 1.72 (godt over grensen 1.2 for ingen fordel), Sortino 1.43, forventet verdi +$8.3k/handel
Fordelt på regimer: positiv i 5 av 7 år (2020/2021/2023/2024/2025), moderate tap i negative år (-24%, -19%); max_drawdown 35% under grensen for å avbryte, ingen tvangslukking, 1x giring
Lave gebyrer som planlagt: avg_trade_return_pct ~11% ved ukentlig rotasjon med lav omsetning, impact_cost_pct bare 1.3% av brutto, kapasitet $613M
Bygger på den reelle, dokumenterte lavvolatilitets-/defensive anomalien; et ortogonalt signal i forhold til den aktive momentumbasketen
Avvikende verdi/konsentrasjon i bullmarked: return_skew 2.59, kurtose 38, der 2020/2021 står for en stor andel — optimaliseringen må bekrefte at fordelen holder i perioder uten bullmarked OOS
information_ratio -0.24 mot referanseindeksen med lik vekt og benchmark_correlation 0.58 / beta 0.27 — selvstendig alfa er +0.20, men diversifiseringsverdien sammenlignet med bare å holde kurven er marginal
end_unrealized_pct 180 (~14% av hovedresultatet) er urealisert markedsverdi for åpne posisjoner — vurder resultatet ut fra realiserte handler (fortsatt sterkt)
Analyse
Strategien kjører som den skal gjennom hele perioden (349 optimaliserte handler / 138 grunnlag) — den tidligere feilen med null handler på grunn av bar-symbol er rettet.
Punktmålingene innenfor utvalget ser attraktive ut (PF 1.72, Sortino 1.43, positiv Sharpe for hele utvalget på ~1.0) — nettopp derfor er korreksjonen for mange samtidige tester viktig.
Følsomhetsanalysen viser ingen brå fall; parameterne er stabile hver for seg innenfor utvalget.
Overtilpasning i walk-forward: IS gjennomsnittlig Sharpe på +1.47 faller til OOS i gjennomsnitt (-0.742) (vinduer -1.21, -1.46, +0.44). Fortrinnet generaliserer ikke.
Deflatert Sharpe 0.0899 << 0.95, og optimalisert Sharpe (1.006) er BELOW expected_max_sharpe_annualized (1.44) — utvalget kan ikke skilles fra støyen i beste resultat av -225 forsøk.
PBO 0.70 > 0.5 — parameterutvalget er mer sannsynlig overtilpasset enn ikke; is_significant = usant.
Sharpe i holdout er bare 0.178; både win_rate 0.149 og max_drawdown 32.4% er under grenseverdiene.
Avkastningen er konsentrert i 2021 (årlig 2021 +251%/+204%; 2022 -24%, 2026 -19%) — avhengig av ett enkelt bullmarkedsregime.
Samsvarer med en sviktklasse som er lagt bort gjentatte ganger: rotasjon blant store aktiva med lav volatilitet (likhet 0.81 «overtilpasset», 0.80 «verification_loop»).
0.7x WF OOS
Utfallssammendrag
En attraktiv Sharpe for hele utvalget betyr ingenting når avkastningen er konsentrert i bullmarkedsregimer og strategien feiler i walk-forward-testing — mekanismen for rotasjon blant store aktiva med lav volatilitet / veddemål mot beta er nå overtilpasset med samme kjennetegn flere ganger, så det er ikke verdt å prøve igjen med et annet utvalg av store aktiva.
Strategianalytikeren la den bort etter optimalisering og en negativ robusthetsvurdering: valgt Sharpe (1.006) falt under den støyforventede maksimumsverdien (1.44 over 225 forsøk), OOS var negativ i alle walk-forward-perioder, PBO oversteg 0.5, og hovedavkastningen kom fra 2021-bullmarkedet (2022 -24%, 2026 -19%) — et skoleeksempel på overtilpasning uten noe robust parameterområde å sikte mot.
En ukentlig rotasjon med bare long-posisjoner på tvers av 8 store Binance USD-M-perpetualer. Den holdt de 3 store aktivaene med lavest realisert volatilitet (den defensive/lavvolatilitetsanomalien), med et trendfilter per navn, og var bevisst ortogonal til den aktive momentumbasketen.
Den første backtesten viste en statistisk signifikant fordel (Sharpe ~1.0 med 95% CI [0.42, 1.61] som utelukket null, profit factor 1.72, Sortino 1.43, +1319% totalavkastning over 138 handler, gjennomsnittlig avkastning per handel ~11%, maksimal drawdown 35%, 1x giring). Men ved optimalisering snudde walk-forward-Sharpe IS på +1.47 til et gjennomsnitt på -0.742 OOS, med PBO 0.70, deflatert Sharpe 0.0899, Sharpe i holdout på bare 0.178 og treffprosent 0.149.
Stratmill er et forsknings- og papirhandelsverktøy, ikke finansiell rådgivning eller en megler. Backtest- og papirresultater er hypotetiske. Handel innebærer risiko for tap.