Przejdź do treści
Wszystkie strategie

Strategie

Rotacja względnego momentum ETH względem BTC, neutralna dolarowo strategia long-short (dwa instrumenty ETHUSDT.BINANCE + kontrakty perpetual BTCUSDT.BINANCE, świece dzienne — długa pozycja na silniejszym / krótka na słabszym na podstawie ETH/BTC wskaźnika MOMENTUM, z filtrem strefy martwej, czyste OHLCV, 2-parametrowa)

Wynik: Porzucona

EthBtcRelativeMomentumRotationLS

Wiernie realizuje hipotezę: neutralna dolarowo rotacja momentum relacji ETH/BTC, neutralna względem rynku (benchmark_meaningful=false, więc strategia kup i trzymaj słusznie nie jest punktem odniesienia)

Hipoteza

Strategia MARKET-NEUTRAL (LONG-SHORT, neutralna dolarowo), dwuinstrumentowa strategia czystego momentum względnego OHLCV, która rotuje między dwoma najpłynniejszymi aktywami krypto na podstawie MOMENTUM relacji ETH/BTC: gdy ETH wykazuje silniejszy trend niż BTC, zajmuje długą pozycję w ETH / krótką w BTC, neutralną dolarowo, a gdy prowadzi BTC, odwraca pozycje na długą w BTC / krótką w ETH. Została zaprojektowana z uwzględnieniem ograniczeń, które udało się ustalić podczas tej sesji. (1) PURE OHLCV — po tym, jak……Pokaż więcejPokaż mniej

Strategia MARKET-NEUTRAL (LONG-SHORT, neutralna dolarowo), dwuinstrumentowa strategia czystego momentum względnego OHLCV, która rotuje między dwoma najpłynniejszymi aktywami krypto na podstawie MOMENTUM relacji ETH/BTC: gdy ETH wykazuje silniejszy trend niż BTC, zajmuje długą pozycję w ETH / krótką w BTC, neutralną dolarowo, a gdy prowadzi BTC, odwraca pozycje na długą w BTC / krótką w ETH. Została zaprojektowana z uwzględnieniem ograniczeń, które udało się ustalić podczas tej sesji. (1) PURE OHLCV — po tym, jak mój pomysł oparty na przepływie zleceń agresywnych BTC upadł jako „niemożliwy do przetestowania, pułap pokrycia” (uzupełniające strumienie danych są zbyt rzadkie, by uzyskać mierzalną próbę), a OI/premia/finansowanie prawdopodobnie mają ten sam problem, ta strategia wykorzystuje tylko dwa kompletne szeregi cenowe w katalogu, więc mierzalność i pokrycie danych nie stanowią problemu. (2) To naprawdę odmienna DIFFERENT w całej mojej kolejce oczekujących pomysłów (złożonej wyłącznie z kierunkowych strategii BTC na pojedynczym instrumencie): neutralna rynkowo wartość względna, uzupełniająca niedostatecznie reprezentowany segment LONG-SHORT (13.3%) oraz segmenty neutralne rynkowo i obejmujące pary, a także zabezpieczająca przed betą rynku krypto, która czyni kierunkowe pozycje na pojedynczych aktywach tak kruchymi. (3) To znak MOMENTUM, a nie powrót do średniej — powrót relacji ETH/BTC do średniej został odrzucony jako „fee_edge/inne”, ponieważ działał wbrew strukturalnemu dryfowi tej relacji; ta strategia handluje z WITH tym dryfem (reżimy sezonu altów i sezonu BTC), przechwytując duże, wielotygodniowe trendy relacji (~10-30%), zamiast drobnych dotknięć średniej, co pozwala pokryć prowizje w ujęciu neutralnym dolarowo. (4) To NOT rotacja przekrojowa między 8 głównymi aktywami zakazana przez L32 — to minimalna konstrukcja obejmująca 2 aktywa, oparta na odrębnej tezie. (5) DELIBERATELY 2-PARAMETER (okres wsteczny momentum + strefa nieaktywności), aby ograniczyć przeoptymalizowanie, które zabiło większe konstrukcje. Dzienny interwał i strefa nieaktywności utrzymują rotację na poziomie wystarczająco niskim, by kontrolować prowizje, a zarazem wystarczająco częstym (około 40-80 rotacji w historii obejmującej wiele lat), by można ją było mierzyć.

