Przejdź do treści

Wyświetl oryginał

BtcTakerFlowExhaustionReversalLS1H

Hipotezy

BTC Odwrót Wyczerpania Przepływu Takerów, Long-Short (Jeden Instrument BINANCE USD-M Perp, Słupki 1h, Fade Ekstremalnej Nierównowagi Agresora — Krótka Pozycja przy Późnym Etapie Kupowania FOMO / Panicznej Sprzedaży — Bramkowane Reżimem Zakresowym, Nowy Sygnał Taker-Ratio, 3 Parametrów)

Hipotezy

LONG-SHORT, jednoinstrumentowy powrót do średniej na BTCUSDT.BINANCE (USD-M perp, słupki 1h), napędzany ORDER FLOW, a nie ceną — sygnał wejściowy, którego nie używa żadna wdrożona strategia. Dla każdego słupka oblicza nierównowagę agresora kupna/sprzedaży takerów (udział wolumenu kupna takerów) na podstawie danych uzupełniających taker-ratio z Binance futures (fallback: trade_ticks sklasyfikowane po agresorze), wygładzoną w krótkim oknie. Teza: gdy kupno agresora staje się ekstremalne i utrzymujące się (np. udział kupna takerów ≥ 0.68 w oknie wygładzania), marginalny kupujący na rynku jest w późnym etapie FOMO / wymuszonego zamykania krótkich pozycji bez świeżego popytu limitowego za sobą — wyczerpanie agresora, które wiarygodnie zapowiada krótkoterminową korektę, więc FADE to SHORT. Symetrycznie, ekstremalna i utrzymująca się agresja sprzedaży takerów SELL (udział ≤ 0.32) to paniczna/kapitulacyjna sprzedaż rynkowa w cieniejące oferty — zajmij pozycję LONG. Jest to celowo rodzina DIFFERENT, różna od wszystkiego, co ginie w tej fabryce: jest NOT podejściem trend-following (cmentarzysko jednoreżimowe umierające przez 209 — jest kontrariańska i rozłożona na wiele reżimów, płacąc w każdym kierunku, gdy przepływ przesadza), NOT funding carry (nasycona, umierająca od opłat rodzina koszyków — jej przewaga to ruch odwrotu 0.4–0.6%, a nie przepływ pieniężny poniżej punktu bazowego), NOT koszykiem N-nożnym (jest jednoinstrumentowa, 2 wypełnień na pełny obrót, więc omija mur opłat L12 2N×10bps), oraz NOT opcjami (brak muru liczby transakcji — zdarzenia ekstremalnego przepływu zdarzają się dziesiątki razy w roku, dając setki transakcji dla wiarygodnego pomiaru przewagi). Jest bramkowana do reżimów NON-TRENDING (fade tylko wtedy, gdy wolny filtr trendu jest płaski/zakresowy), aby uniknąć jedynego realnego trybu niepowodzenia — ekstremalnego przepływu, który jest INFORMED kontynuacją, a nie wyczerpaniem. 3 niska liczba parametrów (okno wygładzania przepływu, próg nierównowagi, wyjście) utrzymuje odporność na przeuczenie.

Hipotezy

Iteracja 3 adresuje jedyne niepowodzenie Warstwy-4 QA: głód transakcji (6 transakcji/363d) wynikający z nadmiernie ścisłej bramki złożonej. Brak zmian w mechanizmie, importach czy logice sygnału (te przeszły Warstwy 1-3); poluzowano tylko trzy regulatory wejścia/wyjścia, aby strategia przekroczyła minimum mierzalności ~100 transakcji. entry_z 1.2->0.8 wywołuje się przy większej liczbie ekstremów przepływu, pozostając jednocześnie poza szumem i powyżej kosztu takera 0.10% za pełny obrót (odwrót w tezie to 0.4-0.6%). regime_threshold 0.55->0.65 dopuszcza więcej słupków zakresowych, dzięki czemu koniunkcja zakres-AND-ekstremalne-z przestaje kumulować rzadkość, wciąż wykluczając silne trendy (tryb niepowodzenia świadomej kontynuacji). exit_z 0.3->0.25 oraz max_hold_bars 24->10 przyspieszają rotację, szybciej sprowadzając strategię do pozycji płaskiej i zwielokrotniając liczbę okien wejścia w roku. Sygnał rolling-z niezależny od skali (L5) oraz kontrariański, rozłożony na reżimy, jednoinstrumentowy projekt, który odróżnia to od cmentarzyska trend/carry/basket/opcje, pozostają niezmienione.

