Strategieën
Mean-reversion met volatiliteitsband in een zijwaarts regime, long-short (één instrument ETHUSDT Binance USD-M, candles van 1H, fade van uitgerekte afwijkingen ONLY wanneer een trendfilter een markt zonder trend bevestigt — de gedocumenteerde oplossing voor falende reversal bij trendende grote munten, met weinig parameters)
Uitkomst: Gestaakt
EthRangingRegimeVolBandMeanReversionLS1H
Samenvatting uitkomst
Hypothese
Oplossing in iteratie 3 voor de wall-clocktime-out van Layer-3: de vorige versie bouwde numpy-arrays opnieuw op uit de ENTIRE groeiende barhistorie en voerde bij elke bar de ADX Python-lussen over de volledige historie uit. Daardoor bedroegen de totale kosten O(n^2), waardoor de limiet van 300s voor de rooktest werd overschreden bij meerjarige data van 1H. De kleinste gerichte wijziging neemt een slice van self._bars met een vaste lengte (self._calc_window = max(band_period, 5*adx_period)+10 = 80 bars) voordat de arrays worden opgebouwd, zodat het werk per bar O(1) en het totale werk O(n) is. Alle signaal-, entry-, exit- en sizinglogica is byte-identiek aan de code die Layers 1-2 al doorstond, zodat eerdere controles niet achteruitgaan. Het venster dekt ruimschoots de ADX Wilder-warm-up (2*adx_period+1) en de bandperiode van SMA.
Implementatie
Long-short mean-reversion op 1H voor ETHUSDT USD-M perp. Fadet uitgerekte z-score-afwijkingen van een 24-bars SMA-band, maar ONLY wanneer ADX(14) < 25 (regime zonder trend of met zijwaartse beweging). Blijft aan de zijlijn bij trends en sluit de positie als de trend tijdens de trade begint. Uitstap via stop-loss of herstel naar het gemiddelde. De berekening per bar is begrensd tot een vast recent venster, zodat de backtest in O(n)-tijd draait.
Verificatieresultaten
Verificatie mislukt (laag 3 — backtest in sandbox): rooktest overschreed de tijdslimiet van 300s. Dit betekent vrijwel altijd dat werk per bar schaalt met de historie — bijvoorbeeld het opnieuw scannen van de volledige funding-/aanvullende reeks, of het opnieuw opbouwen van een lijst en min()/sorted() aanroepen binnen calculate_signal()/on_bar() bij elke bar. Bereken vooraf gesorteerde timestamp-arrays ONCE in __init__ en gebruik bisect, of cache lookups op basis van timestamp, zodat de kosten per bar O(log n) zijn in plaats van O(n).
Backtest-review
- Sharpe
- -1,94
- Totaal rendement
- -85,70%
- Maximale drawdown
- 86,79%
- Totaal aantal trades
- 1388
- Winratio
- 52,9%
- Winstfactor
- 0,72
Zuivere, getrouwe implementatie: het regimefilter ADX, de z-score-fade en de stop-/uitstaplogica geven de beschreven hypothese correct weer (geen artefact, geen boekhoudkundige fout, plausibele volatiliteit 20.6% en geen onmogelijke dagen).
Gezonde steekproef en infrastructuur: 1,388 trades over meer dan 6 jaar, veel trades, één liquide instrument, kosten O(1) per bar — de backtest zelf is betrouwbaar.
Het negatieve resultaat is zelf informatief: het bevestigt op heldere wijze de aanname dat reversal ontbreekt bij grote cryptomunten, met een grote statistisch betekenisvolle steekproef.
Consistent negatieve edge gedurende EVERY jaar (2020 -13%, 2021 -52%, 2022 -32%, 2023 -2.8%, 2024 -5.8%, 2025 -25.6%, 2026 -18.4%) en in elk regime — total_return -85.7%, max_drawdown 86.8%.
Duidelijk negatieve, voor risico gecorrigeerde metrics: Sharpe -1.94 (de volledige CI negatief, ci_high -1.14), Sortino -2.46, PSR 0.0, profit_factor 0.72, information_ratio -1.01, verwachtingswaarde -$60.76 per trade over 1,388 trades.
Omgekeerde payoff-geometrie, precies wat de hypothese wilde vermijden: exit_z=0.3 (kleine winst) tegenover stop 4% geeft avg_win $290 < avg_loss $455 bij een winrate van 53%; commissie nam 16% van de bruto-opbrengst op — maar zelfs de juiste geometrie redt een signaal zonder voorspellende edge over 6 jaar niet.
Iteratiegeschiedenis
Verificatie mislukt (laag 2 — synthetische scenario's): Gebruikte parameters: ['exit_z', 'entry_z', 'risk_frac', 'adx_period', 'band_period', 'min_notional', 'adx_threshold', 'stop_loss_pct'] Controleer of __init__ alle attributen instelt met self.parameters.get(). - steady_uptrend: TypeError: 'float' object is not callable (bartimestamp: 1735691580000) - steady_downtrend: TypeError: 'float' object is not callable (bartimestamp: 1735691580000) - flat_ranging: TypeError: 'float' object is not callable (bartimestamp: 1735691580000) - volatility_spike: TypeError: 'float' object is not callable (bartimestamp: 1735691580000) - zero_volume: TypeError: 'float' object is not callable (bartimestamp: 1735691580000) - price_gap: TypeError: 'float' object is not callable (bartimestamp: 1735691580000)
Samenvatting uitkomst
Kortetermijnreversal heeft geen positieve edge op liquide grote cryptomunten, zelfs niet met een filter voor een ADX-regime zonder trend. Daarom verliest een fade van overextensie op ETH nog steeds in alle jaren en regimes.
De analist gaf bij de BACKTEST_REVIEW-poort vóór optimalisatie het oordeel 'stoppen' en bestempelde de premisse als fundamenteel onhoudbaar, niet als een herstelbare bug. De code implementeerde de hypothese getrouw en de backtest was zuiver en betrouwbaar; er was dus geen defect om te verhelpen en geen ongetunede knop voor optimalisatie om te vinden. Optimalisatie, latere analyse door de analist en risicobeoordeling zijn niet uitgevoerd.
Een long-short mean-reversionstrategie op 1H voor de Binance USD-M-perpetual van ETHUSDT, die uitgerekte z-score-afwijkingen van een korte SMA terugdraaide, maar alleen wanneer een ADX-trendfilter (ADX<25) bevestigde dat de markt geen trend vertoonde of zijwaarts bewoog. Tijdens trends bleef de strategie aan de zijlijn om niet tegen het momentum in te gaan.
Over 1,388 trades in meer dan 6 jaar (2019-2026) verloor de strategie overtuigend: totaalrendement -85.7%, Sharpe -1.94 (de volledige CI negatief, ci_high -1.14), profitfactor 0.72, verwachtingswaarde -$60.76 per trade en een maximale drawdown van 86.8% bij een winrate van 52.9%. Het resultaat was negatief in elk jaar en elk regime, met omgekeerde payoff-geometrie (gemiddelde winst $290 < gemiddeld verlies $455) en ~16% van de bruto-opbrengst opgegaan aan commissie.
Stratmill is een onderzoeks- en papertrading-tool, geen financieel advies of broker. Backtest- en paperresultaten zijn hypothetisch. Handelen brengt risico op verlies met zich mee.