QA poprosił mnie o zweryfikowanie ogona rozkładu. Weryfikacja ujawniła jedną rzeczywistą wadę i jeden artefakt pomiarowy, więc uczciwie raportuję oba. Artefakt: zgłoszone skrajne wartości na transakcję to PER LEG, a w parze neutralnej dolarowo każda noga jest zdominowana przez betę rynkową, która znosi się z betą drugiej nogi. Krótka noga BTC o wartości $35k utrzymywana podczas rajdu o ~45% BTC przynosi około -$16k, podczas gdy sparowana długa noga ETH przynosi około +$12k — PAIR stracił mniej więcej $4k, czyli w……Pokaż więcejPokaż mniej

QA poprosił mnie o zweryfikowanie ogona rozkładu. Weryfikacja ujawniła jedną rzeczywistą wadę i jeden artefakt pomiarowy, więc uczciwie raportuję oba. Artefakt: zgłoszone skrajne wartości na transakcję to PER LEG, a w parze neutralnej dolarowo każda noga jest zdominowana przez betę rynkową, która znosi się z betą drugiej nogi. Krótka noga BTC o wartości $35k utrzymywana podczas rajdu o ~45% BTC przynosi około -$16k, podczas gdy sparowana długa noga ETH przynosi około +$12k — PAIR stracił mniej więcej $4k, czyli w przybliżeniu tyle, ile wynosi limit nominalny stopu opartego na wskaźniku. Zatem largest_loss -$16,261 nie dowodzi, że stop zawiódł. Ta sama uwaga dotyczy „odwróconego RR” oraz skośności i kurtozy: statystyki na poziomie nogi w zabezpieczonej parze mierzą betę, a nie przewagę spreadu. Nie kwestionuję werdyktu — profit_factor 0.737 i total_return -17.6% dotyczą poziomu pary i są rzeczywiście ujemne — jedynie rachunek ogona w ustaleniu 2. Rzeczywista wada: stop oparty na wskaźniku był oceniany wyłącznie względem CLOSES, więc na dziennych świecach względny ruch, który w ciągu dnia przekroczył limit, pozostawał bez reakcji aż do zamknięcia następnej sesji. Teraz stop sprawdza także najgorszy możliwy śródsesyjny wskaźnik na właśnie zakończonej świecy (ETH minimum / BTC maksimum dla pozycji długiej, ETH maksimum / BTC minimum dla krótkiej) i zamyka pozycję na zamknięciu tej świecy. Jest to celowo konserwatywne, a nie oparte na wiedzy z przyszłości: świeca jest zakończona w chwili sprawdzenia, a realizacja następuje po cenie zamknięcia — gorszej niż przy rzeczywistym zleceniu stop — więc nie może sztucznie poprawić wyników backtestu. Zmniejszyłem też limit o połowę: stop_ratio_pct 0.12 -> 0.06. To jedyna zmiana, która przeciwdziała zmierzonej asymetrii wypłat (QA: „gwałtownie zawraca po częstych fałszywych sygnałach”), nie zmieniając sygnału: maksymalne niekorzystne odchylenie na rotację spada do ~6% nominału jednej nogi, czyli ~2% kapitału. Obie wartości są stałymi LOCKED, więc przestrzeń parametrów do strojenia nadal obejmuje dokładnie 2 parametrów. Wszystko, co zweryfikowały wcześniejsze warstwy, pozostaje bez zmian: te same importy, ta sama klasa, to samo dopasowanie indeksowane dniami, szereg sygnału nadal budowany wyłącznie na podstawie cen zamknięcia (nowe dane maksimum/minimum służą wyłącznie ograniczaniu ryzyka, nigdy do wyznaczania sygnału), te same progi wejścia i wyjście przy przecięciu zera, to samo idempotentne uzgadnianie zabezpieczenia bez nadpisania on_bar i bez wywołania super() bez argumentów na jakiejkolwiek ścieżce obsługi zdarzeń, to samo ustalanie wielkości pozycji. Uczciwe zastrzeżenie i moja rekomendacja dla Analityka: te zmiany ograniczają stratę na rotację, ale nie tworzą przewagi. Główne ustalenie QA dotyczy ENTRY, a wejście jest hipotezą — jeśli ściślejszy stop uwzględniający dane śródsesyjne nie podniesie profit_factor powyżej 1, należy porzucić rodzinę strategii momentum wskaźnika, zamiast iterować nad nią po raz czwarty, ponieważ jedyne pozostałe pokrętła (okres wsteczny i strefa martwa) są dokładnie tą przestrzenią dopasowywania krzywej, której ma unikać projekt z 2 parametrami.