Hipotezy

Fade wyczerpania przepływu takerów na jednym perpie o ujemnej wartości oczekiwanej (expectancy), bez przewagi i z murem danych uzupełniających (L73/L55). profit_factor 0.62, total_return -5.29%, Sharpe -0.71 (CI [-1.35, 0.02]), wartość oczekiwana -$62.6/transakcję, avg_trade_return_pct 0.0146% (~zero, netto strata); avg_loss > avg_win z win_rate 0.447, więc fade jest po niewłaściwej stronie przepływu. Co istotne, mimo 58,512 słupków w ciągu 2019-2026, ALL 85 transakcji i 100% zwrotów przypada na jedno okno ~6-miesięczne 2026, ponieważ dane uzupełniające taker_ratio obejmują tylko niedawny fragment — annual_returns={2026:-5.32}, miesięcznie 2026-03..08 — więc nie można zbudować walk-forward z oknem 3 oraz holdoutu 20%. To ten sam wzorzec jednoperpowej strategii bramkowanej przepływem zleceń, który już trzykrotnie odrzucono w tej partii (BtcTakerAggressionPersistence, AvaxTakerAggressorDominance, EthTakerFlowBreakout). Żadne dostrajanie parametrów nie zmieni ujemnej przewagi na transakcję w dodatnią, a optymalizator nie może „dokupić” pokrycia kalendarzowego, którego brakuje w danych. Nie jest to warte 2 godzin optymalizacji. Wzorzec niepowodzenia: fade fee_edge/no_edge jednoperpowy, bramkowany przepływem zleceń, z oknem danych uzupełniających obejmującym tylko ostatni okres.

Implementacja

Powrót do średniej long-short na przepływie zleceń na BTCUSDT.BINANCE USD-M perp (słupki 1h). Oblicza rolling z-score wygładzonego udziału agresora kupna takerów na podstawie danych uzupełniających Binance taker_ratio; fade'uje ekstremalne, utrzymujące się kupno agresora SHORT (wyczerpanie w późnym etapie FOMO) oraz ekstremalną sprzedaż agresora LONG (paniczna kapitulacja), tylko w reżimie zakresowym (niski wskaźnik efektywności Kaufmana). Wychodzi przy normalizacji przepływu, twardym stopie 1% lub limicie czasowym. Jeden instrument, lewar 1.0, 3 kluczowych parametrów.

Wyniki weryfikacji

CLEAN RESTART 2026-09-04 — historia werdyktów i zapisy uczenia tego przebiegu zostały usunięte, a proces został zrestartowany od weryfikacji. Jego wcześniejsze odrzucenie wynikało z pipeline'u, nie z rynku: harness Layer-2 niewłaściwie wiązał helpery @staticmethod (naprawione), QA wydawał ostateczne werdykty dotyczące wydajności na niezoptymalizowanym teście smoke (usunięte — QA teraz ocenia jedynie poprawność), a przekroczenia czasu w sandboxie wynikały z niedoboru slotów backtestu (naprawione). Hipoteza i kod strategii są niezmienione. Zweryfikuj kod na podstawie jego wartości merytorycznej; wydajność zostanie oceniona później przez pełny backtest i optymalizator.

Wyniki weryfikacji

Zmniejsz domyślną wartość taker_lag_seconds do ~7200-14400s, aby nieaktualne dane (stale feeds) blokowały wejścia.

