Przejdź do treści
Wszystkie strategie

Strategie

Cross-Sectional RETAIL-CROWDING Kontrariańska Rotacja, Long-Only (BINANCE USD-M, 8 Majors, WEEKLY Trzymaj 3 LEAST Nazw Zatłoczonych przez Retail wg GLOBAL Long/Short Account-Ratio — Czyste Under-Ownership FACTOR, Nie Momentum; Brama Gotówkowa Euforii Systemowej, 2-Parametr)

Wynik: Porzucona

RetailCrowdingContrarianRotationLong

Cross-Sectional RETAIL-CROWDING Kontrariańska Rotacja, Long-Only (BINANCE USD-M, 8 Majors, WEEKLY Trzymaj 3 LEAST Nazw Zatłoczonych przez Retail wg GLOBAL Long/Short Account-Ratio — Czyste Under-Ownership FACTOR, Nie…

Hipoteza

LONG-ONLY, tygodniowo-rebalansowana cross-sectional ROTATION na uniwersum 8-USD-M majorów (BTC, ETH, SOL, BNB, AVAX, LINK, ADA, XRP), selekcjonująca nazwy za pomocą prawdziwego sygnału NON-PRICE CROWDING: GLOBAL long/short ACCOUNT ratio (count_long_short_ratio, proxy pozycjonowania retailowego) z plików Binance VISION 'metrics' (MULTI-YEAR do ~2020, NOT 30-dniowe API). Mechanizm to czysty czynnik UNDER-OWNERSHIP — trzymaj majory, w których retail jest LEAST zatłoczony long, ponieważ nazwy zatłoczone long niosą……Pokaż więcejPokaż mniej

LONG-ONLY, tygodniowo-rebalansowana cross-sectional ROTATION na uniwersum 8-USD-M majorów (BTC, ETH, SOL, BNB, AVAX, LINK, ADA, XRP), selekcjonująca nazwy za pomocą prawdziwego sygnału NON-PRICE CROWDING: GLOBAL long/short ACCOUNT ratio (count_long_short_ratio, proxy pozycjonowania retailowego) z plików Binance VISION 'metrics' (MULTI-YEAR do ~2020, NOT 30-dniowe API). Mechanizm to czysty czynnik UNDER-OWNERSHIP — trzymaj majory, w których retail jest LEAST zatłoczony long, ponieważ nazwy zatłoczone long niosą utajone ryzyko likwidacji longów / squeeze-down, podczas gdy nazwy z niedostateczną własnością mają przestrzeń do podbicia. Jest to celowo w rodzinie strukturalnej ONLY, która tutaj powtarzalnie przetrwa — long-only, majory, tygodniowe trzymanie top-K, niska liczba parametrów (wdrożone momentum rotation Sharpe 2.6 i negative-funding carry basket Sharpe 1.97) — i wnosi klucz selekcji ORTHOGONAL do obu: nie price relative-strength (momentum) i nie funding (carry), lecz pozycjonowanie tłumu. Zgodnie z dowodami sesji unika każdego trybu śmierci: NOT jednoimienny timer kierunkowy (te umarły -100% / -43% / risk-reject), NOT spread neutralny dolarnie (brak nogi short → brak 90% DD blowup), NOT funding/options/liquidations/pure-OHLCV. Jest odrębny od oczekującego SmartMoneyGatedMomentumRotation (który używa kohorty TOP-TRADER do GATE książki momentum) oraz od EthRetail (jednoimienny long-short fade): ten używa kohorty RETAIL/global jako PRIMARY klucza rankingu cross-sectional w kontrariańskim koszyku LONG-ONLY, bez żadnej składowej momentum. Parametry 2, K i kadencja zamrożone do sprawdzonego szablonu.

Naprawia dokładnie defekt zgłoszony przez QA. QA odrzucił klucz rankingowy, ponieważ otwarte zainteresowanie (a) nie jest proxy retailowym — jest to łączny otwarty wolumen nominalny we wszystkich uczestnikach — oraz (b) jest ślepy na kierunek, ponieważ zagregowane longi perp równe są shortom, więc nie może wyrazić 'najmniej zatłoczony-LONG'. Nowy klucz rankingowy to `taker_long_short_vol_ratio` odczytywany per-leg z `taker_flow_by_instrument`: jest to agresywny wolumen BUY podzielony przez agresywny wolumen SELL,……Pokaż więcejPokaż mniej

Naprawia dokładnie defekt zgłoszony przez QA. QA odrzucił klucz rankingowy, ponieważ otwarte zainteresowanie (a) nie jest proxy retailowym — jest to łączny otwarty wolumen nominalny we wszystkich uczestnikach — oraz (b) jest ślepy na kierunek, ponieważ zagregowane longi perp równe są shortom, więc nie może wyrazić 'najmniej zatłoczony-LONG'. Nowy klucz rankingowy to `taker_long_short_vol_ratio` odczytywany per-leg z `taker_flow_by_instrument`: jest to agresywny wolumen BUY podzielony przez agresywny wolumen SELL, więc jest DIRECTIONAL z konstrukcji (wysoka wartość dosłownie oznacza, że tłum przechyla się na long w tej nazwie) i jest miarą po stronie agresora/takera (skierowaną do retailu), a nie łącznym otwartym wolumenem nominalnym. Pochodzi również z tych samych plików Binance VISION `metrics`, które hipoteza wymienia jako źródło danych, z tą samą historią multi-year-to-2020 — różni się tylko kolumna. Ranking używa własnego z-score każdej nazwy (7d średnia vs 90d średnia/sd), więc strukturalnie różne poziomy takera porównują się między BTC i ADA, zgodnie z lekcją, że stałe absolutne progi na danych uzupełniających nie są niezmienne wobec skali. DISCLOSED, NOT HIDDEN: dosłowny klucz hipotezy to per-name GLOBAL long/short ACCOUNT ratio (`long_short_ratio`, w tym samym parquet), ale pipeline ładuje `metrics` tylko dla symbolu PRIMARY, a jedynymi istniejącymi per-leg okablowaniami cross-sectional są `funding_rates_by_instrument`, `open_interest_by_instrument` i `taker_flow_by_instrument` (subprocess_entry.py) — więc ranking 8-nazw na account ratio nie jest wyrażalny w kodzie strategii dziś; wymaga okablowania `global_ratio_by_instrument` mirroringującego te trzy, co jest zmianą pipeline. Z trzech istniejących, taker flow jest jedynym, który jest zarówno kierunkowy, jak i po stronie retailowej, więc jest wiernym zastępstwem, a account ratio jest nadal używany tam, gdzie IS dostępny (brama gotówkowa euforii BTC). Zweryfikowane na rzeczywistych danych przed przesłaniem: wszystkie legs 8 zawierają serie z krokiem 8k-punktów obejmujące 1737-2193 dni, 208/208 symulowanych tygodniowych rebalancings w ciągu ostatnich 4 lat wytwarza rankingowy cross-section, a holdingi rotują między każdą nazwą (67-86 wyborów każda) zamiast trzymać się jednej — więc to handluje i nie jest zdegenerowanym rankingiem. Dwie kolejne drobne poprawki przeniesione: tygodniowa kadencja jest teraz zakotwiczona kalendarzowo w timestampie baru zamiast procesowo-relatywnego licznika `_bar_i` (bezpieczne przy restarcie, identyczne przy replayu), a `exit_level` jest wymuszone ściśle poniżej `euphoria_level`, więc optymalizator nie może odwrócić histerezy w oscylację per-bar. Bezpieczeństwo timeout warstwy-3 jest niezmienione i zachowane: sumy prefiksowe + searchsorted utrzymują każde wyszukiwanie per-bar na O(log n), a krokowanie w czasie parsowania ogranicza __init__ do ~10s zmierzone dla wszystkich legs 8.

verification_loop: Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA) [class=hypothesis_mismatch]: - [edge_concern] Piaskownica to spójny koszyk long-only z głównych aktywów, który działa i dokonuje transakcji (337 transakcji, avg_trade_return_pct 0.69% przekracza próg opłat), ale total_return -20.85%, information_ratio -0.901 w porównaniu z benchmarkiem koszyka o równych wagach, a max_drawdown 71% (CI do 96%) sugerują, że zastąpiony klucz rankingu przepływu zleceń agresywnych dodaje ujemną wartość……Pokaż więcejPokaż mniej