Ujemna wartość oczekiwana w wiarygodnej próbie 582 transakcji / 6.7 lat: profit_factor 0.9999 (wynik brutto płaski, brak przewagi netto), avg_trade_pnl_usd -0.137, CAGR -1.22%, recovery_factor ujemne. Wartość nagłówkowa +7.83% total_return jest w całości niezrealizowana (end_unrealized_pct 7.91) — to pozycja na koniec okresu, która nie została zamknięta, a nie zrealizowana przewaga. Sharpe 0.26 z CI [-0.48, 1.01] obejmuje zero, max_drawdown 56.6%, a impact_cost_pct 101% (pojemność około $98k) oznacza, że sam wpływ rynkowy pochłania całą przewagę. Momentum względnej siły ETH/BTC nie utrzymuje się wystarczająco długo, by po kosztach przynosić zysk w strategii neutralnej dolarowo — to stwierdzenie dotyczy wejścia, co IS hipotezę. Optymalizacja 2 parametrów (okres wsteczny, strefa martwa) nie może przekształcić wyniku płaskiego brutto/PF<1 w zyskowny. Nie warto poświęcać 2 godzin na optymalizację. abandon_class=negative_expectancy.

Implementacja

Neutralna dolarowo rotacja long/short między kontraktami perpetual ETHUSDT.BINANCE i BTCUSDT.BINANCE USD-M na świecach 1-DAY, oparta na momentum wskaźnika ETH/BTC. Sygnałem (bez zmian) jest zmiana logarytmu wskaźnika w ciągu mom_lookback dni podzielona przez dzienną zmienność samego wskaźnika pomnożoną przez pierwiastek z horyzontu — bezwymiarowy z-score w jednostkach naturalnych na każdej świecy, obliczany wyłącznie na podstawie cen zamknięcia. Przy wartości równej co najmniej +strefie martwej strategia zajmuje……Pokaż więcejPokaż mniej

Neutralna dolarowo rotacja long/short między kontraktami perpetual ETHUSDT.BINANCE i BTCUSDT.BINANCE USD-M na świecach 1-DAY, oparta na momentum wskaźnika ETH/BTC. Sygnałem (bez zmian) jest zmiana logarytmu wskaźnika w ciągu mom_lookback dni podzielona przez dzienną zmienność samego wskaźnika pomnożoną przez pierwiastek z horyzontu — bezwymiarowy z-score w jednostkach naturalnych na każdej świecy, obliczany wyłącznie na podstawie cen zamknięcia. Przy wartości równej co najmniej +strefie martwej strategia zajmuje pozycję długą ETH / krótką BTC o równych nominałach; przy wartości równej najwyżej -strefie martwej zajmuje pozycję krótką ETH / długą BTC; pozycja jest zamykana, gdy sygnał ponownie przekroczy zero albo gdy wskaźnik od wejścia zmieni się o stop_ratio_pct na niekorzyść pozycji (obecnie 6%) — kontrola uwzględnia zarówno bieżącą cenę zamknięcia AND, jak i najgorszy możliwy śródsesyjny wskaźnik zakończonej świecy (ETH minimum wobec BTC maksimum dla pozycji długiej, ETH maksimum wobec BTC minimum dla krótkiej), więc względne odwrócenie, które w ciągu dnia przekroczy limit, wywołuje reakcję na tej samej świecy zamiast dzień później. Ceny ETH i BTC są przechowywane w oddzielnych słownikach z kluczem UTC — indeksem dnia — a szereg wskaźnika jest odbudowywany na podstawie przecięcia dni obecnych w obu słownikach. Noga BTC ma nominał dopasowany do nogi ETH, a uzgadnianie odbywa się idempotentnie z obu funkcji obsługi; noga zabezpieczająca nigdy nie jest utrzymywana samodzielnie ani po tej samej stronie rynku. Nominał każdej nogi wynosi 35% kapitału przy dźwigni 1.0. Dokładnie 2 parametrów do strojenia: mom_lookback i strefa martwa.

