
Wprowadzenie do uczenia maszynowego dla rynków finansowych
Uczenie nadzorowane, nienadzorowane i ze wzmocnieniem dla handlu
Backtest, który zarobił 0 dolarów w realnym świecie
W 2018 roku zespół kwantów pokazał swojemu funduszowi model, który w backteście zamienił 100 000 USD w 4,2 miliona USD. Krzywa kapitału była niemal idealną linią pod kątem 45 stopni. Wskaźnik Sharpe'a wynosił 4,0 — lepiej niż niemal jakikolwiek fundusz hedgingowy w historii. Wdrożyli go z realnymi pieniędzmi.
Stracił pieniądze w pierwszym tygodniu, a potem wykrwawiał się przez trzy miesiące, zanim go wyłączyli. Model, który „zarobił" 4,2 miliona USD na papierze, zarobił nic w rzeczywistości. Nic nie zostało sfałszowane — bez oszustwa, bez błędu. Model po prostu zapamiętał przeszłość, zamiast nauczyć się czegokolwiek o przyszłości.
Ta historia powtarza się tak często, że ma nazwę: przeuczenie backtestu (backtest overfitting), i jest to najczęstsza przyczyna, przez którą fundusze ML zawodzą. Marcos López de Prado — który prowadził miliardy w strategiach napędzanych ML — ujął to wprost: z wystarczającą liczbą prób, każdy może wyprodukować piękny backtest na czystym szumie. Rynek nie dba o to, jak elegancka jest twoja sieć neuronowa.
Uczenie maszynowe naprawdę transformuje sposób handlu na rynkach. Ale szczelina między modelem, który wygląda brylantowo, a tym, który przetrwa kontakt z żywymi rynkami, jest ogromna — a nauczenie się je rozróżniać jest całą grą. Ta lekcja uczy obu: jak budować systemy ML, które znajdują realne przewagi, i jak unikać pułapek, które destrukują ludzi omijających drugą połowę.
Czym jest uczenie maszynowe — i czemu rynki są najtrudniejszym przypadkiem
Uczenie maszynowe jest nauką sprowadzania komputerów do uczenia się wzorców z danych bez wyraźnego programowania dla każdego scenariusza. Zamiast pisać zasadę jak „kupuj, gdy RSI spadnie poniżej 30", podajesz algorytmowi tysiące historycznych przykładów i pozwalasz mu odkryć, które wzorce poprzedzają rentowne transakcje. Maszyna generalizuje z doświadczenia — dokładnie jak doświadczony trader rozwija intuicję, ale przez więcej danych, niż jakikolwiek człowiek mógłby zmieścić w głowie.
Rynki finansowe generują oszałamiające wolumeny tego: tiki cenowe, snapshoty księgi zleceń, stopy finansowania, przepływy on-chain, wyniki sentymentu, publikacje makro. Tradycyjne strategie bazujące na zasadach uchwytują tylko relacje, które ich twórca już wyobrazi. Modele ML mogą wykrywać nieliniowe, wielowymiarowe interakcje przez setki cech jednocześnie — relacje, których analityk-człowiek nigdy nie pomyślałby przetestować.
Ale rynki są najbardziej wrogim środowiskiem w całym stosowanym ML, i warto być uczciwym co do przyczyny. Większość przełomów ML — rozpoznawanie obrazów, modele językowe — działa, bo bazowe zasady się nie ruszają. Kot wygląda jak kot niezależnie od tego, czy zdjęcie zostało zrobione w 2010 czy 2026 roku. Rynki są odwrotne:
- Dane nie są stacjonarne. Statystyczne „zasady" rynku przesuwają się nieustannie, gdy reżimy się zmieniają. Model wytrenowany na spokojnym rynku byka może być aktywnie niebezpieczny w krachu.
- Współczynnik sygnału do szumu jest brutalny. W rozpoznawaniu obrazów niemal każdy piksel niesie informację. W zwrotach ogromna większość ruchu ceny jest szumem. Wykopujesz blady sygnał w ryczącym morzu przypadkowości.
- Konkurujesz z adaptacyjnymi przeciwnikami. Kot nie zmienia swojego wyglądu, aby zwabić twój klasyfikator. W chwili, gdy realna przewaga rynkowa staje się popularna, inni traderzy arbitrażują ją z niej. Sukces twojego modelu po cichu erodowuje jego własną przewagę.
Dobra wiadomość: bariera nie jest już dostępem do danych czy obliczeń. Platformy jak GaiaEx dostarczają dostęp API do danych rynkowych w czasie rzeczywistym i historycznych na Hyperliquid L1, więc każdy deweloper może zbierać zestawy danych, które ML wymaga. Pozostałą barierą jest wiedza — co jest dokładnie tym, co dostarcza ta lekcja.
Trzy paradygmaty: uczenie nadzorowane, nienadzorowane i ze wzmocnieniem
Uczenie maszynowe nie jest jedną techniką — to rodzina podejść, każde dostosowane do różnych problemów. W finansach wszystkie trzy główne paradygmaty mają realne zastosowania.
Uczenie nadzorowane jest koniem roboczym. Podajesz modelowi oznaczone przykłady: historyczne wektory cech (wejścia) sparowane ze znanymi wynikami (celami), a on uczy się mapowania od jednego do drugiego. Dwa podtypy dominują użycie finansowe:
- Klasyfikacja — przewiduje kategorię. Czy aktywo wzrośnie czy spadnie w następnej godzinie? Czy ta transakcja jest oszukańcza? Wynik jest dyskretną etykietą, zwykle z przypisanym prawdopodobieństwem.
- Regresja — przewiduje ciągłą wartość. Jaki będzie 1-godzinny zwrot? Jaka jest sprawiedliwa stopa finansowania? Wynik jest liczbą, a model minimalizuje błąd predykcji.
Uczenie nienadzorowane znajduje strukturę w danych bez etykiet. Algorytmy klastrowania jak K-Means mogą grupować dni handlowe w reżimy rynkowe — trendujące, powracające do średniej, wysokiej zmienności — bez definiowania tych reżimów z góry. Redukcja wymiarowości jak PCA kompresuje setki skorelowanych cech w garstkę niezależnych czynników, co ma znaczenie, gdy twój zestaw cech jest szerszy niż głębia twojej próbki.
Uczenie ze wzmocnieniem (RL) trenuje agenta do podejmowania sekwencji decyzji poprzez maksymalizowanie skumulowanej nagrody. Agent interaguje ze środowiskiem (rynkiem), podejmuje akcje (kup, sprzedaj, trzymaj), i otrzymuje sprzężenie zwrotne (zysk albo strata). RL jest atrakcyjne dla alokacji portfela i wykonania zleceń, gdzie najlepsza akcja zależy od twojej bieżącej pozycji, kosztów transakcyjnych i wpływu na rynek. Agenci grający w gry od DeepMind zainspirowali falę badań RL w finansach — ale praktyczne wyniki pozostają mieszane, właśnie bo rynki są niestacjonarne, a „gra" wciąż zmienia swoje zasady w środku rozgrywki.
Inżynieria cech: zamiana surowych danych w predykcyjne sygnały
W uczeniu maszynowym cechy (features) są zmiennymi wejściowymi, które model używa do robienia predykcji. Surowe dane OHLCV są punktem wyjściowym, ale podawanie surowych cen do modelu jest jak podanie kucharzowi surowej pszenicy zamiast mąki — musisz to najpierw przetworzyć. Inżynieria cech jest tam, gdzie wiedza domenowa spotyka naukę o danych, i jest znacznie częściej różnicą między działającym modelem a bezużytecznym niż wybór algorytmu.
Powszechne kategorie cech dla ML finansowego obejmują:
- Wskaźniki techniczne — RSI, MACD, szerokość wstęgi Bollingera, ATR, ADX. Kodują momentum, zmienność i siłę trendu jako standaryzowane, niezmienione co do skali wejścia.
- Cechy opóźnione (lag) — przeszłe zwroty przez wiele horyzontów (1-świeca, 5-świec, 20-świec, 60-świec), uchwytujące momentum i powrót do średniej przy różnych skalach czasowych.
- Miary zmienności — przesuwna odchylenie standardowe, zmienność Parkinsona (z high/low), estymator Garmana-Klassa. Klasterowanie zmienności jest jednym z najbardziej rzetelnych stylizowanych faktów w całych finansach.
- Cechy wolumenu — wskaźnik wolumenu (bieżący vs. średni), on-balance volume, korelacja wolumen-cena. Nietypowy wolumen często poprzedza ruchy cenowe.
- Cechy między aktywami — zwrot BTC jako wejście przy przewidywaniu ETH. Przesuwające się korelacje między aktywami często flagują zmiany reżimu przed ceną.
Oto praktyczny przykład inżynierii cech w Pythonie:
import pandas as pd
import numpy as np
def engineer_features(df: pd.DataFrame) -> pd.DataFrame:
df["return_1h"] = df["close"].pct_change(1)
df["return_4h"] = df["close"].pct_change(4)
df["return_24h"] = df["close"].pct_change(24)
df["volatility_24h"] = df["return_1h"].rolling(24).std()
df["rsi_14"] = compute_rsi(df["close"], 14)
df["volume_ratio"] = df["volume"] / df["volume"].rolling(24).mean()
df["atr_14"] = compute_atr(df, 14)
return df.dropna()
Dwie zasady są niepodlegające negocjacjom. Pierwsza, nigdy nie używaj danych z przyszłości — każda cecha musi być obliczalna z informacji dostępnej w momencie predykcji. Najczęstszym sposobem „odkrycia" rentownej strategii jest przypadkowe pozwolenie liczbie z jutra wyciekać do dzisiejszych cech. Druga, normalizuj swoje wejścia; większość modeli ML dławi się, gdy cechy rozciągają się na dziko różniące się skale (cena 60 000 obok RSI 30).
Najważniejsza sekcja: walidacja na szeregach czasowych
Jeśli pamiętasz jedną rzecz z całej tej lekcji, niech to będzie to: standardowa walidacja ML jest katastrofalnie błędna dla rynków finansowych.
W normalnym uczeniu maszynowym miksujesz swoje dane losowo i dzielisz je na zestawy treningowe i testowe. Zrób to z danymi cenowymi szeregu czasowego i właśnie pozwoliłeś modelowi trenować na przyszłości, aby przewidzieć przeszłość. Twoja dokładność będzie wyglądać spektakularnie. Twój żywy handel będzie masakrą. Ten jeden błąd — znany jako bias wglądu w przyszłość (look-ahead bias) — jest odpowiedzialny za więcej wybuchłych strategii kwantowych niż jakikolwiek krach rynkowy. Właściwe podejście zawsze respektuje strzałkę czasu:
Chronologiczny podział trening/walidacja/test. Podziel dane według daty: trenuj na 2020–2022, waliduj na 2023, testuj na 2024. Zestaw testowy jest dotykany dokładnie raz — to twoja symulacja żywego handlu. W chwili, gdy dostrajasz hiperparametry przeciwko niemu, przestaje być zestawem testowym, i utraciłeś jakikolwiek uczciwy szacunek wyniku poza-próbkowego.
Walidacja walk-forward (rozszerzająca albo przesuwna okno) jest bardziej solidna. Trenuj na miesiącach 1–12, przewiduj miesiąc 13. Potem trenuj na miesiącach 1–13 (albo 2–13), przewiduj miesiąc 14. Powtarzaj. To generuje wiele predykcji poza-próbkowych, każda na danych, których model nigdy nie widział, jednocześnie adaptując się do zmieniających się warunków — odzwierciedla to, jak strategia faktycznie zostałaby wdrożona i przetrenowana.
Purged cross-validation (wprowadzona przez Marcosa López de Prado) dodaje szczelinę między złożeniami treningowymi i testowymi, aby zatrzymać wyciekanie informacji przez nakładające się etykiety. Jeśli twój cel jest 24-godzinnym zwrotem w przód, obserwacje bliskie granicy złożenia dzielą informację; szczelina purge usuwa to zanieczyszczenie. Dodatkowy okres „embargo" po złożeniu testowym broni przed korelacją seryjną wykrwawiającą się z powrotem do treningu.
Wreszcie, oceniaj model na metrykach, które mają znaczenie dla pieniędzy, nie dla podręczników. Sama dokładność jest myląca. Model, który jest 51% dokładny, ale ma rację na dużych ruchach, może być dziko rentowny; model 70% dokładny, który tylko trafia mikroskopijne ruchy, może stracić pieniądze po opłatach. Śledź precyzję na swoich zakładach kierunkowych, wskaźnik Sharpe'a wynikowej strategii, i maksymalne obsunięcie kapitału — i zawsze netto po realistycznych kosztach transakcyjnych i slippage.
Random Forests, gradient boosting i wybór właściwego modelu
Dla danych finansowych tabelarycznych — takich, jak otrzymujesz ze świec OHLCV, wskaźników technicznych i zaprojektowanych cech — modele zespołowe bazujące na drzewach konsekwentnie przewyższają głębokie sieci neuronowe. To nie jest opinia; to dobrze ustalony wynik empiryczny (patrz Grinsztajn et al., 2022, „Why do tree-based models still outperform deep learning on tabular data?"). Dla obrazów i języka głębokie uczenie rządzi. Dla tabeli cech, drzewa wygrywają.
Random Forests budują setki drzew decyzyjnych, każde wytrenowane na losowym podzbiorze wierszy i cech, następnie średnie ich predykcje. To średnienie redukuje wariancję i przeuczenie. Są solidne, potrzebują minimalnego dostrajania, i podają wbudowany ranking ważności cech — bezcenne dla zrozumienia, co faktycznie napędza twój model.
Gradient Boosting (XGBoost, LightGBM, CatBoost) buduje drzewa sekwencyjnie, każde korygujące błędy zespołu do tej pory. To zwykle pobija random forests na dokładności, ale wymaga bardziej ostrożnego dostrajania. LightGBM jest domyślnym wyborem dla większości praktyków ML finansowego: szybki trening, natywna obsługa brakujących wartości, i skaluje się do milionów wierszy wygodnie.
import lightgbm as lgb
from sklearn.model_selection import TimeSeriesSplit
model = lgb.LGBMClassifier(
n_estimators=500,
max_depth=6,
learning_rate=0.05,
subsample=0.8,
colsample_bytree=0.8,
min_child_samples=50,
)
tscv = TimeSeriesSplit(n_splits=5)
for train_idx, val_idx in tscv.split(X):
model.fit(X.iloc[train_idx], y.iloc[train_idx],
eval_set=[(X.iloc[val_idx], y.iloc[val_idx])])
Głębokie uczenie wciąż ma swoje miejsce — ale wąskie. LSTM-y i Transformery mogą naprawdę dodawać wartość na surowych danych sekwencyjnych: przepływie zleceń tik po tiku, albo łączeniu ceny z tekstem newsów i sentymentem mediów społecznościowych, gdzie porządkowanie i kontekst niosą informację, którą płaskie tabele odrzucają. Tylko nie sięgaj po nie domyślnie. Dla danych strukturalnych z zaprojektowanymi cechami, dobrze dostrojony LightGBM wytrenowany na danych pociągniętych z API GaiaEx niemal zawsze pobije sieć neuronową — i trenuje się w sekundach, a nie godzinach.
Gdzie ML faktycznie zarabia na swoje utrzymanie w krypto
Predykcja ceny przyciąga całą uwagę, ale jest najtrudniejszym i najmniej rzetelnym użyciem ML na rynkach. Niektóre z najbardziej wartościowych zastosowań nie mają nic do czynienia z przewidywaniem następnej świecy:
- Wykrywanie reżimu rynkowego. Klastrowanie nienadzorowane sortuje warunki rynkowe w reżimy — spokojny trendujący, chaotyczny powracający do średniej, panika wysokiej zmienności. Wiedza, w jakim reżimie jesteś, pozwala przełączać strategie albo obciąć rozmiar, co jest często wartsze niż jakakolwiek pojedyncza predykcja kierunkowa.
- Analiza sentymentu. Wielkie modele językowe czytają newsy, X/Twitter i Discord w skali, w jakiej żaden człowiek nie może, punktując przesunięcia w nastroju rynku. Badania konsekwentnie pokazują, że łączenie sygnału sentymentu z danymi cenowymi ulepsza dokładność predykcji krypto względem samej ceny — sentyment rusza krypto niezwykle silnie.
- Wykrywanie oszustwa i manipulacji. Tu ML po cichu błyszczy. Modele flagują handel fikcyjny (wash trading), spoofing i klasyczne schematy pump-and-dump, wypatrując anomalny wolumen i wzorce księgi zleceń, które poprzedzają skoordynowany zrzut. Modele wykrywania anomalii (LSTM-y, Anomaly Transformers) rzetelnie pobijają tu i klasyczne ML, i proste progi statystyczne.
- Modelowanie wykonania i slippage. ML przewiduje wpływ na rynek dużego zlecenia, pomagając algorytmom wykonania kroić je, aby minimalizować koszt. Na giełdzie 24/7 jak krypto, gdzie niezgrabne zlecenie może ruszyć księgę przeciw tobie, to bezpośrednio chroni twój wynik.
- Zarządzanie ryzykiem i likwidacją. Modele szacują prawdopodobieństwo, że pozycja przekroczy próg ryzyka przy bieżącej zmienności, pomagając dopasować rozmiar pozycji i ustawić stopy przed kaskadą, a nie po.
Czemu większość strategii ML zawodzi — i czego to cię uczy
Uczciwa edukacja oznacza wymienienie, jak to idzie źle, bo zwykle idzie. Te pułapki destrukowały więcej strategii kwantowych niż wszystkie rynki niedźwiedzia razem wzięte:
- Przeuczenie (overfitting). Model zapamiętuje dane treningowe, zamiast nauczyć się czegokolwiek generalizowalnego. Lekiem jest dyscyplina, nie zmyślność: prostsze modele, mniej cech, regularyzacja, i bezwzględne testowanie poza próbką. Jeśli twój backtest wygląda za dobrze, aby był prawdziwy, jest.
- Bias wglądu w przyszłość. Używanie informacji, która nie była dostępna w momencie decyzji — obliczanie cech na pełnym zestawie danych przed podziałem, używanie cen, które zostały zrewidowane po fakcie, albo (częściej niż ktokolwiek przyznaje) pozostawienie zmiennej celu w zestawie cech.
- Bias przetrwania (survivorship bias). Trenowanie tylko na aktywach, które wciąż istnieją dzisiaj. Wykreślone tokeny, oszukane projekty i martwe monety są po cichu nieobecne w twoim zestawie danych, co obciąża każdy wynik ku górze. W krypto to jest poważne — tysiące tokenów spadło do zera.
- Niestacjonarność. Rozkłady rynku się przesuwają. Model wytrenowany na rynku byka 2021 zawodzi na rynku niedźwiedzia 2022, bo zasady, których się nauczył, już nie działają. Musisz przetrenowywać regularnie i monitorować dryft rozkładu, nie „ustaw i zapomnij".
- Pułapka wielokrotnego testowania. Wypróbuj 1000 wariantów strategii, a kilka wyglądałoby brylantowo z czystego szczęścia. Tak dzieje się ten backtest „4,2 miliona USD". Narzędzia jak Deflated Sharpe Ratio istnieją specjalnie, aby zdyskontować wyniki, które znalazłeś tylko przez wystarczająco intensywne poszukiwanie.
- Szczelina badania-do-produkcji. Backtesty zakładają bezfrykcyjne, natychmiastowe wykonania. Żywe rynki wprowadzają slippage, opłaty, opóźnienie i wpływ na rynek, które regularnie odcinają 30–70% teoretycznych zwrotów — i mogą odwrócić „rentowną" strategię do negatywnej.
Jest głębszy punkt schowany w tej liście. Rynki są adwersaryjnym, adaptacyjnym systemem — każda realna przewaga przyciąga konkurentów, którzy ją arbitrażują z niej. Model, który wygrywa rok, może przestać działać w miesiącu, w którym się zatłoczy, bez winy jego kodu. To dlaczego skuteczne operacje kwantowe nie szukają jednego perfekcyjnego modelu; budują potok do nieustannego znajdowania, walidowania i wycofywania przewag, gdy rynek się rozwija.
Budowanie na GaiaEx: twój pierwszy projekt od-do-końca
Każda umiejętność kwantowa, o której czytałeś, zależy najpierw od jednej rzeczy: czystych, rzetelnych danych. Tu GaiaEx wpasowuje się w twój workflow ML. Bo transakcje wykonują się na Hyperliquid L1, każde wykonanie, stopa finansowania i zmiana księgi zleceń jest zapisana on-chain i udostępniona przez API GaiaEx — dając ci przejrzyste, granularne, dane w czasie rzeczywistym i historyczne bez szczelin i cichych rewizji, które plagują wiele scentralizowanych kanałów danych.
Czemu dane on-chain mają znaczenie dla ML: model jest tylko tak uczciwy, jak jego wejścia. Gdy twoje dane treningowe pochodzą z przejrzystej L1, a nie skrzynki-czarnej wewnętrznej bazy danych, możesz zaufać, że ceny i wolumeny, z których się uczysz, są cenami i wolumenami, które faktycznie handlowały. To usuwa całą kategorię subtelnych błędów integralności danych, zanim kiedykolwiek dosięgną twoich cech.
Twój pierwszy projekt powinien być celowo prosty. Celem nie jest pobicie rynku przy pierwszej próbie — jest zbudowanie kompletnego, nieciekącego potoku, na którym możesz iterować. Oto konkretna mapa drogowa:
- Zbierz dane świec 1-godzinnych dla BTC/USDC z API GaiaEx — co najmniej 6 miesięcy.
- Zaprojektuj 10–15 cech: opóźnione zwroty, RSI, ATR, wskaźnik wolumenu, szerokość wstęgi Bollingera.
- Oznacz każdą świecę: 1, jeśli następny 4-godzinny zwrot jest pozytywny, 0 w przeciwnym razie.
- Wytrenuj klasyfikator LightGBM używając walidacji walk-forward — nigdy losowego podziału.
- Oceń precyzję, recall i wskaźnik Sharpe'a prostej strategii, która idzie długo, gdy model przewiduje 1, po odjęciu realistycznych opłat.
Potem — i to jest część, którą nowicjusze omijają — spróbuj to złamać. Dodaj szczelinę purge i zobacz, czy twoja przewaga przetrwa. Sprawdź, czy jakakolwiek cecha po cichu wycieka przyszłość. Przetestuj to na innym oknie czasowym. Jeśli przewaga wyparuje pod kontrolą, nauczyłeś się czegoś naprawdę wartościowego: że nigdy nie była realna, i dowiedziałeś się tego darmowo, zamiast swoim kapitałem.