verification_loop: Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA) [class=hypothesis_mismatch]: - [edge_concern] Piaskownica to spójny koszyk long-only z głównych aktywów, który działa i dokonuje transakcji (337 transakcji, avg_trade_return_pct 0.69% przekracza próg opłat), ale total_return -20.85%, information_ratio -0.901 w porównaniu z benchmarkiem koszyka o równych wagach, a max_drawdown 71% (CI do 96%) sugerują, że zastąpiony klucz rankingu przepływu zleceń agresywnych dodaje ujemną wartość skorygowaną o ryzyko względem naiwnego utrzymania o równych wagach. To ma charakter wyłącznie doradczy; jest konsekwencją niedopasowania klucza rankingu i powinno zostać ponownie ocenione przez analityka na poprawionej implementacji, a nie zablokowane w tym miejscu. - [krytyczne] Jedyną definiującą cechą hipotezy -- powtarzaną w tytule/opisie ('według GLOBAL Long/Short Account-Ratio', 'count_long_short_ratio', 'czysta niedostateczna własność FACTOR, nie momentum') -- jest to, że CROSS-SECTIONAL RANKING KEY jest globalnym wskaźnikiem long/short ACCOUNT dla każdego instrumentu, proxy pozycjonowania/własności detalicznej, który jest celowo ortogonalny wobec momentum i finansowania. Kod NOT nie sortuje według tego. _crowd_z() / _rebalance() sortują 8 główne aktywa według `taker_long_short_vol_ratio` (wolumen agresywnych BUY / wolumen agresywnych SELL) odczytywanego z `taker_flow_by_instrument`. Wskaźnik wolumenu long/short zleceń agresywnych jest miarą FLOW/AGGRESSOR, a nie miarą własności/pozycjonowania -- różni się istotnie od wskaźnika rachunków i jest prawdopodobnie bliższy krótkoterminowemu przepływowi/momentum, wobec którego hipoteza wyraźnie deklaruje ortogonalność. Nazwany wskaźnik rachunków jest używany wyłącznie dla pomocniczej bramki gotówki euforii BTC (_parse_global / calculate_signal), nigdy dla głównego wyboru. Zgodnie z listą kontrolną QA, gdy specyficzny, nazwany rdzeń przewagi hipotezy jest nieobecny w kodzie, jest to krytyczne: deklarowany czynnik niedostatecznej własności nie jest czynnikiem, który jest przedmiotem obrotu. (linia 259) — poprawka: Albo (a) podłączyć globalny wskaźnik rachunków dla poszczególnych instrumentów do potoku jako `global_ratio_by_instrument` (na wzór funding_rates_by_instrument / open_interest_by_instrument / taker_flow_by_instrument w subprocess_entry.py) i sortować według niego -- jest to wierna implementacja, którą nazywa hipoteza; albo (b) jeśli ta seria dla poszczególnych instrumentów naprawdę nie może zostać dostarczona, uruchomienie jest blokadą pokrycia DATA (not_measurable) a nie strategią do wdrożenia na zastąpionym kluczu -- zgłoś to jako takie, aby hipoteza została odłożona do czasu podłączenia serii, zamiast cicho handlować innym (przepływowym) czynnikiem. Zrób - [ostrzeżenie] Sprawdzenie spójności oznacza flagami hipotezę 'WEEKLY' vs konfiguracja bar_type 1-DAY. To NOT jest rzeczywistą niezgodnością: 'tygodniowy' w hipotezie odnosi się do kadencji REBALANCE/HOLD, która jest poprawnie zaimplementowana jako dzienne słupki bramkowane kalendarzowo zakotwiczonym rebalansowaniem co 7 dni (dzień % rebalance_days == 0). Użycie dosłownych tygodniowych słupków zgrubiłoby percentyl i kadencję euforii; konstrukcja z dziennymi słupkami + rebalansowaniem co 7 dni jest poprawnym sposobem wyrażenia tygodniowej rotacji. Odnotowane dla przejrzystości; nie wpływa na werdykt. (linia 380) — poprawka: Opcjonalnie przeformułować tekst hipotezy, aby powiedzieć 'tygodniowe rebalansowanie na dziennych słupkach' aby wyciszyć ostrzeżenie o spójności Warstwy-1.5.

