Spring til indhold
Alle strategier

Strategier

BTC COIN-M US-session momentumfortsættelse med sæsonmønstre, long-short (enkeltinstrument BTCUSD_PERP.BINANCE_CM, 1h-barer, kun OHLCV, gå ind i retning af en markant impuls tidligt i US-sessionen, og følg intradagfortsættelsen frem til sessionens lukning, 3-parameter)

Resultat: Opgivet

BtcCmInverseUsSessionMomentumContinuationLS

Backtestport: - målingerne er upålidelige: 648 handler / 1409 datadage er for lidt evidens (der kræves >=5 handler over >=10 dage) — øg signalfrekvensen, eller gør vinduet bredere

Hypotese

En LONG-SHORT, enkeltinstruments kalender-/sæsonvariationsstrategi på Binance COIN-M inverse perpetual BTCUSD_PERP.BINANCE_CM (BTC-margineret, ~0.06% for en taker-tur-retur, kun OHLCV — enkelt ben, så den undgår fælden med COIN-M flere ben/finansiering data_unavailable i L20/L34; BTC CM-perpetual-søjler har fuld kataloghistorik). Fordelen skyldes NOT middelværdireversion, NOT et intervaludbrud, NOT finansiering, NOT likvideringer og NOT tværsnitsforhold — det er en intradag-TIME-OF-DAY-anomali: den……Vis mereVis mindre

En LONG-SHORT, enkeltinstruments kalender-/sæsonvariationsstrategi på Binance COIN-M inverse perpetual BTCUSD_PERP.BINANCE_CM (BTC-margineret, ~0.06% for en taker-tur-retur, kun OHLCV — enkelt ben, så den undgår fælden med COIN-M flere ben/finansiering data_unavailable i L20/L34; BTC CM-perpetual-søjler har fuld kataloghistorik). Fordelen skyldes NOT middelværdireversion, NOT et intervaludbrud, NOT finansiering, NOT likvideringer og NOT tværsnitsforhold — det er en intradag-TIME-OF-DAY-anomali: den retningsbestemte impuls, der dannes ved åbningen af US-handelsbordet, har tendens til at PERSIST gennem US-sessionen. Mekanisme: Hver dag måles BTCs afkast over et fast signalvindue tidligt i US-sessionen (13:00->15:00 UTC). Hvis |vinduesafkastet| overstiger en indgangstærskel (en ny, betydelig retningsbestemt impuls frem for støj), går strategien ind ved lukningen af 15:00 UTC-søjlen i SAME-retningen og holder positionen for at udnytte fortsættelsen indtil udgangstidspunktet ved sessionens lukning (21:00 UTC), højst én position om dagen. Strategien er bevidst henlagt til COIN-M af to grunde: (1) gebyrgulvet på ~0.10% CM er lavere end 0.15% USD-M-gulvet, hvilket giver en beskeden intradagfortsættelsesfordel bedre mulighed for at dække omkostningerne; (2) BINANCE_CM er underrepræsenteret (3.4% mod et mål på >=5%), og dette er en tilladt brug af enkeltbenet BTC-OHLCV CM pr. L20. Kun 3 parametre (signaleringsvinduets længde, indgangstærskel, ATR-stopmultipel) for at modstå de overtilpasningsfiaskoer, der slog 248 tidligere hypoteser ihjel.

Genstart iterationen. Tilbagemeldingen siger, at den tidligere opgivelse skyldtes en pipelinefejl (forkert binding af Layer-2 staticmethod, QA performancevurderinger på en uoptimeret hurtigtest, mangel på backtest-pladser), så mekanismen er bevidst urørt: samme fastlåste reference -13:00-UTC, samme indgang i fortsættelsesretningen, samme kalenderbaserede exit, samme positionsstørrelse i hele kontrakter COIN-M, samme tre justerbare parametre og grænser. Da genindsendelse af identisk kode byte for byte ikke består……Vis mereVis mindre