Wyniki weryfikacji

CLEAN RESTART 2026-09-04 — historia werdyktów i zapisy procesu uczenia z tego przebiegu zostały usunięte, a przebieg uruchomiono ponownie od etapu weryfikacji. Poprzednie porzucenie wynikało z potoku, a nie z rynku: uprząż Layer-2 nieprawidłowo wiązała metody pomocnicze @staticmethod (naprawiono), QA wydawał ostateczne werdykty dotyczące wyników na nieoptymalizowanym teście dymnym (usunięto — QA ocenia teraz wyłącznie poprawność), a przekroczenia limitu czasu w piaskownicy wynikały z braku dostępnych slotów backtestu (naprawiono). Hipoteza i kod strategii pozostają bez zmian. Oceń kod na podstawie jego zalet; wyniki zostaną ocenione później przez pełny backtest i optymalizator.

Przewaga bliska zeru lub ujemna w mierzalnej próbie obejmującej całą historię (550 transakcji, PF 0.965, -22.4%, avg_trade_return_pct +0.061% poniżej kosztów dwóch nóg) — para ETH/BTC o niskiej dyspersji, którą sama hipoteza wskazała jako słabszą niż SOL/ETH. Implementacja zgodna z założeniami, więc jest to ustalenie dotyczące przewagi dla analityka. Porzucić strategię na etapie przeglądu backtestu zgodnie z uprzednio zarejestrowanym warunkiem dewelopera (PF nie przekroczyło 1); nie optymalizować.

57.8% maksymalne obsunięcie (CI do 83%, czas trwania 1894 dni) w portfelu nominalnie neutralnym względem rynku: neutralność dolarowa występuje tylko przy wejściu, a ekspozycja brutto 70% powiększa stratę wynikającą z braku przewagi podczas utrzymujących się trendów relacji ETH/BTC między stopami 6%. To nie błąd zabezpieczenia — uzgadnianie równych wartości nominalnych jest prawidłowe — lecz profil ryzyka, który powinien zobaczyć Specjalista ds. Ryzyka.

Przegląd backtestu

Sharpe
0,26
Łączna stopa zwrotu
7,83%
Maksymalne obsunięcie
56,58%
Łączna liczba transakcji
582
Trafność
45,9%
Współczynnik zysku
1,00

Wiernie realizuje hipotezę: neutralna dolarowo rotacja momentum relacji ETH/BTC, neutralna względem rynku (benchmark_meaningful=false, więc strategia kup i trzymaj słusznie nie jest punktem odniesienia)

Wiarygodna, mierzalna próba: 582 rotacji pary na przestrzeni 6.7 lat, metrics_reliable=true, sprawny proces wejścia (291 pozycji długich / 291 krótkich, zero odrzuconych)

Rzeczywiście 2-parametryczna, niskoprzeuczeniowa powierzchnia

profit_factor 0.9999 — wynik brutto jest płaski, nie ma przewagi netto, którą optymalizacja mogłaby stroić

Ujemna wartość oczekiwana w wiarygodnej próbie: avg_trade_pnl_usd -0.137, CAGR -1.22%, recovery_factor ujemne

Wartość nagłówkowa +7.83% jest w całości niezrealizowana (end_unrealized_pct 7.91) — to pozycja na koniec okresu, która nie została zamknięta, a nie zrealizowana przewaga

max_drawdown 56.6% (CI do 80%); Sharpe 0.26 z CI [-0.48, 1.01] obejmuje zero — wynik nieodróżnialny od braku umiejętności

impact_cost_pct 101% przy capacity_usd ~$98k — sam wpływ rynkowy pochłania całą przewagę; strategia jest wykonalna wyłącznie w skali zabawkowej

Zwroty z tercyla regime_performance „normalnego” -56% przy 60% DD — brak strukturalnej przewagi względnej siły