Implementacja

Long-only, tygodniowo-rebalansowana rotacja cross-sectional na 8 USD-M majors (BTC, ETH, SOL, BNB, AVAX, LINK, ADA, XRP). Zatłoczenie każdej nazwy jest mierzone z per-name TAKER long/short VOLUME ratio w mirrorze Binance Vision `metrics` (agresywny wolumen kupna / agresywny wolumen sprzedaży, 5-min, multi-year) jako z-score jej 7-dniowej średniej wobec jej własnej 90-dniowej średniej i sd; 3 LEAST nazw zatłoczonych long jest trzymanych po równo, 30% equity każda. Brama gotówkowa euforii systemowej zbudowana z PRIMARY (BTC) global long/short ACCOUNT ratio rotuje całą książkę na gotówkę, gdy ten ratio znajduje się w top 15% jej własnej 90-dniowej dystrybucji, reinwestując przy 65. percentylu (histereza). Rebalansy są zakotwiczone w czasie kalendarzowym (days_since_epoch % 7), nie w liczniku barów. Long-only, dźwignia 1.0, brak nogi short.

Wyniki weryfikacji

Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA) [klasa=hypothesis_mismatch]: - [edge_concern] Sandbox jest spójnym koszykiem wyłącznie long na główne aktywa, który działa i handluje (337 transakcji, avg_trade_return_pct 0.69% przekracza próg opłat), ale total_return -20.85%, information_ratio -0.901 vs benchmark koszyka z równymi wagami, a max_drawdown 71% (CI do 96%) sugeruje, że zastępczy klucz rankingowy oparty na przepływach takerów dodaje ujemną wartość skorygowaną o ryzyko ponad naiwne trzymanie z……Pokaż więcejPokaż mniej

Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA) [klasa=hypothesis_mismatch]: - [edge_concern] Sandbox jest spójnym koszykiem wyłącznie long na główne aktywa, który działa i handluje (337 transakcji, avg_trade_return_pct 0.69% przekracza próg opłat), ale total_return -20.85%, information_ratio -0.901 vs benchmark koszyka z równymi wagami, a max_drawdown 71% (CI do 96%) sugeruje, że zastępczy klucz rankingowy oparty na przepływach takerów dodaje ujemną wartość skorygowaną o ryzyko ponad naiwne trzymanie z równymi wagami. To jest wyłącznie doradcze; jest zależne od niedopasowania klucza rankingowego i powinno być ponownie ocenione przez analityka na poprawionej implementacji, a nie zablokowane tutaj. - [krytyczne] Jedyna cecha definiująca hipotezy -- powtarzana w całym tytule/opisie ('GLOBAL Long/Short Account-Ratio', 'count_long_short_ratio', 'czysta niedostateczna własność FACTOR, nie momentum') -- polega na tym, że CROSS-SECTIONAL RANKING KEY jest globalnym stosunkiem long/short ACCOUNT per nazwa, proxy pozycjonowania/własności detalicznej, które jest celowo ortogonalne do momentum i finansowania. Kod NOT rankinguje na tym. _crowd_z() / _rebalance() rankinguje 8 główne aktywa według `taker_long_short_vol_ratio` (agresywny wolumen BUY / agresywny wolumen SELL) odczytywany z `taker_flow_by_instrument`. Stosunek wolumenu taker long/short jest miarą FLOW/AGGRESSOR, nie miarą własności/pozycjonowania -- jest istotnie różny od stosunku kont i można argumentować, że jest bliższy krótkoterminowym przepływom/momentum, do których hipoteza wyraźnie twierdzi, że jest ortogonalna. Nazwany stosunek kont jest używany tylko dla drugorzędnej bramy gotówkowej euforii BTC (_parse_global / calculate_signal), nigdy dla głównego wyboru. Zgodnie z checklistą QA, gdy określona nazwana rdzeniowa przewaga hipotezy jest nieobecna w kodzie, to jest krytyczne: deklarowany czynnik niedostatecznej własności nie jest czynnikiem, którym się handluje. (linia 259) — poprawka: Albo (a) wprowadź globalny stosunek kont per instrument do pipeline'u jako `global_ratio_by_instrument` (odzwierciedlając funding_rates_by_instrument / open_interest_by_instrument / taker_flow_by_instrument w subprocess_entry.py) i rankinguje na tym -- to jest wierna implementacja, którą nazywa hipoteza; albo (b) jeśli ta seria per-leg nie może być faktycznie dostarczona, uruchomienie jest blokadą pokrycia DATA (not_measurable) zamiast strategią do wysłania na zastępczym kluczu -- zgłoś to jako takie, aby hipoteza została wstrzymana do momentu podłączenia serii, zamiast cichego handlowania innym (przepływowym) czynnikiem. Do - [ostrzeżenie] Sprawdzenie spójności flaguje hipotezę 'WEEKLY' vs konfigurację bar_type 1-DAY. To NOT prawdziwe niedopasowanie: 'tygodniowy' w hipotezie odnosi się do kadencji REBALANCE/HOLD, która jest prawidłowo zaimplementowana jako słupki dzienne bramkowane kalendarzowo zakotwiczonym rebalansem co 7 dni (day % rebalance_days == 0). Użycie dosłownych słupków tygodniowych zgrubniłoby percentyl i kadencję euforii; konstrukcja słupków dziennych + rebalans co 7 dni jest poprawnym sposobem wyrażenia rotacji tygodniowej. Odnotowane dla przejrzystości; nie wpływa na werdykt. (linia 380) — poprawka: Opcjonalnie przeformułuj tekst hipotezy, aby powiedzieć 'tygodniowy rebalans na słupkach dziennych' aby wyciszyć ostrzeżenie o spójności warstwy-1.5.