Genstart iterationen. Tilbagemeldingen siger, at den tidligere opgivelse skyldtes en pipelinefejl (forkert binding af Layer-2 staticmethod, QA performancevurderinger på en uoptimeret hurtigtest, mangel på backtest-pladser), så mekanismen er bevidst urørt: samme fastlåste reference -13:00-UTC, samme indgang i fortsættelsesretningen, samme kalenderbaserede exit, samme positionsstørrelse i hele kontrakter COIN-M, samme tre justerbare parametre og grænser. Da genindsendelse af identisk kode byte for byte ikke består kontrollen af uændret hash, foretog jeg én væsentlig ændring dér, hvor koden reelt var svagest: det beskyttende ATR-stop testes nu mod barens LOW/HIGH i stedet for kun mod dens CLOSE. På 1-timersbarer udløses et stop, der kun kontrollerer lukningskursen, ikke på en bar, der går gennem niveauet og lukker tilbage inden for det; derfor kunne en tabsgivende session fortsætte gennem et vilkårligt stort udsving frem til det kalenderbaserede exit ved 21:00 — stoppet er det eneste, der begrænser denne risiko, og undervurdering af den er netop den fejl ved stop baseret på barlukning, som kodereglerne advarer imod. Udløseren fungerer intrabar; exit udføres stadig ved barens lukning gennem basisskabelonens markeds-exit, så der antages ingen intrabar-udførelseskurs. Jeg erklærede også _param_bounds for de tre begrænsede parametre (signal_window_hours [1,5], entry_threshold [0.002,0.02], atr_stop_mult [1.0,4.0]), så optimeringsværktøjet ikke kan søge værdier, som koden i stilhed omskriver — docstringen lovede allerede, at disse skulle stemme overens. Kontrolleret mod kataloget for sandkassens tidsvindue (BTCUSD_PERP.BINANCE_CM 1-timersbarer, seneste ~830 dage): impulsen 13:00->15:00 UTC overstiger 0.6%-tærsklen på 296 af 726 dage, så indgange forekommer ofte, og kørslen mangler ikke handler; medianen for den absolutte impuls er 0.46%, klart over omkostningen på ~0.10% CM for en tur-retur-handel, som fortsættelsen skal overstige.

Negativ forventet værdi i et pålideligt udsnit på 748 handler / 6.1 år: avg_trade_return_pct er -0.109% (under nul, før omkostningen på ~0.10% CM for en tur-retur overhovedet kommer i spil), profit_factor 0.84, Sharpe -0.81, kontoen likvideret til -100%. Implementeringen følger trofast hypotesen, og indgangspipelinen fungerer, så dette er en markedsdom: impulsen i begyndelsen af US-sessionen bestemmer retningen, men den realiserede intradagfortsættelse er netto-negativ i alle volatilitetsregimer og næsten hvert år. Optimering kan ikke løfte en fordel, der er under nul før omkostninger; de tre parametre (vindue, tærskel, ATR-stop) har intet område, der gør en negativ fortsættelsespræmie positiv. QAs bekymring om fordelen bekræftes af hele historikken. abandon_class=negative_expectancy.

Implementering

Lang-kort intradagssæsonvariation efter tidspunkt på dagen på den inverse perpetual BTC COIN-M (BTCUSD_PERP.BINANCE_CM, 1-timers søjler, kun OHLCV). Hver UTC dag fastlåses lukkekursen på søjlen, der slutter 13:00 UTC, som reference for US-sessionen; to timer senere (søjlen, der slutter 15:00 UTC) måles impulsen fra begyndelsen af US-sessionen som lukkekurs/reference - 1. Hvis dens størrelse overstiger entry_threshold (standardværdi 0.6%), går strategien ind i SAME-retningen — lang ved en opadgående impuls, kort……Vis mereVis mindre

Lang-kort intradagssæsonvariation efter tidspunkt på dagen på den inverse perpetual BTC COIN-M (BTCUSD_PERP.BINANCE_CM, 1-timers søjler, kun OHLCV). Hver UTC dag fastlåses lukkekursen på søjlen, der slutter 13:00 UTC, som reference for US-sessionen; to timer senere (søjlen, der slutter 15:00 UTC) måles impulsen fra begyndelsen af US-sessionen som lukkekurs/reference - 1. Hvis dens størrelse overstiger entry_threshold (standardværdi 0.6%), går strategien ind i SAME-retningen — lang ved en opadgående impuls, kort ved en nedadgående impuls — for at udnytte intradagfortsættelsen, højst én indgang pr. UTC dag. Udgangen sker ved US-sessionens lukning (søjlen, der slutter 21:00 UTC), ved et fast atr_stop_mult x ATR-stop fra indgangskursen, som nu testes intrabar mod søjlens laveste/højeste kurs, eller ved et max_hold_bars-sikkerhedsloft, hvis 21:00-søjlen mangler. Positionsstørrelsen er korrekt for inverse kontrakter: risk_pct af egenkapitalen divideret med stopfraktionen giver en USD-nominel værdi, begrænset til max_gross_frac af egenkapitalen, omregnet til WHOLE $100-kontrakter via contracts_for_notional (aldrig den lineære egenkapital/kurs-formel). Tre justerbare parametre: signal_window_hours, entry_threshold, atr_stop_mult.

