Zbliża się rok od czasu, gdy zanurzyłem się na pełen etat w quant tradingu. Mój biznes rok temu nie działał zbyt dobrze, a ja miałem nadzieję na większą kontrolę nad zyskami – zwłaszcza na bardziej przewidywalny ROI. Tak to wszystko się zaczęło.
Nie spodziewałem się, że ta podróż będzie tak wymagająca, jak była – patrząc wstecz na wszystkie nauki, ponowne nauki, programowanie, ponowne programowanie, testowanie, ponowne testowanie i uruchamianie strategii w pewnym momencie, tylko po to, aby zobaczyć, jak zawodzą. Istnieje jednak kilka strategii, które przechodzą przez wszystkie te procesy i stają się zyskowne. Te zwycięskie strategie mają pewne wspólne wzorce, które próbowałem skompilować w następujące lekcje, których nauczyłem się w ciągu ostatniego roku.
Niektóre z tych punktów mogą wydawać się oczywiste dla Ciebie, jako bardziej doświadczonego tradera. Dla mnie, każdy z nich był ogromnym wglądem, po którym czasami następowała duża zmiana w tym, jak podchodzę do rynków. Żałuję, że nie znałem tych punktów wcześniej, co mogłoby zaoszczędzić mi niezliczonych godzin. Poniższe lekcje są skierowane do mnie i nie są w żadnej znaczącej kolejności.
- Strategicznie wybieraj swoje rynki
- Naucz się zasad i zaakceptuj je
- Znaj swoje priorytety
- Spodziewaj się straty w pierwszym roku
- Nie spiesz się z kapitałem, spiesz się z wykonaniem
- Nie używaj przystanków cenowych
- Znaj wejścia i wyjścia
- Znaj swoje liczby
- Uczyń zarządzanie ryzykiem priorytetem
- Używaj mniej parametrów, ale wiedz co one robią
- Stwórz dobry backtest i poznaj jego tajniki
- Znajdź dobrą metrykę oceny
- Wiedzieć czego szukać w strategii
- Skup się na cechach, nie na optymalizacji
- Deep learning jest przereklamowany
- Better data, better features
- Prace akademickie są świetne, ale…
- Szybka informacja zwrotna jest koniecznością
- Nie handluj tylko na cenie i wskaźnikach cenowych
- Pochodne pochodnych są użyteczne
- Podwój swoje ramy czasowe
- Więcej ryzykownych rynków, mniejsze pozycje
- Opłaty transakcyjne robią ogromną różnicę
- Zapoznaj się ze swoim środowiskiem handlowym
Strategicznie wybieraj swoje rynki
Trading amerykańskich akcji, forex i obligacji prawdopodobnie jest złym pomysłem. Nie jest to najmądrzejszy wybór, ze względu na zbyt dużą konkurencję z największymi graczami. Znajdź swój „sweet spot” płynności poprzez przyjrzenie się rynkom, które mogłyby zaspokoić Twoje potrzeby płynności, jednak nie powinny być one o wiele większe. Graj i wygrywaj na rynkach niszowych, ucząc się ich zasad, zamiast handlować tam, gdzie handlują wielcy gracze i gdzie gra jest o wiele trudniejsza. Chodzi mi o to: strategia na filipińskich akcjach prawdopodobnie będzie bardziej zyskowna niż ta sama strategia na akcjach amerykańskich.
Naucz się zasad i zaakceptuj je
Handlowałem na kilku różnych rynkach (z perspektywy czasu, powinienem był trzymać się jednego). Każdy z nich ma inne zasady i jest sfałszowany na swój własny sposób. Animatorzy rynku (lub najbardziej dominujący gracze na jednym rynku) robią wszystko, aby wygrać. Przyjmij, że rynki są sfałszowane, naucz się zasad i graj według nich, ale nie zaprzeczaj im, myśląc, że rynki działają naturalnie. Nie próbuj „przechytrzyć” rynków – to prawdopodobnie przyniesie odwrotny skutek. Szukaj śladów (behawioralnych, spoofingu, składanych zleceń i polowania na płynność), które pozostawiają wielcy gracze i wykorzystaj je na swoją korzyść.
Znaj swoje priorytety
W quant trading jest tak wiele do zrobienia: rozwój strategii, optymalizacja, backtesting, egzekucja i zarządzanie ryzykiem. Nie skupiaj się na niewłaściwych rzeczach na początku – jak optymalizacja parametrów. Zbuduj raczej bardzo podstawowe wersje MVP każdej części równania i optymalizuj poprzez iteracje w trakcie produkcji. Idealnie zoptymalizowana strategia nie pomoże, jeśli część wykonawcza nie będzie działać poprawnie.
Spodziewaj się straty w pierwszym roku
Nie zaczynaj skalowania, jak tylko zobaczysz jakiś początkowy sukces, ponieważ może to wymazać duże części (40% w moim przypadku) twojego portfela. Odrobienie tego zajmie Ci znacznie więcej wysiłku; zamiast tego, łatwiej jest dostosować odpowiednie środki ryzyka w pierwszej kolejności. Mając oczekiwanie na stratę (przynajmniej w pierwszym roku), nie będziesz miał pokusy, aby włożyć więcej kapitału niż to konieczne w testowanie i naukę.
Nie spiesz się z kapitałem, spiesz się z wykonaniem
Byłem zbyt szybki w skalowaniu kapitału bez myślenia o ryzyku. Wręcz przeciwnie, często popadałem w paraliż analityczny, obiecując sobie, że po „jeszcze jednej optymalizacji” uruchomię nową strategię. Za bardzo przesadziłem z optymalizacją. Powinienem był po prostu uruchomić wiele strategii, aby zobaczyć, co działa jako pierwsze, a następnie optymalizować w sposób ciągły. Budowanie i optymalizacja strategii w oparciu o teorię nie pomaga, jeśli nie ma praktycznego sprzężenia zwrotnego.
Nie używaj przystanków cenowych
Odkryłem, że są dwa sposoby, w jakie przystanki cenowe mogą być używane: albo wcale, albo do ochrony przed czarnymi łabędziami (99.9 percentyl rozkładu zmienności). Zamiast przystanków cenowych, używaj przystanków czasowych i właściwej wielkości pozycji. Jak pokazują badania, przystanki cenowe zniszczą dobrą strategię, po prostu z powodu losowości zmienności. Wymiar czasowy jest o wiele bardziej zarządzalny i przewidywalny niż wymiar cenowy hipotezy wyrażonej przez Twoją transakcję (zarówno w backtestach jak i w transakcjach na żywo). Używając stopów czasowych, ustalasz ograniczenie czasowe w odniesieniu do tego, jak długo Twoja hipoteza jest ważna, co prawie zawsze zmniejsza wariancję (i zwiększa współczynnik Sharpe’a).
Znaj wejścia i wyjścia
Dla każdej transakcji, wiedz gdzie wejść i gdzie wyjść. Dla mnie są one ustalane w oparciu o dwie zasady – jedną z nich jest zmodyfikowana formuła Average True Range. Jest to prawie wymóg, aby mieć wstępnie zdefiniowane zasady wejścia i wyjścia, aby prawidłowo przeprowadzać backtest i wiedzieć czego się spodziewać w handlu na żywo.
Znaj swoje liczby
Dla każdej strategii, musisz znać oczekiwaną wartość, współczynnik trafień, oczekiwany drawdown, najdłuższy drawdown, oczekiwaną zmienność, wariancję, współczynnik Sharpe’a, standardowe odchylenie zwrotów, skośność zwrotów i wartość przy ryzyku. Ponadto, odpowiedni rozmiar zakładu, ryzyko ruiny, frakcja Kelly’ego oraz optymalne F powinny być strategicznie wybrane w oparciu o to jak strategia radzi sobie podczas backtestu.
Uczyń zarządzanie ryzykiem priorytetem
Usunięcie 40% kapitału może zdarzyć się w ciągu jednego dnia; jednakże jego odzyskanie może zająć wiele miesięcy – jeśli nie lat. Stosuj właściwe zarządzanie ryzykiem w pierwszej kolejności i bądź świadomy potencjalnego ryzyka ruiny z powodu zdarzeń typu „czarny łabędź”. Zawsze warto spodziewać się najgorszego. Nie powinno być wyzwaniem dla Twoich strategii obudzenie się pewnego dnia na rynku z wynikiem -50%.
Używaj mniej parametrów, ale wiedz co one robią
Moja najlepiej działająca strategia używa tylko 3 parametrów. Są one łatwe do zoptymalizowania i łatwe do przetestowania pod kątem odporności. Wiedz dokładnie co robią twoje parametry i dlaczego są używane. Najgorszym błędem jest prawdopodobnie pozwolenie skryptowi optymalizacyjnemu na generowanie kombinacji parametrów, np. wolny/szybki okres dla wielu kombinacji średnich kroczących. Na pewno znajdzie się coś, co wygląda dobrze na papierze/ w backteście, ale wątpliwe jest, że ta sama strategia będzie działać w handlu na żywo.
Stwórz dobry backtest i poznaj jego tajniki
Nie idź z jakimś istniejącym rozwiązaniem (dotyczy to również optymalizacji, tak przy okazji) – przynajmniej nie przed stworzeniem wielu backtestów samodzielnie. Musisz zrozumieć wpływ poślizgu, opłat, sekwencji zdarzeń wykonania i różnych typów zleceń. Napisałem wiele skryptów backtestowych, przy czym kilka pierwszych było bardzo skomplikowanych. Moja najnowsza wersja działa na 12 liniach kodu (głównie obliczenia równoległe), co udowadnia, po raz kolejny, że prostota wygrywa.
Znajdź dobrą metrykę oceny
Sprawdzanie jak działa strategia nie jest wystarczające; musisz wiedzieć na co zwrócić uwagę. Oczywiście, zacząłem szukać wysokiej rocznej stopy zwrotu. Optymalizacja Sharpe’a była lepsza, ale również nie była tym, czego potrzebowałem (do dziś zastanawiam się, dlaczego wskaźnik Sharpe’a jest uważany za standard w branży, skoro istnieją znacznie lepsze metryki). Znalezienie właściwej metryki optymalizacji i oceny jest kluczowe; w przeciwnym razie, zbudujesz coś, co całkowicie mija się z celem.
Wiedzieć czego szukać w strategii
Aby znaleźć dobrą metrykę oceny, musisz wiedzieć czego właściwie szukasz w strategii, a to jest oparte na wielu osobistych czynnikach (wielkość portfela, akceptowane ryzyko, itp.). Poznaj charakterystykę swojej pożądanej strategii, ponieważ to zdefiniuje jaką metrykę oceny wybrać. Preferuję spójne, negatywnie skośne strategie i to jest to, co buduję.
Skup się na cechach, nie na optymalizacji
Istnieje ogromny zakres narzędzi do optymalizacji, optymalizacje genetyczne, optymalizacje niewypukłe, analiza głównych składowych, optymalizacja statystyczna/Bayesowska i tysiąc wymyślnych bibliotek. Z mojego punktu widzenia, optymalizacja pomoże ulepszyć strategię o 10-20%, ale nie doprowadzi do stworzenia zyskownej strategii. Jeśli strategia jest zła, żadna optymalizacja nie pomoże. Skup się na analizie dedukcyjnej i inżynierii funkcji – w prostych słowach, nadając sens wejściom i danym.
Deep learning jest przereklamowany
Nie rozumiem tego szumu. Uczenie maszynowe jest świetne, a głębokie uczenie też jest świetne (aka sieci neuronowe). Optymalizacja 10,000 parametrów prawdopodobnie doprowadzi tylko do przepasowania. Jeśli strategia nie działa bez bibliotek mocy, takich jak Tensorflow, prawdopodobnie nie będzie działać w produkcji (nawet jeśli backtest jest niesamowity). W skrócie, strategia powinna być opłacalna już z czymś prostym jak regresja liniowa.
Better data, better features
„Data is the oil of the digital world”, ktoś powiedział. Słyszałem, że niektóre fundusze hedgingowe używają zdjęć satelitarnych miejsc parkingowych do przewidywania zwrotów akcji. Chociaż takie rodzaje danych prawdopodobnie zawierają ograniczone informacje (zgadywałbym, że tak samo dobre jak dane prognozy pogody), to wciąż są to dane użytkowe i w żadnym wypadku nie są złe. Chodzi mi o to: skup się na uzyskaniu lepszych danych, aby następnie stworzyć lepsze cechy. Połącz wiele słabych cech i strategii razem, a to prawdopodobnie poprawi zyski.
Prace akademickie są świetne, ale…
Prace akademickie są świetne, ale zazwyczaj nie sprawdzają się w praktyce. Jest po prostu niedopasowanie bodźców pomiędzy naukowcami i handlowcami. Naukowcy nie są handlowcami, a handlowcy nie publikują działających strategii. Patrz na badania akademickie z przymrużeniem oka, ale nie lekceważ ich całkowicie. Nie jestem w stanie zliczyć ile razy zdarzyło mi się, że jakaś mała informacja okazała się naprawdę wartościowa. Jedna praca nie zaowocuje dobrą strategią, ale zastosowanie spostrzeżeń z 20 prac może.
Szybka informacja zwrotna jest koniecznością
Konkurowanie z dużymi graczami, szczególnie w sferze HFT, jest prawdopodobnie złym pomysłem (jak wyjaśniłem powyżej). Podążanie w przeciwnym kierunku – trzymanie transakcji przez dni, miesiące i lata – również nie jest idealnym rozwiązaniem. Dla mnie najlepszym rozwiązaniem jest czas utrzymywania pozycji od 5 do 60 minut. Jeśli nie mogę przetestować strategii w ciągu 2 tygodni z istotnością statystyczną (co oznacza więcej niż 100 transakcji), nie inwestuję w nią swojego czasu. Aby przetestować strategię z wielodniowym (i dłuższym) okresem utrzymywania pozycji, potrzebowałbym miesięcy na walidację, a to nie jest to, co mnie interesuje.
Nie handluj tylko na cenie i wskaźnikach cenowych
Cena jest odzwierciedleniem tego, co wydarzyło się na rynku. Ma mało informacji o aktorach i ich intencjach. Wskaźniki również nie są wystarczająco użyteczne, ponieważ są one tylko pochodną ceny, a większość wskaźników pozostaje w tyle. Rynki są obecnie bardziej rozdrobnione i zautomatyzowane, a wskaźniki opóźnione nie są tak pomocne, jak zakładam, że były w przeszłości.
Pochodne pochodnych są użyteczne
Znalazłem sposób, aby uczynić wskaźniki użytecznymi: poprzez budowanie z nich funkcji. Stwierdziłem, że strategie będą działać o wiele lepiej, jeśli wskaźniki – powiedzmy średnia ruchoma – będą strategicznie refaktoryzowane do czegoś w rodzaju drugiej pochodnej, np. dzieląc wartości MA na biny i licząc wystąpienia na bin w ciągu ostatnich X godzin.
Podwój swoje ramy czasowe
Wybranie wyższych ram czasowych prawie zawsze prowadzi do lepszych wyników. To nie może powtarzać się w nieskończoność, ponieważ Twoje badania są wykonywane z myślą o jednym konkretnym przedziale czasowym. Jednakże, jeśli Twoja strategia jest zoptymalizowana dla 15 minut, zwiększenie okresu utrzymywania pozycji z do 30 minut prawie zawsze daje lepsze zyski przy niższym ryzyku.
Więcej ryzykownych rynków, mniejsze pozycje
Handluj na rynkach, które są bardziej zmienne, ponieważ zmienność jest dobra dla możliwości. Wystarczy być świadomym ryzyka i odpowiednio dostosować wielkość pozycji. O wiele bardziej opłacalne może być handlowanie na rynkach, które są 10x bardziej zmienne, mając 1/10 pozycji. Krzywa ryzyka i nagrody nie jest tak liniowa jak myślałem – patrząc na ciebie Bitcoin!
Opłaty transakcyjne robią ogromną różnicę
Podwajając czas utrzymywania pozycji, jak wspomniano, rola opłat jest już zredukowana. Optymalizacja strategii specjalnie w celu uniknięcia dużych opłat jest nawet mądrzejsza. W zależności od strategii (szczególnie dla wyższych częstotliwości), opłaty stanowią ponad 50 procent zwrotu. Oznacza to, że optymalizacja opłat powinna być jednym z najwyższych priorytetów, czy oznacza to używanie mniejszej ilości zleceń rynkowych, używanie lepszych brokerów lub negocjowanie lepszych umów z istniejącymi brokerami.
Zapoznaj się ze swoim środowiskiem handlowym
Wspomniane powyżej w ramach zaznajomienia się z jedną niszą rynkową, odnosi się to jeszcze bardziej do brokerów, giełd, ich API, przestojów i opóźnień. Powinieneś znać ich API w i na zewnątrz, zwłaszcza, że wielu brokerów ma skomplikowane i ukryte funkcje, które mogą naprawdę pomóc w wydajności (zamówienia warunkowe, lepsze wypełnienie / informacje o stanie zamówień, operacje masowe, itp. Ilość rzeczy, których uczę się dzień po dniu nie zwalnia, mimo że zbliżam się do 2000 godzin w quant tradingu. Myślę, że jest to jedna z niewielu branż, gdzie wraz z upływem czasu krzywa uczenia się staje się bardziej stroma, co sprawia, że jestem podekscytowany nadchodzącymi miesiącami/latami. Na koniec, na wypadek gdybym coś przeoczył – lub gdybyś chciał się ze mną skontaktować – proszę o kontakt poprzez email.