Historia iteracji

Weryfikacja nie powiodła się (Warstwa 2 — scenariusze syntetyczne): Użyte parametry: ['top_k', 'exit_level', 'min_notional', 'per_name_frac', 'euphoria_level', 'rebalance_days', 'euphoria_window'] Sprawdź, czy __init__ ustawia wszystkie atrybuty z self.parameters.get(). - steady_uptrend: TypeError: RetailCrowdingContrarianRotationLong._asof() przyjmuje 3 argumentów pozycyjnych, ale podano 4 (timestamp baru: 1735691940000) - steady_downtrend: TypeError: RetailCrowdingContrarianRotationLong._asof() przyjmuje 3……Pokaż więcejPokaż mniej

Weryfikacja nie powiodła się (Warstwa 2 — scenariusze syntetyczne): Użyte parametry: ['top_k', 'exit_level', 'min_notional', 'per_name_frac', 'euphoria_level', 'rebalance_days', 'euphoria_window'] Sprawdź, czy __init__ ustawia wszystkie atrybuty z self.parameters.get(). - steady_uptrend: TypeError: RetailCrowdingContrarianRotationLong._asof() przyjmuje 3 argumentów pozycyjnych, ale podano 4 (timestamp baru: 1735691940000) - steady_downtrend: TypeError: RetailCrowdingContrarianRotationLong._asof() przyjmuje 3 argumentów pozycyjnych, ale podano 4 (timestamp baru: 1735691940000) - flat_ranging: TypeError: RetailCrowdingContrarianRotationLong._asof() przyjmuje 3 argumentów pozycyjnych, ale podano 4 (timestamp baru: 1735691940000) - volatility_spike: TypeError: RetailCrowdingContrarianRotationLong._asof() przyjmuje 3 argumentów pozycyjnych, ale podano 4 (timestamp baru: 1735691940000) - zero_volume: TypeError: RetailCrowdingContrarianRotationLong._asof() przyjmuje 3 argumentów pozycyjnych, ale podano 4 (timestamp baru: 1735691940000) - price_gap: TypeError: RetailCrowdingContrarianRotationLong._asof() przyjmuje 3 argumentów pozycyjnych, ale podano 4 (timestamp baru: 1735691940000)

