Przejdź do treści
Wszystkie strategie

Strategie

Powrót do średniej na paśmie zmienności w reżimie bocznym, long-short (pojedynczy instrument: ETHUSDT Binance USD-M, słupki 1H, zagranie przeciwko skrajnym odchyleniom ONLY, gdy filtr trendu potwierdza brak trendu — udokumentowana poprawka na problem porażki strategii odwrócenia na głównych instrumentach w trendzie, niewiele parametrów)

Wynik: Porzucona

EthRangingRegimeVolBandMeanReversionLS1H

Podsumowanie wyniku

Ta strategia miała uratować godzinowy powrót do średniej ETH przed wielokrotnie potwierdzonym wnioskiem fabryki, że krótkoterminowe odwrócenie zawodzi na płynnych głównych instrumentach, wykorzystując twardy filtr reżimu ADX, aby zagrywać przeciwko skrajnym odchyleniom z-score wyłącznie na rynkach bocznych. W backteście obejmującym 1,388 transakcji i ponad 6 lat strategia filtrowana przyniosła straty w każdym roku i reżimie — całkowita stopa zwrotu -85.7%, Sharpe -1.94 z całkowicie ujemnym przedziałem ufności,……Pokaż więcejPokaż mniej

Ta strategia miała uratować godzinowy powrót do średniej ETH przed wielokrotnie potwierdzonym wnioskiem fabryki, że krótkoterminowe odwrócenie zawodzi na płynnych głównych instrumentach, wykorzystując twardy filtr reżimu ADX, aby zagrywać przeciwko skrajnym odchyleniom z-score wyłącznie na rynkach bocznych. W backteście obejmującym 1,388 transakcji i ponad 6 lat strategia filtrowana przyniosła straty w każdym roku i reżimie — całkowita stopa zwrotu -85.7%, Sharpe -1.94 z całkowicie ujemnym przedziałem ufności, współczynnik zysku 0.72 i wartość oczekiwana -$60.76 na transakcję — a jednocześnie miała właśnie tę odwróconą geometrię małego zysku i dużego stopa, której hipoteza miała uniknąć. Ponieważ implementacja była czysta, a ujemny wynik jednoznaczny w dużej, statystycznie istotnej próbie, analityk porzucił strategię na etapie przeglądu backtestu przed optymalizacją, zamiast poświęcać godziny na optymalizowanie szumu. Strategia nie przeszła tego etapu: nie uruchomiono optymalizacji, analizy po optymalizacji ani przeglądu ryzyka, a wynik jednoznacznie potwierdza, że zagranie przeciwne z filtrem ADX na płynnych głównych kryptowalutach nie uogólnia się na dodatnią przewagę.

Hipoteza

Strategia powrotu do średniej LONG-SHORT, SINGLE-INSTRUMENT na ETHUSDT.BINANCE (USD-M perpetual, słupki 1-HOUR), celowo zaprojektowana AROUND wielokrotnie potwierdzonemu wnioskowi fabryki, że „krótkoterminowe odwrócenie nie występuje na płynnych głównych instrumentach — w tym horyzoncie te instrumenty kontynuują ruch/trend”. Wcześniejszy portfel przekrojowy strategii odwrócenia 3-dniowego zawiódł właśnie dlatego, że zagrywał przeciwko UNCONDITIONALLY, a tym samym strukturalnie zajmował krótką pozycję wobec……Pokaż więcejPokaż mniej