Historia iteracji

Weryfikacja nie powiodła się (warstwa 2 — scenariusze syntetyczne): Użyte parametry: ['deadband', 'leg_frac', 'max_days', 'vol_window', 'mom_lookback', 'size_precision', 'stop_ratio_pct', 'min_notional_btc', 'min_notional_eth'] Sprawdź, czy __init__ ustawia wszystkie atrybuty za pomocą self.parameters.get(). - steady_uptrend: TypeError: super(type, obj): obj must be an instance or subtype of type (znacznik czasu świecy: 1735689600000) - steady_downtrend: TypeError: super(type, obj): obj must be an instance or subtype of type (znacznik czasu świecy: 1735689600000) - flat_ranging: TypeError: super(type, obj): obj must be an instance or subtype of type (znacznik czasu świecy: 1735689600000) - volatility_spike: TypeError: super(type, obj): obj must be an instance or subtype of type (znacznik czasu świecy: 1735689600000) - zero_volume: TypeError: super(type, obj): obj must be an instance or subtype of type (znacznik czasu świecy: 1735689600000) - price_gap: TypeError: super(type, obj): obj must be an instance or subtype of type (znacznik czasu świecy: 1735689600000)

Weryfikacja nie powiodła się (przegląd warstwy 4 — QA): - DECISIVELY NET-NEGATIVE -- rotacja momentum relacji ETH/BTC nie ma przewagi, a teza „handluj zgodnie z dryfem” została obalona. W mierzalnej próbie obejmującej 28 transakcji / 362 dni (metrics_reliable=true): profit_factor 0.737, Sharpe -0.473 (CI [-1.98, 1.18]), total_return -17.6%, oczekiwana wartość -$637/transakcję, win_rate 0.464 przy INVERTED RR (avg_win $3837 < avg_loss $4514). Zauważ, że avg_trade_return_pct wskazuje +0.161%, ale w tym przypadku……Pokaż więcejPokaż mniej

Weryfikacja nie powiodła się (przegląd warstwy 4 — QA): - DECISIVELY NET-NEGATIVE -- rotacja momentum relacji ETH/BTC nie ma przewagi, a teza „handluj zgodnie z dryfem” została obalona. W mierzalnej próbie obejmującej 28 transakcji / 362 dni (metrics_reliable=true): profit_factor 0.737, Sharpe -0.473 (CI [-1.98, 1.18]), total_return -17.6%, oczekiwana wartość -$637/transakcję, win_rate 0.464 przy INVERTED RR (avg_win $3837 < avg_loss $4514). Zauważ, że avg_trade_return_pct wskazuje +0.161%, ale w tym przypadku jest to MISLEADING -- wynik P&L w dolarach jest wyraźnie ujemny (avg_trade_pnl_usd -$637, PF 0.737, łącznie -17.6%), ponieważ wielkość strat przewyższa zyski: średni wynik procentowy względem nominału jest podciągany w górę przez wiele małych zysków, podczas gdy gruby lewy ogon (return_skew -0.95, kurtoza 11.3, largest_loss -$16,261 wobec largest_win $9,880) pogłębia stratę w ujęciu dolarowym. Zatem strategia nie NOT pokrywa progu prowizji w żadnym ekonomicznie istotnym sensie -- przynosi stratę netto. Momentum siły względnej relacji ETH/BTC nie utrzymuje się wystarczająco długo, by przynosić zysk w ujęciu neutralnym dolarowo: relacja wykonuje gwałtowne zwroty i mocno zawraca (ogon rzędu -$16k to odwrócenie trendu względnego, które przebiło stop relacji), przez co strategia długiej pozycji w silniejszym aktywie i krótkiej w słabszym wpada w pułapkę kupowania szczytu relacji / sprzedawania jej dołka. To odpowiednik niepowodzeń momentum na pojedynczych aktywach z tej sesji -- momentum na spreadzie ETH/BTC nie jest bardziej zdatne do handlu niż momentum samych altcoinów. - RATIO STOP IS NOT CONTAINING THE TAIL -- weryfikacja. Zablokowany stop_ratio_pct wynosi 0.12 (niekorzystny ruch relacji o około 12%, około 8.4% kapitału przy ekspozycji brutto 70%), ale largest_loss wynosi -$16,261 -- mniej więcej dwukrotność tego limitu. Przy świecach DAILY stop relacji jest sprawdzany tylko przy zamknięciu każdej świecy, więc odwrócenie trendu względnego, które intraday przesunie relację znacznie poza 12%, powoduje realizację znacznie większej straty niż nominalny limit; w połączeniu z max_drawdown 26.62 (CI [12.39, 45.03]) oraz cvar_95 3.60, konstrukcja neutralna dolarowo ponosi istotnie większe ryzyko, niż sugeruje deklaracja projektowa o „ograniczeniu do około 8% na rotację”. To nie jest katastrofalna strata (dźwignia 1.0, liquidated=false), ale opowieść o ograniczaniu ryzyka nie znajduje potwierdzenia w zrealizowanym ogonie rozkładu.

Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA): - THE RISK-CONTAINMENT FIX MADE IT DECISIVELY WORSE -- potwierdzając brak przewagi, a kryterium porzucenia z góry ustalone przez dewelopera jest spełnione. Zaostrzenie stopu (12% -> 6% cap) i dodanie sprawdzenia świadomego intrabaru nie podniosło profit_factor powyżej 1; pchnęło wynik DEEPLY na stronę ujemną: total_return -17.6% (iter2) -> -30.2% (iter3), profit_factor 0.737 -> 0.674 (gorzej), Sharpe -0.972 (CI [-2.47, 0.67]), win_rate 0.443,……Pokaż więcejPokaż mniej

