Strategijos
Grįžimas prie vidurkio pagal svyravimo juostą kainų svyravimo intervale režimu, ilgoji ir trumpoji pozicijos (vienas instrumentas ETHUSDT Binance USD-M, 1H žvakės, per išplėstus nuokrypius pasinaudojama ONLY, kai tendencijos filtras patvirtina jos nebuvimą — dokumentuotas pataisymas strategijai, kuri pralaimi tendencijoms judant pagrindinėms kriptovaliutoms, su nedaug parametrų)
Rezultatas: Atsisakyta
EthRangingRegimeVolBandMeanReversionLS1H
Rezultatų suvestinė
Hipotezė
Iteracijos 3 pataisa, skirta Layer-3 laiko limitui: ankstesnė versija iš naujo kūrė numpy masyvus iš ENTIRE augančios barų istorijos ir kiekviename bare vykdė ADX Python ciklus per visą ją, todėl bendra sąnaudų eilė buvo O(n^2) ir kelių metų 1H duomenims buvo viršytas 300s dūmų testo limitas. Mažiausias tikslinis pakeitimas apriboja self._bars fiksuoto ilgio galine atkarpa (self._calc_window = max(band_period, 5*adx_period)+10 = 80 barų) prieš kuriant masyvus, todėl kiekvieno baro skaičiavimai yra O(1), o bendros sąnaudos — O(n). Visa signalų, įėjimo / išėjimo ir pozicijos dydžio nustatymo logika baitas į baitą sutampa su kodu, kuris jau išlaikė Layers 1-2, todėl ankstesni patikrinimai nesuprastėja. Šis langas patogiai apima ADX Wilder apšilimą (2*adx_period+1) ir SMA juostos periodą.
Įgyvendinimas
Ilgoji ir trumpoji 1H vidurkio link grįžimo strategija, taikoma ETHUSDT USD-M perp. Prekiaujama prieš išsitęsusius z balo nuokrypius nuo 24 barų SMA juostos, tačiau ONLY, kai ADX(14) < 25 (režimas be tendencijos / svyruojanti rinka). Tendencijų režimais pozicija nedaroma, o tendencijai įsijungus sandorio metu jis uždaromas. Taikomi stop nuostolio ir grįžimo prie vidurkio uždarymo kriterijai. Kiekvieno baro skaičiavimai apriboti fiksuotu naujausiu langu, todėl atgalinis testas vykdomas O(n) laiku.
Patikros rezultatai
Patikra nepavyko (sluoksnis 3 — atgalinis testas smėlio dėžėje): dūmų testas viršijo 300s trukmės limitą. Beveik visada tai reiškia, kad kiekvieno baro skaičiavimai auga kartu su istorija, pavyzdžiui, iš naujo peržiūrima visa finansavimo / papildoma seka arba kiekviename bare calculate_signal()/on_bar() viduje iš naujo sudaromas sąrašas ir iškviečiama min()/sorted(). Iš anksto apskaičiuokite surūšiuotus laiko žymų masyvus ONCE funkcijoje __init__ ir naudokite bisect arba talpinkite paieškos rezultatus į talpyklą pagal laiko žymą, kad kiekvieno baro sąnaudos būtų O(log n), o ne O(n).
Istorinio testo peržiūra
- Sharpe
- -1,94
- Bendra grąža
- -85,70%
- Didžiausias nuosmukis
- 86,79%
- Iš viso sandorių
- 1388
- Pelningų sandorių dalis
- 52,9%
- Pelno faktorius
- 0,72
Švarus ir tikslus įgyvendinimas: ADX režimo filtras, z balo nuokrypių strategija ir stop / uždarymo logika teisingai atspindi nurodytą hipotezę (nėra artefaktų ar apskaitos klaidų, kintamumo lygis tikėtinas 20.6%, nėra neįmanomų dienų).
Pakankama imtis ir patikima infrastruktūra: 1,388 sandorių per 6+ metus, didelis sandorių skaičius, vienas likvidus instrumentas, O(1) sąnaudos kiekvienam barui — pats atgalinis testas yra patikimas.
Neigiamas rezultatas savaime yra informatyvus: jis aiškiai patvirtina prielaidą, kad pagrindinėse kriptovaliutose kainų apsisukimų nėra, remiantis didele, statistiškai reikšminga imtimi.
Nuosekliai neigiamas pranašumas per EVERY metus (2020 -13%, 2021 -52%, 2022 -32%, 2023 -2.8%, 2024 -5.8%, 2025 -25.6%, 2026 -18.4%) ir visais režimais — total_return -85.7%, max_drawdown 86.8%.
Labai neigiami pagal riziką pakoreguoti rodikliai, dėl kurių nėra jokių abejonių: Sharpe rodiklis -1.94 (visas CI neigiamas, ci_high -1.14), Sortino rodiklis -2.46, PSR 0.0, profit_factor 0.72, information_ratio -1.01, tikėtina grąža -$60.76 vienam sandoriui per 1,388 sandorių.
Išmokos geometrija apversta, nors hipotezė teigė, kad to bus išvengta: exit_z=0.3 (menkas laimėjimas), o 4% stopas duoda avg_win $290 < avg_loss $455, kai laimėjimų dalis yra 53%; komisiniai sunaudojo 16% bruto pelno — tačiau net ir teisinga geometrija neišgelbės signalo, neturinčio prognozinio pranašumo per 6 metus.
Iteracijų istorija
Patikra nepavyko (sluoksnis 2 — sintetiniai scenarijai): Naudoti parametrai: ['exit_z', 'entry_z', 'risk_frac', 'adx_period', 'band_period', 'min_notional', 'adx_threshold', 'stop_loss_pct'] Patikrinkite, ar __init__ nustato visus atributus iš self.parameters.get(). - steady_uptrend: TypeError: „float“ objektas nėra iškviečiamas (baro laiko žyma: 1735691580000) - steady_downtrend: TypeError: „float“ objektas nėra iškviečiamas (baro laiko žyma: 1735691580000) - flat_ranging: TypeError: „float“ objektas nėra iškviečiamas (baro laiko žyma: 1735691580000) - volatility_spike: TypeError: „float“ objektas nėra iškviečiamas (baro laiko žyma: 1735691580000) - zero_volume: TypeError: „float“ objektas nėra iškviečiamas (baro laiko žyma: 1735691580000) - price_gap: TypeError: „float“ objektas nėra iškviečiamas (baro laiko žyma: 1735691580000)
Rezultatų suvestinė
Trumpalaikė reversija neturi teigiamo pranašumo likvidžioms pagrindinėms kriptovaliutoms, net jei taikomas ADX be tendencijos režimo filtras, todėl pernelyg didelio nuokrypio strategija, paremta ETH, vis tiek nuostolinga visais metais ir režimais.
Analitikas iki optimizavimo, BACKTEST_REVIEW etape, paskelbė verdiktą „atsisakyti“, nusprendęs, kad prielaida iš esmės yra žlugusi, o ne pataisoma klaida. Kodas ištikimai įgyvendino hipotezę, o atgalinis testavimas buvo švarus ir patikimas, todėl nebuvo jokio defekto, kurį reikėtų taisyti, ir nebuvo jokio nepareguliuoto parametro, kurį optimizavimas galėtų rasti. Optimizavimo, vėlesnės analitiko peržiūros ir rizikos peržiūros etapai taip ir nebuvo pasiekti.
Ilgoji ir trumpoji 1H vidurkio link grįžimo strategija, taikoma ETHUSDT Binance USD-M perp, kuri prekiauja prieš išsitęsusius z balo nuokrypius nuo trumpo SMA, bet tik tada, kai ADX tendencijos filtras (ADX<25) patvirtina, kad rinkoje nėra tendencijos arba ji svyruoja; tendencijų metu pozicija nedaroma, kad nebūtų prekiaujama prieš impulsą.
Per 1,388 sandorių per 6+ metus (2019-2026) strategija patyrė aiškių nuostolių: bendra grąža -85.7%, Sharpe rodiklis -1.94 (visas CI neigiamas, ci_high -1.14), pelno koeficientas 0.72, tikėtina grąža -$60.76 vienam sandoriui ir 86.8% didžiausias nuosmukis, kai laimėjimų dalis buvo 52.9%. Nuostolis fiksuotas kiekvienais metais ir visais režimais; išmokos geometrija buvo apversta (vidutinis laimėjimas $290 < vidutinis nuostolis $455), o komisiniai sunaudojo apie 16% bruto pelno.
„Stratmill“ yra tyrimų ir popierinės prekybos įrankis, o ne finansų konsultantas ar brokeris. Testavimo ir popierinės prekybos rezultatai yra hipotetiniai. Prekyba susijusi su nuostolio rizika.