Wyniki weryfikacji

taker_lag_seconds przyjmuje domyślnie wartość 90000 (25 godzin), więc _current_fraction akceptuje obserwację taker_ratio nieaktualną nawet do ~25h, zanim zwróci None. Nie jest to look-ahead (granica bisect jest jednostronna na słupku ts_event <= ts_init), ale przy przerwach w danych strategia handluje na odczycie przepływu starym o dzień.

Wyniki weryfikacji

Dołączaj do _frac_buf tylko wtedy, gdy self._tk_ts[idx] się zwiększa.

Wyniki weryfikacji

_current_fraction zwraca najnowszą obserwację niezależnie od jej nowości, więc ta sama wartość fraction jest ponownie dołączana do _frac_buf w każdym słupku, aż dane się zaktualizują, co lekko kompresuje bazowe odchylenie standardowe rolling-z. Nie jest to naruszenie poprawności przy częstotliwości 1h.

Przegląd backtestu

Czysta implementacja na jednym instrumencie (2 wypełnień/pełny obrót, brak muru opłat koszykowych), bramkowana reżimem, tylko 3 kluczowych parametrów — odporna na przeuczenie z konstrukcji

Przegląd backtestu

Sygnał wejściowy oparty na przepływie zleceń jest rzeczywiście odmienny od cmentarzysk strategii trend/carry/basket

Przegląd backtestu

Netto stratny, bez przewagi: profit_factor 0.62, total_return -5.29%, Sharpe -0.71 (CI [-1.35, 0.02]), wartość oczekiwana -$62.6/transakcję, avg_trade_return_pct 0.0146% (~zero i ujemny znak)

Przegląd backtestu

avg_loss ($301) przewyższa avg_win ($232) z win_rate 0.447 — fade wyczerpania jest systematycznie po niewłaściwej stronie ruchu przepływu

Przegląd backtestu

Mur danych uzupełniających (L73): wszystkie 85 transakcje i 100% zwrotów przypadają na jedno okno ~6-miesięczne 2026 (annual_returns={2026:-5.32}, miesięcznie 2026-03..08), ponieważ dane taker_ratio obejmują tylko niedawny fragment historii 2019-2026 OHLCV — efektywna próba nie jest w stanie wspierać walk-forward z oknem 3 + holdoutu 20%

Przegląd backtestu

commission_pct_of_gross 47% — opłaty plus wpływ na rynek (impact) już pochłaniają połowę wartości brutto, jeszcze przed uwzględnieniem przewagi o ujemnym znaku

Przegląd backtestu

Odpowiada klasie jednoinstrumentowych strategii bramkowanych przepływem zleceń o zerowej liczbie przetrwałych (BtcTakerAggressionPersistence, AvaxTakerAggressorDominance, EthTakerFlowBreakout — wszystkie odrzucone) oraz klasie fade dla jednej nazwy L55 sub-1.15-PF

Przegląd backtestu

6mo (tylko 2026)

Przegląd backtestu

wieloletni

Iteration History

Weryfikacja nie powiodła się (Warstwa 3 — backtest w sandboxie): Nie wygenerowano żadnych transakcji Użyty typ słupków: BTCUSDT.BINANCE-1-HOUR-LAST-EXTERNAL, Przetworzone słupki: 8729 Diagnostyka: should_enter() zwróciło stronę 0 razy na 8679 ocenionych słupków -> ENTRY CONDITION nigdy się nie wywołało. Poluzuj logikę wejścia / progi. Upewnij się, że strategia generuje transakcje dla podanych danych i parametrów.