Strategia powrotu do średniej LONG-SHORT, SINGLE-INSTRUMENT na ETHUSDT.BINANCE (USD-M perpetual, słupki 1-HOUR), celowo zaprojektowana AROUND wielokrotnie potwierdzonemu wnioskowi fabryki, że „krótkoterminowe odwrócenie nie występuje na płynnych głównych instrumentach — w tym horyzoncie te instrumenty kontynuują ruch/trend”. Wcześniejszy portfel przekrojowy strategii odwrócenia 3-dniowego zawiódł właśnie dlatego, że zagrywał przeciwko UNCONDITIONALLY, a tym samym strukturalnie zajmował krótką pozycję wobec momentum dominującego na tym uniwersum. Ta strategia usuwa tę podstawową przyczynę za pomocą twardego filtra REGIME GATE: zagrywa przeciwko skrajnemu odchyleniu tylko wtedy, gdy filtr trendu (ADX) wskazuje, że instrument obecnie NOT znajduje się w trendzie. W reżimie bez trendu (bocznym) godzinne nadmierne odchylenia od krótkiej średniej kroczącej powracają do średniej; w reżimie trendowym strategia pozostaje FLAT i nigdy nie walczy z trendem. Jest niezależna od rodziny strategii momentum/impulsu/trendu, która już dominuje w portfelu, i celowo ją uzupełnia — wykorzystuje reżim OPPOSITE, zamiast przedstawiać tę samą przewagę w innej formie. Czyste OHLCV, głęboka historia z wielu lat, duża liczba transakcji (brak bariery wynikającej ze zbyt rzadkich danych), pojedynczy płynny główny instrument (brak ryzyka luk cenowych z powodu wydarzeń napędzanych wiadomościami na pojedynczym altcoinie, jak XRP/LTC). Niewiele parametrów ogranicza ryzyko przeuczenia.

Poprawka z iteracji 3 dotycząca przekroczenia limitu czasu zegarowego warstwy -3: poprzednia wersja odtwarzała tablice numpy z ENTIRE rosnącej historii słupków i wykonywała ADX pętle Pythona po całości na każdym słupku, co dawało łączny koszt O(n^2) i przekraczało limit 300s testu dymnego na wieloletnich danych 1H. Najmniejsza, precyzyjna zmiana ogranicza self._bars do ogona o stałej długości (self._calc_window = max(band_period, 5*adx_period)+10 = 80 słupków) przed utworzeniem tablic, dzięki czemu praca dla każdego słupka wynosi O(1), a łączny koszt O(n). Cała logika sygnałów, wejścia, wyjścia i wielkości pozycji jest identyczna bajt po bajcie z kodem, który przeszedł już warstwy 1-2, więc żaden wcześniejszy test nie ulega pogorszeniu. Okno z zapasem obejmuje okres rozgrzewki Wildera ADX (2*adx_period+1) oraz okres pasma SMA.

Założenie z gruntu nietrafione, a nie błąd możliwy do naprawienia ani artefakt — potwierdza wielokrotnie zweryfikowany wniosek fabryki, że krótkoterminowe odwrócenie nie występuje na płynnych głównych kryptowalutach. Cała teza tej hipotezy głosiła, że filtr reżimu bez trendu ADX uratuje godzinowe zagranie przeciwko ETH; filtrowana strategia nadal przynosi straty w EVERY roku (2020 do 2026) i w EVERY reżimie, przy total_return -85.7%, współczynniku Sharpe'a -1.94 (cały CI ujemny, ci_high -1.14), PSR 0.0,……Pokaż więcejPokaż mniej