Weryfikacja nie powiodła się (Warstwa 3 — backtest sandbox): test dymny przekroczył limit czasu ściany 300s. To prawie zawsze oznacza pracę per-bar skalującą się z historią — np. ponowne skanowanie pełnej serii funding/supplementary, lub przebudowywanie listy i wywoływanie min()/sorted() wewnątrz calculate_signal()/on_bar() na każdym barze. Wstępnie oblicz posortowane tablice timestampów ONCE w __init__ i użyj bisect, lub buforuj wyszukiwania kluczowane timestampem, więc koszt per-bar to O(log n) zamiast O(n).

Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA) [klasa=hypothesis_mismatch]: - [edge_concern] Sandbox jest testem dymowym i nie jest powodem niepowodzenia, ale uwaga: metrics_reliable=false, Sharpe (0.10) niespójny znakiem z total_return (-34.3%), MDD 70%, a książga OI-crowding traci najwięcej w terc stressesu zmienności (-37.8%). Jeśli mechanizm przetrwa do przeglądu backtestu, najpierw sprawdź, czy OI z-rank ma jakąkolwiek kierunkową przewagę, biorąc pod uwagę, że OI jest ślepy na kierunek. - Rdzeń……Pokaż więcejPokaż mniej

Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA) [klasa=hypothesis_mismatch]: - [edge_concern] Sandbox jest testem dymowym i nie jest powodem niepowodzenia, ale uwaga: metrics_reliable=false, Sharpe (0.10) niespójny znakiem z total_return (-34.3%), MDD 70%, a książga OI-crowding traci najwięcej w terc stressesu zmienności (-37.8%). Jeśli mechanizm przetrwa do przeglądu backtestu, najpierw sprawdź, czy OI z-rank ma jakąkolwiek kierunkową przewagę, biorąc pod uwagę, że OI jest ślepy na kierunek. - Rdzeń przewagi hipotezy to ranking przekrojowy na GLOBAL LONG/SHORT ACCOUNT RATIO per nazwa — kierunkowy czynnik niedostatecznej własności detalicznej ('trzymaj nazwy, w które detal jest LEAST zatłoczony-LONG'). Kod zamiast tego rangiuje na z-score PERP OPEN INTEREST per nazwa i trzyma 3 najniższe. To jest zastępczy mechanizm, który nie zachowuje ekonomiki: OI nie jest proxy detalicznym (to łączna otwarta wartość nominalna dla wszystkich uczestników), a OI jest DIRECTION-BLIND (zagregowane longi == shorty w perpetuals), więc nie może wyrażać 'najmniej zatłoczony-long.' Określona nazwana przewaga hipotezy jest nieobecna w kodzie → krytyczne.

Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA) [class=hypothesis_mismatch]: - [edge_concern] Sandbox wygląda zdrowo (+93%, Sharpe 0.77, PF 1.55, avg_trade_return_pct 6.63%) właśnie dlatego, że kod to rotacja funding-carry, którą deweloper potwierdza jako pokrywającą się z już wdrożonym koszykiem negative-funding carry — więc dobre liczby argumentują przeciw promowaniu prawie-duplikatu żywej strategii, a nie ortogonalnego czynnika zatłoczenia, który hipoteza miała dodać. Doradcze; blok to wierność. - Rdzeń……Pokaż więcejPokaż mniej

Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA) [class=hypothesis_mismatch]: - [edge_concern] Sandbox wygląda zdrowo (+93%, Sharpe 0.77, PF 1.55, avg_trade_return_pct 6.63%) właśnie dlatego, że kod to rotacja funding-carry, którą deweloper potwierdza jako pokrywającą się z już wdrożonym koszykiem negative-funding carry — więc dobre liczby argumentują przeciw promowaniu prawie-duplikatu żywej strategii, a nie ortogonalnego czynnika zatłoczenia, który hipoteza miała dodać. Doradcze; blok to wierność. - Rdzeń przewagi nie zaimplementowany, a zastępstwo to dokładnie mechanizm, który hipoteza EXCLUDES. Hipoteza rankinguje wg per-name GLOBAL long/short ACCOUNT ratio (retail crowding), wprost 'nie funding (carry)... ortogonalny do momentum i fundingu'. Kod rankinguje cross-section wg per-name FUNDING (najniższy = trzymany) — ranking funding-carry, który deweloper przyznaje pokrywa się z wdrożonym koszykiem carry. Klucz zatłoczenia account-ratio jest nieobecny i niewykonalny (metrics okablowane tylko dla symbolu głównego; brak metrics_by_instrument). - Kadencja rebalansu zakotwiczona w procesowo-relatywnym liczniku barów (self._bar_i % rebalance_days), nie w timestampie baru. Restarty resetują _bar_i i dryfują siatkę tygodniowej rotacji z dowolnego stałego dnia kalendarzowego; replay parzystości nie może odtworzyć dat rotacji. Łagodniejsza pozycja formy-20 (brak wartownika/odpalenia pierwszego bara). Wyprowadź z dni-od-epoki lub stałego dnia tygodnia.