Iteration History

Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA): - Bramka wejścia wywołuje się zdecydowanie za rzadko, aby dać mierzalny wynik. Sandbox wygenerował tylko 6 transakcji w ciągu 363 dni (~6 transakcji/rok). Bramka złożona wymaga jednocześnie: (a) reżimu RANGING (wskaźnik efektywności Kaufmana < regime_threshold), (b) ekstremalnego rolling z udziału kupna takerów (|z| >= entry_z=1.2), oraz (c) strategia musi być FLAT, następnie utrzymuje pozycję do 24 słupków -- więc rzeczywiste wejścia są rzadkie, nawet gdy z przekracza pasmo często. To dokładnie ten sam tryb niepowodzenia L16 ('BTC 4H nierównowaga agresora 16 transakcji', 'BTC taker-ratio 16 transakcji'), i jest tu WORSE (6 transakcji). Nawet wieloletni backtest przy tym tempie pozostaje daleko poniżej minimum mierzalności ~100 transakcji. Własne uzasadnienie hipotezy ('dziesiątki razy w roku, setki transakcji dla wiarygodnego pomiaru przewagi') jest bezpośrednio zaprzeczone wynikiem 6 transakcji. - Ponieważ wynik opiera się na 6 transakcjach, każda kluczowa metryka jest niediagnostyczna: Sharpe 0.84, ale sharpe_ci_low -1.08 (CI obejmuje zero), profit_factor 10.26 oraz win_rate 0.667 na 6 próbkach, return_skew 7.23 / kurtoza 94.8, oraz avg_win $300 wobec avg_loss $58 -- jedna largest_win $662 niesie cały pozytywny zwrot (+1.08%). Żadnej z tych metryk nie można uznać za dowód przewagi. Jest to bezpośrednia konsekwencja opisanego wyżej problemu z liczbą transakcji, a nie niezależny defekt.

Iteration History

Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA): - Rdzenna przewaga (edge) jest negatywna i niższa od opłat, co falsyfikuje centralne twierdzenie hipotezy. Hipoteza zakłada, że fade wychwytuje '0.4-0.6% ruch odwrotu'; sandbox mierzy avg_trade_return_pct -0.025% -- ujemne, i o rząd wielkości niższe zarówno od twierdzenia, jak i od minimalnego poziomu opłat futures 0.15%. Potwierdzając rzeczywisty brak przewagi (nie tylko szum): profit_factor 0.518, Sharpe -1.53 (CI [-2.73, +0.07]), win_rate 0.50 z INVERTED stosunkiem zysku do ryzyka (avg_loss $338 ~= 2x avg_win $175), omega_ratio 0.35. Co istotne, pojawiło się to BECAUSE poluzowaniu w iter-3 (entry_z 1.2->0.8, regime_threshold 0.55->0.65), które dodało transakcji: dodatkowe wejścia były wywoływane przy słabszych ekstremach przepływu, które NOT nie odwracały się, ściągając średnią przewagę w dół, do wartości ujemnych. To jest bezpośredni dowód, że sygnał wyczerpania przepływu takerów (taker-flow-exhaustion) nie posiada alfa odwrotu, która pokrywa koszty -- ekstremalne słupki nierównowagi agresora nie wykazują systematycznego powrotu do średniej przy tych progach. - Liczba transakcji wciąż jest niższa od minimum wymaganego do mierzalności. iter-3 zwiększyła liczbę transakcji z 6 do 26 w ciągu 363 dni (~26/rok), ale to wciąż znacznie poniżej minimum ~100 transakcji potrzebnego do odróżnienia przewagi od szumu (L16; podobne próby siostrzane BTC z nierównowagą agresora/taker-ratio zakończyły się przy 16 transakcjach). Przy 26 transakcjach oraz skośności -4.83 / kurtozie 43 (jedna strata -$945 dominuje), metryki wciąż są zdominowane przez szum -- Sharpe CI rozciąga się od -2.73 do +0.07. Deweloper jest uwięziony między dwoma zawodzącymi reżimami: ściślejsza bramka -> niemierzalne (6 transakcji), luźniejsza bramka -> częściowo mierzalne, ale ujemna przewaga (26 transakcji, -0.025%/transakcję). Obie zawodzą.
Raport strategii

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.