Założenie z gruntu nietrafione, a nie błąd możliwy do naprawienia ani artefakt — potwierdza wielokrotnie zweryfikowany wniosek fabryki, że krótkoterminowe odwrócenie nie występuje na płynnych głównych kryptowalutach. Cała teza tej hipotezy głosiła, że filtr reżimu bez trendu ADX uratuje godzinowe zagranie przeciwko ETH; filtrowana strategia nadal przynosi straty w EVERY roku (2020 do 2026) i w EVERY reżimie, przy total_return -85.7%, współczynniku Sharpe'a -1.94 (cały CI ujemny, ci_high -1.14), PSR 0.0, profit_factor 0.72 oraz wartości oczekiwanej -$60.76 w dużej, statystycznie istotnej próbie 1,388 transakcji. Kod wiernie realizuje założenie (brak zdegenerowanego parametru bezczynności, brak artefaktu księgowego, prawdopodobna zmienność ~20% i brak niemożliwych dni), więc programista nie ma czego naprawiać, a optymalizator nie znajdzie nietunowanego parametru — optymalizacja przez 2 godzin dla tak jednolicie ujemnej bazy dopasowałaby jedynie szum. Sygnał zagrania przeciwko z-score 2-std, nawet ograniczony do bocznych reżimów ADX<25, ma ujemną wartość predykcyjną na ETH; strategia ma też odwróconą geometrię małego zysku (TP exit_z 0.3) i dużego stopa (4%), której hipoteza miała uniknąć (avg_win $290 < avg_loss $455). Nie kontynuować iteracji: nie ma konkretnej wady kodu, a przeniesienie tego samego mechanizmu kontrariańskiego na inną płynną główną kryptowalutę powtórzyłoby tę samą porażkę wynikającą z braku odwrócenia. Zgadza się ze znanym wzorcem porażki: filtrowany krótkoterminowy powrót do średniej na płynnych głównych kryptowalutach nie uogólnia się na dodatnią przewagę.

Implementacja

Strategia powrotu do średniej z pozycjami long i short na 1H dla ETHUSDT USD-M perp. Zajmuje pozycje przeciwne wobec dużych odchyleń z-score od pasma SMA o szerokości 24 słupków, ale ONLY, gdy ADX(14) < 25 (reżim bez trendu/boczny). W reżimach trendowych pozostaje poza rynkiem i zamyka pozycję, jeśli trend pojawi się w trakcie transakcji. Wyjścia następują po uruchomieniu stop-lossu lub powrocie do średniej. Obliczenia dla każdego słupka obejmują stałe okno obejmujące ostatnie dane, dzięki czemu backtest działa w czasie O(n).

Wyniki weryfikacji

Weryfikacja nie powiodła się (warstwa 3 — backtest w piaskownicy): test dymny przekroczył limit czasu 300s. Prawie zawsze oznacza to pracę wykonywaną dla każdego słupka, której koszt rośnie wraz z długością historii — np. ponowne przeszukiwanie całej serii finansowania/danych uzupełniających albo tworzenie listy i wywoływanie min()/sorted() wewnątrz calculate_signal()/on_bar() dla każdego słupka. Wstępnie oblicz posortowane tablice znaczników czasu ONCE w __init__ i użyj bisect albo buforuj wyszukiwania według znacznika czasu, aby koszt dla każdego słupka wynosił O(log n), a nie O(n).

Przegląd backtestu

Sharpe
-1,94
Łączna stopa zwrotu
-85,70%
Maksymalne obsunięcie
86,79%
Łączna liczba transakcji
1388
Trafność
52,9%
Współczynnik zysku
0,72

Czysta, wierna implementacja: filtr reżimu ADX, zagranie przeciwko z-score oraz logika stop/wyjścia prawidłowo odzwierciedlają przedstawioną hipotezę (brak artefaktu i błędu księgowania, prawdopodobna zmienność 20.6% i brak niemożliwych dni).

Dobra próba i infrastruktura: 1,388 transakcji w ciągu ponad 6 lat, duża liczba transakcji, pojedynczy płynny instrument, koszt O(1) dla każdego słupka — sam backtest jest wiarygodny.

Ujemny wynik sam w sobie jest informacyjny: jednoznacznie potwierdza wcześniejsze założenie o braku odwrócenia na głównych instrumentach, na podstawie dużej, statystycznie istotnej próby.

Konsekwentnie ujemna przewaga w ciągu EVERY roku (2020 -13%, 2021 -52%, 2022 -32%, 2023 -2.8%, 2024 -5.8%, 2025 -25.6%, 2026 -18.4%) i w każdym reżimie — total_return -85.7%, max_drawdown 86.8%.