Powód porzucenia

verification_loop: Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA) [class=hypothesis_mismatch]: - [edge_concern] Sandbox to spójny koszyk long-only majors, który działa i handluje (337 transakcji, avg_trade_return_pct 0.69% przechodzi próg opłat), ale total_return -20.85%, information_ratio -0.901 vs benchmark koszyka równoważonego, a max_drawdown 71% (CI do 96%) sugerują, że zastępczy klucz rankingu taker-flow dodaje ujemną wartość skorygowaną o ryzyko ponad naiwne trzymanie równoważone. To tylko……Pokaż więcejPokaż mniej

verification_loop: Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA) [class=hypothesis_mismatch]: - [edge_concern] Sandbox to spójny koszyk long-only majors, który działa i handluje (337 transakcji, avg_trade_return_pct 0.69% przechodzi próg opłat), ale total_return -20.85%, information_ratio -0.901 vs benchmark koszyka równoważonego, a max_drawdown 71% (CI do 96%) sugerują, że zastępczy klucz rankingu taker-flow dodaje ujemną wartość skorygowaną o ryzyko ponad naiwne trzymanie równoważone. To tylko doradcze; jest podrzędne względem niedopasowania klucza rankingu i powinno być ponownie ocenione przez analityka na poprawionej implementacji, a nie blokowane tutaj. - [krytyczne] Jedyną definiującą cechą hipotezy — powtarzaną w tytule/opisie ('wg GLOBAL Long/Short Account-Ratio', 'count_long_short_ratio', 'Czyste Under-Ownership FACTOR, Nie Momentum') — jest to, że CROSS-SECTIONAL RANKING KEY to per-name global long/short ACCOUNT ratio, proxy pozycjonowania/własności retailowej, które jest celowo ortogonalne do momentum i fundingu. Kod NOT rankinguje na tym. _crowd_z() / _rebalance() rankinguje 8 majorsów wg `taker_long_short_vol_ratio` (agresywny wolumen BUY / agresywny wolumen SELL) odczytywany z `taker_flow_by_instrument`. Taker long/short volume ratio to miara FLOW/AGGRESSOR, a nie miara własności/pozycjonowania — materialnie różni się od account ratio i jest prawdopodobnie bliższy flow/momentum krótkiego horyzontu, wobec którego hipoteza wprost twierdzi, że jest ortogonalny. Nazwany account ratio jest używany tylko dla drugorzędnej bramy gotówkowej euforii BTC (_parse_global / calculate_signal), nigdy dla selekcji głównej. Według checklisty QA, gdy specyficzny nazwany rdzeń przewagi hipotezy jest nieobecny w kodzie, jest to krytyczne: podany czynnik under-ownership nie jest czynnikiem, którym się handluje. (linia 259) — poprawka: Albo (a) wprowadź do pipeline per-instrument global account ratio jako `global_ratio_by_instrument` (mirroring funding_rates_by_instrument / open_interest_by_instrument / taker_flow_by_instrument w subprocess_entry.py) i rankinguuj wg tego — to jest wierna implementacja nazwana przez hipotezę; albo (b) jeśli ta seria per-leg faktycznie nie może być dostarczona, uruchomienie to blok pokrycia DATA (not_measurable), a nie strategia do wypuszczenia na zastępczym kluczu — zgłoś to jako takie, aby hipoteza była zaparkowana, dopóki seria nie zostanie wpięta, zamiast po cichu handlować innym (flow) czynnikiem. Nie - [ostrzeżenie] Sprawdzenie spójności flaguje hipotezę 'WEEKLY' vs config bar_type 1-DAY. To NOT prawdziwa niezgodność: 'weekly' w hipotezie odnosi się do kadencji REBALANCE/HOLD, która jest poprawnie zaimplementowana jako bary dzienne bramkowane zakotwiczonym kalendarzowo rebalansem 7-dniowym (day % rebalance_days == 0). Użycie dosłownych barów tygodniowych zgrubiłoby percentyl i kadencję euforii; konstrukcja bar-dzienny + 7-dniowy-rebalans jest poprawnym sposobem wyrażenia tygodniowej rotacji. Odnotowane dla przejrzystości; nie wpływa na werdykt. (linia 380) — poprawka: Opcjonalnie przeformułuj tekst hipotezy na 'tygodniowy rebalans na barach dziennych', aby uciszyć ostrzeżenie spójności Warstwy-1.5.

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.