Sări la conținut
Toate strategiile

Strategii

BTC Reportarea impulsului între sesiuni — long-short, un singur instrument OHLCV: direcția mișcării sesiunii ASIA prezice mișcarea sesiunii US; tranzacționați sesiunea US în acea direcție ONLY când mișcarea din Asia este amplă, poziție neutră peste noapte (BINANCE BTCUSDT USD-M, bare de 1H, intraday, 2 parametri)

Rezultat: Abandonată

BtcAsiaToUsSessionCarryoverLS

Bine măsurat: 594 tranzacții pe întregul 2020-2026 1H istoric, echilibrat long/short (293/301), execuție curată (594 semnalat, 594 trimis, fără pierderi)

Ipoteza

O strategie LONG-SHORT, SINGLE-INSTRUMENT, pur OHLCV pe INTRADAY pe perpetual-ul BTCUSDT.BINANCE USD-M, dintr-o familie cu adevărat diferită față de tot ce este în așteptare sau mort aici — nu este NOT o strategie de trend/breakout (momentum dual-TF, SuperTrend, Donchian, ORB), NOT o strategie de medie-reversare/fade (ambele moarte), și NOT un semnal de feed suplimentar (toți pierzători net). Exploatează o SESSION LEAD-LAG intraday: tonul direcțional stabilit în sesiunea ASIA cu participare redusă (00:00-08:00……Afișează mai multeAfișează mai puțin

O strategie LONG-SHORT, SINGLE-INSTRUMENT, pur OHLCV pe INTRADAY pe perpetual-ul BTCUSDT.BINANCE USD-M, dintr-o familie cu adevărat diferită față de tot ce este în așteptare sau mort aici — nu este NOT o strategie de trend/breakout (momentum dual-TF, SuperTrend, Donchian, ORB), NOT o strategie de medie-reversare/fade (ambele moarte), și NOT un semnal de feed suplimentar (toți pierzători net). Exploatează o SESSION LEAD-LAG intraday: tonul direcțional stabilit în sesiunea ASIA cu participare redusă (00:00-08:00 UTC) tinde să PERSIST în sesiunea US cu lichiditate mai mare (13:00-21:00 UTC), deoarece fluxul US/instituțional continuă mișcarea mai degrabă decât să o inverseze. În fiecare zi UTC, semnul și dimensiunea randamentului sesiunii asiatice sunt măsurate; când mișcarea din Asia este LARGE (un semnal direcțional real, nu zgomot), strategia intră în sesiunea US în direcția SAME și deține doar pentru acea sesiune, fiind FLAT peste noapte (fără expunere la finanțare, fără gap peste noapte, fără risc de trend pe mai multe zile). Aceasta este distinctă de breakout-ul BTC de deschidere în așteptare (care tranzacționează un interval BREAKOUT din primele ore) — aici nu există breakout; este o CARRYOVER direcțională a unei mișcări de sesiune deja stabilite într-o sesiune ulterioară, separată. Păstrează invariantele supraviețuitoare (instrument unic, OHLCV pur cu istoric 2020-2026 1H complet, long-short, fără feed suplimentar conform lecției pierzătorilor net, fără al doilea picior conform L69) și este construit pentru pragurile statistice: un ritm aproape zilnic generează un număr de tranzacții LARGE (>100/an) care trece pragul de măsurabilitate și strânge estimarea Sharpe deflatată, iar doar 2 parametri FREE (pragul de intrare pentru mișcarea din Asia, multiplul stop-ului ATR) minimizează penalitatea de deflație din -225 încercări. De asemenea, completează galeata sub-reprezentată pe orizont scurt (8.6% vs 10%).

Iterația 2 remediază fidel eroarea Layer-2: toate cele șase scenarii sintetice au generat «TypeError: _day_of() takes 1 positional argument but 2 were given». Harness-ul Layer-2 reasociază fiecare atribut apelabil de pe proxy ca metodă BOUND, astfel încât helper-ele @staticmethod _day_of/_hour_of primeau instanța ca primul argument și bara ca al doilea. Remediere: ambele sunt acum metode obișnuite de instanță (self, bar) — locurile de apel foloseau deja self._day_of(bar)/self._hour_of(bar), deci nu s-a schimbat……Afișează mai multeAfișează mai puțin

Iterația 2 remediază fidel eroarea Layer-2: toate cele șase scenarii sintetice au generat «TypeError: _day_of() takes 1 positional argument but 2 were given». Harness-ul Layer-2 reasociază fiecare atribut apelabil de pe proxy ca metodă BOUND, astfel încât helper-ele @staticmethod _day_of/_hour_of primeau instanța ca primul argument și bara ca al doilea. Remediere: ambele sunt acum metode obișnuite de instanță (self, bar) — locurile de apel foloseau deja self._day_of(bar)/self._hour_of(bar), deci nu s-a schimbat nimic altceva, iar comportamentul în engine este identic. A doua modificare preventivă, pe aceeași cale de helper: timestamp-ul raportat de harness (1735690980000) este în MILLISECONDS, în timp ce engine-ul furnizează nanosecunde; codul vechi împărțea necondiționat la 1e9, ceea ce în harness ar fi redus toate barele sintetice la aceeași oră/zi și ar fi blocat logica sesiunii (o a doua eroare latentă Layer-2, odată eliminată TypeError). Noul _epoch_secs() normalizează în funcție de magnitudine (ns/us/ms/s) și nu modifică barele reale în nanosecunde, astfel încât Layer-3 și backtestul real nu sunt afectate. Forma semnalului, regulile de intrare/ieșire, ATR, dimensionarea, importurile și structura clasei rămân neschimbate față de codul care trecuse deja Layer 1.

Premisă cu valoare așteptată negativă pe un eșantion bine măsurat, cu istoric complet. În 594 tranzacții pe parcursul 2020-2026, reportarea între sesiunile Asia->US generează pierderi: profit_factor 0.937 (<1), total_return -9.81%, valoare așteptată -$17.34/tranzacție, Sharpe -0.15 cu CI [-0.760, 0.458] intersectând zero, information_ratio -0.76. Singurul an pozitiv este 2020 (+15.3%); fiecare an de atunci este negativ sau neutru (2021 -8.1, 2022 -5.8, 2025 -10.8), iar Sharpe-ul mobil scade spre -8.3 până la 2026 — ipoteza „o mișcare amplă în Asia prezice mișcarea US” nu este confirmată de date. Strategia este, de asemenea, la limita comisioanelor: avg_trade_return_pct 0.110% este sub pragul 0.15% Binance USD-M (L22). Cu doar 2 parametri liberi și un avantaj direcțional net negativ, ajustarea nu poate schimba semnul unui avantaj care nu există. Acesta este profilul unui perdant net fee_edge/no_edge — nu merită 2 ore de optimizare.

Implementare

BTCUSDT.BINANCE USD-M perpetuu, bare de 1H, decalaj lead-lag intraday long-short între sesiuni. În fiecare zi UTC, randamentul sesiunii Asia (00:00-08:00 de la deschidere la închidere UTC) este acumulat incremental și normalizat cu deviația standard a ultimelor 30 randamente Asia (ATR fallback bazat pe dispersie cât timp istoricul se formează), rezultând un scor z continuu, returnat la fiecare bară. La ora de deschidere a sesiunii US (13:00 UTC), strategia intră în direcția SAME a mișcării din Asia când |z| >=……Afișează mai multeAfișează mai puțin

BTCUSDT.BINANCE USD-M perpetuu, bare de 1H, decalaj lead-lag intraday long-short între sesiuni. În fiecare zi UTC, randamentul sesiunii Asia (00:00-08:00 de la deschidere la închidere UTC) este acumulat incremental și normalizat cu deviația standard a ultimelor 30 randamente Asia (ATR fallback bazat pe dispersie cât timp istoricul se formează), rezultând un scor z continuu, returnat la fiecare bară. La ora de deschidere a sesiunii US (13:00 UTC), strategia intră în direcția SAME a mișcării din Asia când |z| >= entry_z, cu cel mult o intrare pe zi calendaristică. Iese la ora de închidere a sesiunii US (20:00 UTC), astfel încât portofoliul să fie FLAT peste noapte (fără finanțare, fără risc de gap), sau mai devreme la un stop bazat pe ATR (stop_atr_mult x ATR, cu prag minim de min_stop_pct). Dimensionarea poziției riscă risk_frac din capitalul propriu pe distanța până la stop, cu expunerea brută plafonată la max_notional_frac x capitalul propriu. Toată starea (ATR, randamentul sesiunii, deque-ul dispersiei) este O(1) per bară; trecerea la ziua următoare se bazează pe timestamp-ul propriu al barei, nu pe un contor de bare.

Rezultate verificare

CLEAN RESTART 2026-09-04 — istoricul verdictelor și înregistrările de învățare ale acestei rulări au fost eliminate și a fost repornită de la verificare. Abandonul său anterior a provenit din pipeline, nu din piață: harness-ul Layer-2 a legat greșit ajutoarele @staticmethod (fixat), QA a emis verdicturi terminale de performanță pe un test de fum neoptimizat (eliminat — QA acum judecă doar corectitudinea), iar timeout-urile sandbox-ului au provenit din lipsa sloturilor de backtest (fixat). Ipoteza și codul strategiei sunt neschimbate. Verificați codul pe baza meritelor sale; performanța este decisă mai târziu de backtest-ul complet și de optimizator.

Adăugați _param_bounds = {entry_z: [...], stop_atr_mult: [...]} în concordanță cu limitele din cod; mențineți toate constantele privind ora sesiunii/ATR/riscul în afara acestuia.

Configurația declară NO _param_bounds, deși ipoteza se bazează pe „doar 2 FREE parametri”, pentru a minimiza penalizarea de deflație pentru cel mai bun rezultat din -225 încercări. Fără aceasta, optimizerul nu are o suprafață explicită care să-l lege de {entry_z, stop_atr_mult}, subminând disciplina celor 2 parametri. Nu este un defect de corectitudine.

Setați us_exit_hour=21 pentru întreaga fereastră sau documentați 20:00 ca fiind intenționat.

Ipoteza numește US sesiunea 13:00-21:00 UTC, dar us_exit_hour este 20, ceea ce forțează trecerea la poziție neutră cu o oră prea devreme. Aspect minor, nu schimbă mecanismul sau invariantul de poziție neutră peste noapte.

Analiză backtest

Sharpe
-0,15
Randament total
-9,81%
Drawdown maxim
23,40%
Tranzacții totale
594
Rată de câștig
44,8%
Factor de profit
0,94

Bine măsurat: 594 tranzacții pe întregul 2020-2026 1H istoric, echilibrat long/short (293/301), execuție curată (594 semnalat, 594 trimis, fără pierderi)

Familie intraday distinctă de lead-lag între sesiuni; poziție neutră peste noapte, corelație redusă cu benchmark-ul (0.025), fără dependență de fluxuri suplimentare

Perdant net: profit_factor 0.937 (<1), total_return -9.81%, valoare așteptată -$17.34/tranzacție, Sharpe -0.15 (CI intersectează zero), information_ratio -0.76

avg_trade_return_pct 0.110% este sub pragul comisionului 0.15% Binance USD-M — la limita rentabilității după comisioane chiar și ignorând valoarea așteptată negativă

Doar 2020 (+15.3%) este semnificativ pozitiv; fiecare an ulterior este negativ sau neutru (2025 -10.8%), iar Sharpe-ul mobil scade spre -8.3 până la 2026 — premisa reportării între sesiuni nu are un avantaj persistent

return_kurtosis 78.6 — evoluție neregulată (de ex., o zi de -6.07% pe 2023-08-29), nu un avantaj constant

Istoric iterații

Verificarea a eșuat (Layer 2 — scenarii sintetice): Parametri utilizați: ['entry_z', 'min_bars', 'risk_frac', 'atr_period', 'min_notional', 'min_stop_pct', 'min_vol_days', 'us_exit_hour', 'asia_end_hour', 'stop_atr_mult', 'us_entry_hour', 'asia_start_hour', 'max_notional_frac', 'vol_lookback_days'] Verificați că __init__ setează toate atributele folosind self.parameters.get(). - steady_uptrend: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (timestamp-ul barei:……Afișează mai multeAfișează mai puțin

Verificarea a eșuat (Layer 2 — scenarii sintetice): Parametri utilizați: ['entry_z', 'min_bars', 'risk_frac', 'atr_period', 'min_notional', 'min_stop_pct', 'min_vol_days', 'us_exit_hour', 'asia_end_hour', 'stop_atr_mult', 'us_entry_hour', 'asia_start_hour', 'max_notional_frac', 'vol_lookback_days'] Verificați că __init__ setează toate atributele folosind self.parameters.get(). - steady_uptrend: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (timestamp-ul barei: 1735690980000) - steady_downtrend: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (timestamp-ul barei: 1735690980000) - flat_ranging: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (timestamp-ul barei: 1735690980000) - volatility_spike: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (timestamp-ul barei: 1735690980000) - zero_volume: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (timestamp-ul barei: 1735690980000) - price_gap: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (timestamp-ul barei: 1735690980000)

Stratmill este un instrument de cercetare și paper-trading, nu consultanță financiară sau broker. Rezultatele de backtest și paper trading sunt ipotetice. Tranzacționarea implică riscul de pierdere.