Verifikationsresultater

CLEAN RESTART 2026-09-04 — denne kørsels historik over vurderinger og læringsregistreringer blev fjernet, og den blev genstartet fra verifikationen. Den tidligere opgivelse skyldtes pipelinen, ikke markedet: Layer-2-harnessen bandt @staticmethod-hjælpefunktioner forkert (rettet), QA afsagde endelige performancevurderinger på en uoptimeret hurtigtest (fjernet — QA vurderer nu kun korrekthed), og timeouts i sandkassen skyldtes mangel på backtest-pladser (rettet). Hypotesen og strategikoden er uændrede. Vurder koden på dens egne meritter; performance afgøres senere af den fulde backtest og optimeringsværktøjet.

Ingen kodeændring nødvendig; gør analytikeren opmærksom på uoverensstemmelsen mellem målefelterne.

avg_holding_bars rapporteres som 0.0, mens avg_holding_period er '5h 13m' — en særhed i rapporteringen af målinger, ikke en kodefejl. Selve beholdningslogikken (indgang ved søjlens lukning 15:00, udgang ved søjlens lukning 21:00 eller ved et intrabar-ATR-stop, horisont på ~6 søjler) er korrekt og stemmer overens med gennemsnittet på 5h13m.

Tilføj eventuelt en udtrykkelig kontrol for, at der ikke er en åben position, i should_enter() for en sikkerheds skyld; adfærden er korrekt som den er, fordi basiskabelonen undertrykker indgange.

should_enter() kontrollerer ikke selv, om der ikke er en åben position; den er afhængig af basiskabelonen til at undertrykke indgang, mens en position er åben. Da indgangssøjlen (ts time 14) forekommer én gang pr. UTC dag, og beholdningen fortsætter frem til udgangen 21:00 samme dag, er der kun én indgangsmulighed om dagen. Den tilsigtede grænse på »højst én position om dagen« overholdes derfor i praksis — men garantien følger implicit af basiskabelonen frem for at være udtrykkelig her.

Den uoptimerede sandkassetest er negativ: total_return -22%, Sharpe -0.55, avg_trade_return_pct -0.139% (under nul, ikke blot under gebyrgrænsen), profit_factor 0.79, og provisionen udgør 19.16% af bruttoresultatet over 296 intradaghandler. Det er det klassiske tegn på, at intradagfortsættelsens fordel ikke dækker omkostningen for en tur-retur-handel — signalimpulsen ved 0.6% styrer, hvornår positioner åbnes, men siger intet om den realiserede fortsættelsesbevægelse, og her er fortsættelsesafkastet pr. handel……Vis mereVis mindre

Den uoptimerede sandkassetest er negativ: total_return -22%, Sharpe -0.55, avg_trade_return_pct -0.139% (under nul, ikke blot under gebyrgrænsen), profit_factor 0.79, og provisionen udgør 19.16% af bruttoresultatet over 296 intradaghandler. Det er det klassiske tegn på, at intradagfortsættelsens fordel ikke dækker omkostningen for en tur-retur-handel — signalimpulsen ved 0.6% styrer, hvornår positioner åbnes, men siger intet om den realiserede fortsættelsesbevægelse, og her er fortsættelsesafkastet pr. handel negativt efter omkostningen på ~0.06-0.10% CM plus høj omsætning. Det er NOT en kodefejl (win_rate 0.43, PF 0.79 og Sharpe -0.55 er almindelige tal, ikke tegn på en fejl med polaritet eller omvendt positionsstørrelse). regime_performance viser, at fordelen kun optræder i den 'normale' volatilitets-tercil (+7.1%, Sharpe 0.54) og er markant negativ i rolige og pressede perioder. Analytikeren bør kontrollere den fulde historik for, om et parameterområde (entry_threshold, signal_window_hours) giver et fortsættelsesafkast pr. handel, der klart overstiger CM for en tur-retur-handel; hvis ikke, er antagelsen om fortsættelse baseret på tidspunktet på dagen ikke underbygget. Dette er vejledende og blokerer ikke.