Weryfikacja nie powiodła się (Warstwa 4 — przegląd QA): - THE RISK-CONTAINMENT FIX MADE IT DECISIVELY WORSE -- potwierdzając brak przewagi, a kryterium porzucenia z góry ustalone przez dewelopera jest spełnione. Zaostrzenie stopu (12% -> 6% cap) i dodanie sprawdzenia świadomego intrabaru nie podniosło profit_factor powyżej 1; pchnęło wynik DEEPLY na stronę ujemną: total_return -17.6% (iter2) -> -30.2% (iter3), profit_factor 0.737 -> 0.674 (gorzej), Sharpe -0.972 (CI [-2.47, 0.67]), win_rate 0.443, avg_trade_return_pct -0.607%, a liczba transakcji prawie się potroiła (28 -> 70). To jest rozstrzygający znak: zaostrzenie stopu na sygnale bez kierunkowej przewagi po prostu dodaje WHIPSAW -- strategia jest teraz stopowana, ponosząc częstsze małe straty (return_skew -2.62 / kurtoza 26.6 oraz max_drawdown 37.97 potwierdzają, że ogon został NOT ograniczony, został pomnożony przez churn). W każdym pomiarze mechanizm jest na lub poniżej break-even, a jego znak zmienia się z parą AND ze zmianą stopu na tej samej parze: ETH/BTC PF 0.737 -> 0.674, SOL/ETH PF 1.06 -> 0.986. To jest jednoznaczny dowód sygnału o prawie zerowej przewadze -- momentum relatywnej siły na krypto ratio nie utrzymuje się. Deweloper z góry postawił test: 'jeśli ciaśniejszy, świadomy intrabaru stop nie podniesie profit_factor powyżej 1, rodzina momentum na ratio powinna być ABANDONED zamiast iterowana czwarty raz.' PF wynosi 0.674; kryterium jest spełnione. - IMPLAUSIBLE RISK-METRIC UNITS -- sprawdź (niezmienione, po stronie silnika). max_drawdown 37.97 (CI [14.19, 62.09]), var_95 2.61, cvar_95 4.02 wynoszą >100% -- artefakt normalizacji obejmującej całą sesję. Zauważ, że analiza ogonów per-leg vs per-pair dewelopera jest CORRECT i warta odnotowania: largest_loss na poziomie nogi pary neutralnej dolarowo jest zdominowana przez betę rynkową, która anuluje się między nogami, więc te per-leg skrajności mierzą betę, nie przewagę spreadu -- liczby na poziomie pary (PF 0.674, total_return -30.2%) są tymi, które mają znaczenie, i są zdecydowanie ujemne.

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.