Satoshi · 2026-07-16 · dane: 937 perpów Binance (żywe + delistowane), 2020-01 → 2026-06 · egzekucja symulowana konserwatywnie (świece 5 m) · werdykty wyłącznie na danych niewidzianych (pojedynczy split + kroczący walk-forward 22 foldów) · fakty #948–957
Pytanie dnia (spec Bartosza): siatka zleceń na wielu monetach czekająca na duży ruch — wybiciowa (za ruchem), kontrariańska (przeciw), potem wariant QFL (crack strukturalnej bazy) z trzema trybami budowy pozycji i optymalizacją poziomów. Testowane wszystkie warianty (reguła #949), cel = zysk po kosztach vs trzymanie BTC (#745), zasady uczciwości #939.
| zbiór | zakres | wolumen | uwagi |
|---|---|---|---|
| klines 1h — wszystkie krypto-perpy USDT Binance | 2020-01 → 2026-06 | 792 symbole | 528 żywych + 264 delistowane (archiwum data.binance.vision; tokenizowane akcje/ETF/surowce odfiltrowane po underlyingType) |
| klines 5m (egzekucja) | j.w. | ~880 symboli | top-100 żywych + wszystkie delisted + reszta żywych (uzupełniane dziś) |
| funding BTC (kontekst kosztów) | 844 dni | 8h | baseline +8,7% APY (long płaci, short zbiera) |
Pobrania: 0 błędów. Czas jednostek naprawiony (parquet datetime64[ms] vs ns — bug wykryty i usunięty przed właściwym runem).
Dla każdego ruchu ±2/3/5/7/10% w oknie 4h/24h zmierzono, co cena robi przez 3 dni. Cztery ustalenia:
| # | ustalenie | liczby |
|---|---|---|
| 1 | Po pompce rynek oddaje. Im większa, tym mocniej; ale średnia dodatnia = rzadkie pompy jadą dalej (ogon short-squeeze) | po +10%/4h: mediana 3 dni później −3,8%; MAE ogona ~9–13% |
| 2 | Po krachu lustro: mediana osuwa się dalej, ale średnia to odbicie (gruby ogon dużych odbić); odbicie żyje ~1. dobę | mediana +0,4% w dół / średnia +0,35% w górę |
| 3 | Wielkość monety odwraca werdykt: majors odbijają po krachu, śmieciowe alty NIE (kontynuują spadek), a ich pompki gasną najmocniej | top10: śr. +1,5% odbicia · 150+: −1,4% po pompie |
| 4 | Reżim = przełącznik: hossa → kupuj dołki; bessa/bok → krach kontynuuje, pompki gasną | hossa: śr. odbicie +2,1% · bessa/bok: kontynuacja +0,7/+0,8% |
Funkcja celu: score = mean_net(train) − 0,5·|p5(train)|, n≥300; selekcja na train (<2025-07), werdykt na teście. Egzekucja: limit tylko przy przebiciu, SL przed TP w barze, TP nie w barze dokładki, taker+slippage na wyjściach przymusowych.
| odpowiedź na duży ruch | zysk/trade OOS | werdykt |
|---|---|---|
| PRZECIW ruchowi (kontrariańska drabinka) | +0,56% | działa — cała góra rankingu |
| ZA ruchem (wybiciowa, stop-entry) | −0,65% | przegrywa każdą konfigurację na dniach; kontynuacja żyje na tygodniach (tor T1) |
| top komórka: long po krachu ≥10%/4h | zysk/trade OOS* | trafność | najgorszy trade | ocena |
|---|---|---|---|---|
| bez stop-lossa (TP 3%) | +1,60% | 89% | −85% | miraż survivorship |
| ROBUST: TP 3% + trailing 1% + time-stop 72h + SL −8% | +0,86% | 83% | −8,05% | kandydat |
* średnia po sklastrowaniu dniami (zdarzenia stadne). Portfel OOS (10 slotów, 1×): kontra-krach ≥5% ROBUST +87…+100% (DD 3–5%), fade-pompa short +64…+101% (DD 1,5–4,7%) — rok bessy, BTC −45%.
Mechanika: baza = wielokrotnie testowane wsparcie (u nas: kauzalny pivot ±12/24h, bez repaintu — 833 757 cracków na 731 monetach); crack = paniczne zejście pod bazę; wejście = drabinka limitów pod bazą; wyjście = odbicie do złamanej bazy. Long i short (lustro na oporze). Publicznych twardych backtestów QFL brak — dlatego zmierzyliśmy sami.
| tryb | zysk/trade OOS | trafność | werdykt |
|---|---|---|---|
| DCA — drabinka w głąb paniki | +0,41…+0,55% | 83% | zwycięzca (n=24 847 OOS) |
| SINGLE — jedno wejście na cracku | +0,22% | 77% | słaby |
| PIRAMIDA — dokładki za zyskiem | −0,31% | 79% | przegrywa — dokładki podnoszą średnią w stronę OGRANICZONEGO celu (baza); piramida = narzędzie trendu (T1), nie odbicia |
Dwa konta (jedno DCA, drugie piramida) = matematycznie portfel 50/50 → zmierzony: +66% vs +111% samego DCA, przy gorszym DD. Konstrukcja odrzucona; właściwa para dwusilnikowa = QFL-DCA + T1-trend (oba EV>0, różne horyzonty).
| parametr poziomów | optimum | sens |
|---|---|---|
| kotwica pięter | BAZA (nie cena cracku) | poziom strukturalny; sama zmiana kotwicy + głębokość = +50–70% do edge |
| pierwsze piętro f | 5–6% pod bazą | czekamy aż panika zejdzie głęboko (trade-off: głębiej = lepszy trade, mniej trade'ów) |
| odstęp s · liczba pięter L | 3% · 5 | piętra −6/−9/−12/−15/−18% od bazy; wypełnia się śr. 19–31% = samoskalowanie do głębokości paniki |
| take-profit | 0,5–1% POD bazą | złamane wsparcie działa jak opór — odbieramy tuż przed nim (kanoniczne QFL potwierdzone danymi) |
| wyjścia ochronne | trailing 1% · time-stop 72h · SL −8% | SL czyni strategię odporną na śmierć monety (patrz bramka niżej) |
Najpoważniejsza groźba dnia: kupowanie paniki mogło wyglądać dobrze tylko dlatego, że w danych brakowało monet, które panika zabiła (próg opłacalności: ~10% brakujących zdarzeń-stopoutów). Dociągnięto komplet archiwum (m.in. YFII †2022) i przeliczono wszystko:
| metryka (punkt pracy f=6/s=3/L=5, TP 0,5% pod bazą, SL −8%) | przed trupami | z trupami |
|---|---|---|
| LONG zysk/trade OOS | +0,70% | +0,65% (haircut ~7%) |
| SHORT zysk/trade OOS | +0,68% | +0,68% (bez zmian) |
| portfel LONG (10 slotów, 1×) | +97% / DD 1,9% | +139% / DD 2,4% |
| portfel SHORT | +95% / DD 1,6% | +136% / DD 3,2% |
| portfel LONG+SHORT (wspólne sloty) | +109% / DD 4,5% | +126% / DD 3,1% |
| konstrukcja (OOS, wszystkie sygnały przy ≥4×) | rok | maxDD | najgorszy dzień |
|---|---|---|---|
| 10 slotów, 1× (odniesienie) | +109% | 4,5% | −1,6% |
| 40 slotów, 4× — „więcej pozycji, nie większe" | +796% | 7,4% | −5,5% |
| 40 slotów, 10× | +23 187% 🚩 | 17,6% | −13,7% |
| 40 slotów, 20× | +4,9 mln % 🚩🚩 | 32,4% | −27,5% |
Wiersze 10×+ to fikcja — sama absurdalność liczb jest dowodem. Trzy ściany: (1) głębokość rynku — +10–20 pb poślizgu przy większym rozmiarze zjada 30–60% przewagi (pojemność to własność rynku; mały kapitał to przewaga); (2) dzień ogona spoza próby — worst-day OOS −1,4% (1×) nie zawiera dnia typu COVID; stres 3–5× gorszy → przy 10×+ ruina jednym dniem; (3) Kelly z próby (314×) to śmieci-na-wejściu — ułamkowy Kelly + dyskont niepewności (#786). Rekomendacja: 3–5× brutto, bezpiecznik dzienny −6%, per pozycja ≤10× (wyżej SL −8% to fikcja, likwidacja strzela pierwsza).
Fold: train 365 dni → test 90 dni, krok 90 dni — 22 foldy, 2021-01 → 2026-06 (hossa 2021, bessa 2022, odbicie 2023-24, chop/bessa 2025-26). Portfel: 40 slotów, dźwignia 4×, 1 pozycja/monetę, slot na realny czas trzymania (zwalnia się następnego dnia), bezpiecznik −6%/dzień. W każdym foldzie funkcja celu wybiera konfigurację long i short WYŁĄCZNIE na train; wynik liczony na teście. Księgowość: stały kapitał, PnL arytmetyczny (bez reinwestycji) — pierwsza wersja ze składaniem dała biliardy % = miraż nieograniczonej pojemności rynku; wykryty i zastąpiony (pojemność per moneta = osobna bramka).
| wariant kosztowy | zwrot / rok (na stałym kapitale) | maxDD | najgorszy dzień | trade'ów (na dzień) |
|---|---|---|---|---|
| V0 tylko prowizje | +380% | 15,3 pkt | −6,4% | 29 513 (15,0) |
| V1 + funding (long płaci 8,7% APY pro-rata) | +379% | 15,4 pkt | −6,4% | 29 513 |
| V2 + stress poślizgu 10 pb (referencyjny) | +328% | 16,0 pkt | −6,6% | 29 513 |
| V3 + stress poślizgu 25 pb | +252% | 16,8 pkt | −6,5% | 29 508 |
| V4 = V2 + hedge-BTC (>15 slotów long) | +530% | 13,4 pkt | −8,4% | 29 513 |
Foldy (V2): 22/22 wygrywa z hold-BTC i 22/22 dodatnich netto — od +49% do +110% na kwartał na stałym kapitale; w foldzie bessy z BTC −55% strategia +77%, przy BTC −43% strategia +98%. Funding praktycznie neutralny (book long+short się znosi). Stress 25 pb ścina, nie zabija. Hedge-BTC poprawia DD i wynik, ale próba jest bessowa — w hossie ta nakładka będzie kosztować (uczciwie: bear-sample bias).
Monte Carlo (bootstrap dni V2, 10k ścieżek × 3 lata): P(maxDD>30 pkt) = 0,0%, P(strata po 3 latach) = 0,00% — traktować jako dolne oszacowanie ryzyka: bootstrap iid rozbija seryjność krachów, a próba nie zawiera dnia typu COVID-2020 ani awarii giełdy. Realne ogony są gorsze, niż mówi ta liczba.
Czego ta tabela NADAL nie mówi: przy jakiej wielkości kapitału poślizg zje edge (15 trade'ów/dzień × rozmiar pozycji vs głębokość książki altów w panice) — to jest bramka pojemności, liczona na naszych danych L2 przed paper.
Konstrukcja: pozycja Z crackiem (złamanie wsparcia → short), dokładki co +2/3/5% ruchu w naszą stronę (do 5 jednostek), wyjście = zmiana trendu (trailing 5/8/12%) lub initial-SL 3/5%, horyzont do 45 dni, 1h, taker+funding. 15 mln symulacji, 833 757 cracków, obie strony.
| strona | najlepszy konfig OOS | średnia 18 konfigów OOS | śr. życie pozycji |
|---|---|---|---|
| SHORT po złamaniu wsparcia | −0,52%/trade (win 45%) | −1,51% | 0,7–1,9 dnia |
| LONG po złamaniu oporu | −1,75%/trade (win 17%) | −2,4% | ~1 dzień |
| dla porównania: DCA-odbicie na TYCH SAMYCH crackach | +0,65%/trade | — | ≤3 dni |
Z naszych prawdziwych książek zleceń (Binance futures, 16 par, 23 dni, ~32 tys. snapshotów/parę, walidacja 0 bps): głębokość w pasie 25 bps od środka, osobno w godzinach paniki (|ruch 1h| ≥ 2%). Panika zabiera tylko 18% głębokości (×0,82). Ekstrapolacja głębokość~wolumen: R²=0,95. Limit: nasze zlecenie ≤ 10% książki. Krzywa na wykonanych trade'ach z walk-forwardu (22,8 tys., 40 slotów — pierwsza wersja na surowym strumieniu bez limitu slotów dawała 5 484%/rok = artefakt, odrzucona):
| kapitał (USDT) | oczek. PnL/rok | zwrot/rok | % trade'ów pełnym rozmiarem |
|---|---|---|---|
| 2 500 | 6 200 | 246% | 82% |
| 10 000 | 17 000 | 170% | 41% |
| 50 000 | 42 000 | 84% | 19% |
| 250 000 | 81 000 | 33% | 4% |
| asymptota | ~204 000 / rok | — | sufit przy 10% partycypacji (głębokość Binance) |
| # | bramka | status |
|---|---|---|
| 1 | Survivorship (delisted w próbie) | ZALICZONA |
| 2 | Stage 2: walk-forward wieloreżimowy + funding + stress + hedge | ZALICZONA — 22/22 foldów > BTC, +328%/rok (V2, 4×, stały kapitał) |
| 3 | Replay na książce zleceń (VenueSim) + limit pojemności per moneta | NASTĘPNA |
| 4 | Paper trading na Hyperliquid (live detektor baz 1h + egzekutor 5m) + Binance Testnet (hydraulika) | po 2–3 |
| 5 | Micro-live (realne pieniądze) | wymaga osobnego OK Bartosza + checklisty |
Skrypty: faza-siatka/s0_download_klines.py · s1_event_study.py+s1b_aggregate.py · s2_exit_optimizer.py · s2b_delisted_download.py · s2q_bases.py · s2q_engine.py · s2q3_levels.py · s2q4_levels_deep.py · s3_trades_full.py · s4_walkforward_portfolio.py · projekt funkcji celu: S2-OPTIMIZER-DESIGN.md. Tabele: RESULTS-S1.md, s2*_summary.parquet, RESULTS-STAGE2.md (po Stage 2). Fakty jhonnys-brain: #948 (spec), #949 (reguła wariantów), #951 (S2), #952 (QFL tryby), #953 (poziomy+portfel), #954 (bramka survivorship). Egzekucja wg zasad #939/#745/#864.