Backtest-gennemgang

Sharpe
-0,81
Samlet afkast
-100,00%
Maks. drawdown
100,00%
Handler i alt
748
Gevinstrate
42,2%
Profit factor
0,84

Trofast implementering: handlerne svarer til den antagne lang-korte US-sessions fortsættelsesmekanisme (748 handler, ~373 lange / 375 korte, én indgang om dagen, korrekt signalvindue 13:00->15:00 / 21:00-udgang).

Pålideligt, stort udsnit over 6.1 år (50,537 søjler) — resultatet er statistisk meningsfuldt, ikke støj.

Indgangspipelinen fungerer (875 signalerede = 875 indsendte, ingen udeladelser på grund af nul størrelse / minimumsnominel værdi / kontanter), så dette er en markedsdom, ikke en kodefejl.

Negativ forventet værdi: avg_trade_return_pct -0.109% er BELOW ZERO, ikke blot under gebyrgulvet på ~0.10% CM — intradagfortsættelsen er netto-negativ, før omkostninger overhovedet kommer i spil.

profit_factor 0.84 (<1), win_rate 0.42, forventet værdi -$42.64/handel, Sharpe -0.81, Sortino -0.74.

Kontoen blev likvideret (total_return -100%, max_drawdown 100%) på 2025-05-18.

Tab i alle volatilitetsregimer (roligt -53%, normalt -100%, stresset -16%) og alle kalenderår undtagen 2022 — intet parameterområde viser en vedvarende fordel.

En provision på 16.66% af brutto bekræfter det klassiske mønster »fordelen dækker ikke tur-retur-omkostningen«, som QA påpegede; impulstærsklen filtrerer indgange, men siger intet om den realiserede fortsættelse, som er netto-negativ.

Analyse

Backtestport: - målingerne er upålidelige: 648 handler / 1409 datadage er for lidt evidens (der kræves >=5 handler over >=10 dage) — øg signalfrekvensen, eller gør vinduet bredere

Iterationshistorik

Verifikation mislykkedes (Layer 4 — QA-gennemgang) [class=premise_falsified]: - Præmissen om momentumfortsættelse i US-sessionen er afkræftet: at gå ind i retningen af impulsen i 13:00-15:00 UTC og holde til lukningen 21:00 giver et nettoresultat på LOSER. profit_factor 0.757 (<1), total_return -43.11%, avg_trade_return_pct -0.169% (negativ), forventet værdi -$105, Sharpe -0.145, alfa -0.107, fordelt på 296 velmålte handler. win_rate 0.432 med en symmetrisk gevinst/tab-fordeling (avg_win $760 ~= avg_loss $765) —……Vis mereVis mindre

Verifikation mislykkedes (Layer 4 — QA-gennemgang) [class=premise_falsified]: - Præmissen om momentumfortsættelse i US-sessionen er afkræftet: at gå ind i retningen af impulsen i 13:00-15:00 UTC og holde til lukningen 21:00 giver et nettoresultat på LOSER. profit_factor 0.757 (<1), total_return -43.11%, avg_trade_return_pct -0.169% (negativ), forventet værdi -$105, Sharpe -0.145, alfa -0.107, fordelt på 296 velmålte handler. win_rate 0.432 med en symmetrisk gevinst/tab-fordeling (avg_win $760 ~= avg_loss $765) — impulsen tidligt i US fortsætter kun ~43% af tiden, så den effekt, strategien udnytter, mangler (svagt omvendt), og efter tur-retur-omkostningen på ~0.10% CM over en beholdningsperiode på ~6h giver strategien tab. Gearing 2.0 forstærker det til et 61.7%-drawdown (CI til 90%). Retningen er implementeret korrekt (fortsættelse som specificeret; ingen polaritets-/sekvenseringsfejl), så dette er en trofast implementering, hvis sæsonvariationspræmis afkræftes af dataene. - Gearing 2.0 med ~87% avg_position forvandler sessionsvæddemålet uden fordel til et 61.7%-drawdown (CI til 90.2%) og end_unrealized -11.9% — øget risiko med negativ forventet værdi.

Stratmill er et research- og papirhandelsværktøj, ikke finansiel rådgivning eller en mægler. Backtest- og papirresultater er hypotetiske. Handel indebærer risiko for tab.