Głęboko ujemne wskaźniki skorygowane o ryzyko, bez żadnych wątpliwości: Sharpe -1.94 (cały CI ujemny, ci_high -1.14), Sortino -2.46, PSR 0.0, profit_factor 0.72, information_ratio -1.01, wartość oczekiwana -$60.76/transakcję w ciągu 1,388 transakcji.

Odwrócona geometria wypłat, której hipoteza miała uniknąć: exit_z=0.3 (niewielki zysk) wobec stopa 4% daje avg_win $290 < avg_loss $455 przy skuteczności 53%; prowizje pochłaniają 16% zysku brutto — ale nawet prawidłowa geometria nie uratuje sygnału bez wartości predykcyjnej w ciągu 6 lat.

Historia iteracji

Weryfikacja nie powiodła się (warstwa 2 — scenariusze syntetyczne): Użyte parametry: ['exit_z', 'entry_z', 'risk_frac', 'adx_period', 'band_period', 'min_notional', 'adx_threshold', 'stop_loss_pct'] Sprawdź, czy __init__ ustawia wszystkie atrybuty za pomocą self.parameters.get(). - steady_uptrend: TypeError: obiekt typu 'float' nie jest wywoływalny (znacznik czasu słupka: 1735691580000) - steady_downtrend: TypeError: obiekt typu 'float' nie jest wywoływalny (znacznik czasu słupka: 1735691580000) - flat_ranging: TypeError: obiekt typu 'float' nie jest wywoływalny (znacznik czasu słupka: 1735691580000) - volatility_spike: TypeError: obiekt typu 'float' nie jest wywoływalny (znacznik czasu słupka: 1735691580000) - zero_volume: TypeError: obiekt typu 'float' nie jest wywoływalny (znacznik czasu słupka: 1735691580000) - price_gap: TypeError: obiekt typu 'float' nie jest wywoływalny (znacznik czasu słupka: 1735691580000)

Podsumowanie wyniku

Krótkoterminowe odwrócenie nie zapewnia dodatniej przewagi na płynnych głównych kryptowalutach, nawet przy ograniczeniu do reżimu bez trendu ADX, więc zagranie przeciwko nadmiernemu odchyleniu na ETH nadal przynosi straty we wszystkich latach i reżimach.

Analityk wydał werdykt „porzucić” na etapie BACKTEST_REVIEW przed optymalizacją, uznając założenie za z gruntu nietrafione, a nie za błąd możliwy do naprawienia; kod wiernie realizował hipotezę, a backtest był czysty i wiarygodny, więc nie było wady do naprawienia ani nietunowanego parametru, który mogłaby znaleźć optymalizacja. Nie przeprowadzono optymalizacji, późniejszej analizy analityka ani przeglądu ryzyka.

Strategia powrotu do średniej long-short na 1H dla ETHUSDT Binance USD-M perp, która zagrywała przeciwko skrajnym odchyleniom z-score względem krótkiej SMA, ale tylko wtedy, gdy filtr trendu ADX (ADX<25) potwierdzał reżim bez trendu/boczny, pozostając bez pozycji podczas trendów, aby nie walczyć z momentum.

W ponad 1,388 transakcjach w ciągu ponad 6 lat (2019-2026) strategia poniosła zdecydowane straty: całkowita stopa zwrotu -85.7%, Sharpe -1.94 (cały CI ujemny, ci_high -1.14), współczynnik zysku 0.72, wartość oczekiwana -$60.76/transakcję oraz maksymalne obsunięcie kapitału 86.8% przy skuteczności 52.9%. Wynik był ujemny w każdym roku i każdym reżimie, z odwróconą geometrią wypłat (średni zysk $290 < średnia strata $455) i prowizjami pochłaniającymi około 16% zysku brutto.

Stratmill to narzędzie do badań i handlu na papierze (paper trading), a nie doradztwo finansowe ani broker. Wyniki backtestów i paper tradingu mają charakter hipotetyczny. Handel wiąże się z ryzykiem straty.