Strategie uczenia maszyn w handlu


Po pierwsze, skoncentrujesz się na gromadzeniu jak największej ilości danych i umieszczeniu w jednym dużym formularzu tabeli Byłoby to historyczne dane o cenach Może to zwiększyć to z artykułami z gazety, wpisami na blogu, dokumentami na sekundę przekształcanymi w wektory liczenia słów itd przy użyciu naturalnych technik przetwarzania języka następnie opracował nadzorowany algorytm do decyzji kupna sprzedaży Odpowiednie algorytmy są najbardziej regresywnymi regresjami regresji logistycznych Najsilniejsze i najbardziej przypadkowe lasery Istnieją inne, takie jak maszyny wektora wsparcia, wzmocnione drzewa decyzyjne, 3-warstwowe sieci neuronowe, ale nie oferują tak dobrej dokładności jak losowe lasy i często wolniejsze, jak i tak szybkie, jak regresja logistyczna Moim zdaniem najlepszym wyborem byłoby po prostu regresja logistyczna, a najlepsza implementacja jest wobbitowa - bardzo szybka, potrafi obsłużyć ogromne ilości danych - 1 terabajt na godzinę na jednej maszynie, szybciej w klastrze - i na otwartym źródle Dzięki temu można jasno określić, które kolumny wskaźników w tabeli są przewidywalne. Y ou mogłoby również dodawać artykuły z gazet itp bezpośrednio jako tekst do tego przy użyciu skryptu mieszającego To jest również zaimplementowane w wobbowę wachlarzową, dzięki czemu można obsługiwać bardzo duże artykuły tekstowe w jednym rzędzie, jak również. do punktu, w którym nie można już zbierać więcej źródeł danych, nadszedł czas, aby przejść do etapu projektowania funkcji Już zrobiłeś coś z tego, kiedy robiłeś coś nlp, ale używałeś standardowych technik - tzn. nie myślałeś, aby wynaleźć własne metody . W tym momencie istnieją dwie możliwości - ręczne i automatyczne. Zwykle ludzie w tym momencie wymyślają własne cechy To, co zajmują się handlowcami przez większość czasu - tak zwane strategie lub reguły są testowane pod kątem danych zwanych testami wstecznymi . Niedawno udostępniono nową, autonomiczną metodę - bez nadzoru głębokie uczenie się istniało wcześniej, ale to było z płytkiej odmiany i nie działało dobrze w praktyce Głębokie sieci neuronowe wykorzystujące autoen koderzy to nowa metoda wynaleziona zaledwie 6 lat temu, która działa naprawdę dobrze Ten artykuł jest demonstracją tego. W zasadzie, rzucając mnóstwo komputerów na problem, można automatycznie tworzyć strategie Im większa sieć neuronowa, tym lepiej - ale w związku z tym wymagana jest większa liczba komputerów To moim zdaniem jest tańsze niż próbuje zatrudnić wiele wysoce twórczych analitycznie pracowitych ludzi.17 9k Views View Upvotes Nie dla reprodukcji. Jestem rzeczywiście na początku mojej automatyki handlowej system, odpowiedź na pytanie brzmi: jak chcesz zarabiać pieniądze, czy chcesz dzieńować lub kupić i trzymać się w czasie, jakie są twoje metryki, aby wziąć pod uwagę dobrą inwestycję w handel Musisz wiedzieć o rynku jesteś w Twoim przypadku na giełdzie Jeśli zamierzasz uczynić algo na trasie dla ciężarówek, powinieneś znać możliwe zmienne związane z transportem drogowym wraz z możliwymi pułapkami, które zamierzasz uruchomić i nto. You można uzyskać wszystkie odpowiedzi na świecie, ale chyba że jesteś bardzo inteligentnym koderem, który może przybrać prawie infinatę zmiennych i opisać ich znaczenie i wzajemne relacje. Jest to również uwagę, ile zapasów zamierzasz śledzić Jakiego rodzaju dane potrzebujesz Te kanały zostaną uruchomione w tysiącach miesięcy potencjalnie. Po przejściu tej ścieżki przez ostatni rok, jej wielka praca i bariera wejścia Musisz zdobyć wiedzę i zaplanować strategię.4 2k Views View Upvotes nie do reprodukcji. Tad Slaff studiował na Uniwersytecie Kolorado Boulder. Here jest prosty prosty krok po kroku Przewodnik przy użyciu algorytmu uczenia maszyn do handlu Jest to podstawowy przegląd i powinien dostarczyć informacji, które trzeba zbudować own.5k Views View Upvotes Nie dla Reproduction. I nie jestem bardzo pewien, czy to pytanie pasuje tutaj. I niedawno zaczął, czytanie i nauka o maszynerii Czy ktoś rzucić trochę światła, jak iść o to, czy raczej każdy może dzielić ich byłych perience i kilka podstawowych wskazówek na temat tego, jak iść lub przynajmniej zacząć go używać, aby zobaczyć niektóre wyniki z zestawów danych Jak ambitny to brzmi. Ponadto wspomnij o standardowych algorytmach, które należy wypróbować lub przyjrzeć się podczas robienia tego. 11 na 18 35. Wydaje się, że jest podstawowym błędem, że ktoś może przyjść i nauczyć się trochę uczenia maszyn lub AI algorytmów, ustawić je jako czarne pudełko, uderzyć iść, i siedzieć z powrotem, a oni przechodzą na emeryturę. My rady dla Ciebie. Learn statystyk i uczenia maszyn, a następnie martwić się tym, jak stosować je do danego problemu Nie ma wolnego obiadu tutaj Analiza danych jest ciężka praca Czytaj Elementy statystycznego uczenia się pdf jest dostępny bezpłatnie na stronie internetowej i nie staraj się skonstruuj model, dopóki nie zrozumiesz co najmniej pierwszych 8 rozdziałów. Po zrozumieniu statystyk i uczenia maszyn, musisz nauczyć się testowania wstecznego i zbudować model handlowy, uwzględniający koszty transakcji itp., czyli cały inny obszar. Po ty ha Trzymaj uchwyt zarówno w analizie, jak i finansowaniu, to będzie to trochę oczywiste, jak ją zastosować Cały punkt tych algorytmów próbuje znaleźć sposób dopasowania modelu do danych i wykazywać niską stronniczość i wariancję przewidywania, czyli że Szkolenie i test błędów przewidywania będą niskie i podobne Oto przykład systemu handlu przy użyciu maszyny wektora wsparcia w R, ale tylko pamiętaj, że będziesz robić sobie ogromne gniew, jeśli nie poświęć czasu, aby zrozumieć podstawy zanim zaczniesz zastosować coś esoterycznego. Aby dodać rozrywkową aktualizację, niedawno natknęłam się na tę pracę magisterską. Algorytmiczne ramy handlowe algorytmiczne stosujące ewolucję i naukę maszyn w celu optymalizacji portfela 2017 Jest to obszerny przegląd różnych metod uczenia się w maszynach w porównaniu z buy-and utrzymując się po prawie 200 stronach, doszli do wniosku, że żaden system handlowy nie był w stanie osiągnąć lepszych wyników niż przy porównywaniu kosztów transakcji. Nie trzeba dodawać, że to nie oznacza to, że nie można tego zrobić I haven t spędziła w dowolnym momencie przegląd ich metod, aby zobaczyć ważność tego podejścia, ale z pewnością dostarcza więcej dowodów na korzyść z bez-free twierdzenia obiadowe. odpowiedzi Jan 1 11 w 18 48. Jase Jako jeden z autorów wspomnianej pracy magisterskiej mogę cytować własną pracę i powiedzieć Jeśli ktoś faktycznie osiąga zyskowne wyniki, nie ma motywacji do dzielenia się nimi, ponieważ mogłoby zignorować ich zaletę Chociaż nasze wyniki mogłyby podsycać hipotezę rynku nie wyklucza istnienia systemów, które działają Może to być jak teoria prawdopodobieństwa Spekuluje się, że przełom w dziedzinie teorii prawdopodobieństwa zdarzył się kilkakrotnie, ale nigdy się nie dzielił Może to wynikać z jej praktycznego zastosowania w hazardze Potem znów może być to wszystkie nowoczesne alchemy Andr Christoffer Andersen 30 kwietnia 13 w 10 01. Moje rady dla Ciebie Istnieje tam kilka oddziałów AI Sztucznej Inteligencji ML AI. Próbowałem tylko programów genetycznych i niektóre sieci neuronowe, a ja osobiście uważam, że nauka z gałęzi doświadczenia zdaje się mieć najbardziej potencjalne GP GP i sieci neuronowych wydają się być najczęściej badanymi metodologiami w celu przewidywania na giełdzie, ale jeśli robisz kilka eksploracji danych w Predict Wall Street może być w stanie przeprowadzić analizę sentymentu zbyt. Przypomnij sobie trochę czasu o różnych technikach ML AI, znajdź dane na temat rynku i spróbuj wdrożyć niektóre z tych algorytmów. Każdy będzie miał swoje mocne i słabe strony, ale możesz być w stanie aby połączyć prognozy każdego algorytmu w złożonym predykcie podobnym do tego, co zwycięzcy nagrody NetFlix. Kilka zasobów Oto kilka zasobów, które można chcieć szukać. Rozmowa Ogólnym porozumieniem wśród handlowców jest to, że sztuczna inteligencja to voodoo nauka, możesz sprawić, że komputer przewidzie ceny akcji i upewnij się, że straciłeś pieniądze, jeśli spróbujesz to zrobić Mimo to, ci ludzie powiedzą, że tylko o jedynym sposobem na zarabianie na giełdzie jest budowa i ulepszanie własnej strategii handlowej i śledzenie jej ściśle, co nie jest zły pomysłem. Idea algorytmów AI nie polega na budowie Chipa i niech mu handlu, ale do zautomatyzowania procesu tworzenia strategii Jest to bardzo żmudny proces i w żaden sposób nie jest łatwe. Zminimalizowanie przepełnienia Jak już wcześniej słyszeliśmy, podstawową kwestią algorytmów AI jest nadmierne odchylenie od dataminy, biorąc pod uwagę zestaw danych, algorytm AI może znajdź wzorzec, który jest szczególnie istotny dla zestawu treningowego, ale może nie być istotny w zestawie testowym. Istnieje kilka sposobów na zminimalizowanie przepełnienia. Użycie zestawu walidacji nie daje odpowiedzi na algorytm, ale umożliwia wykrycie, kiedy Twój algorytm może potencjalnie zacząć się nudzić, tzn. możesz przestać trenować, jeśli zbyt dużo się nadmiernie zużywa. Użyj automatu do nauki w sieci, co znacznie eliminuje potrzebę powrotu do testów i jest bardzo przydatne w przypadku algorytmów, które próbują e przewidywania rynku. Ensemble Learning zapewnia sposób na wykorzystanie wielu algorytmów uczenia maszyn i łączenie ich przewidywań Założenie, że różne algorytmy mogą nadawać dane w pewnym obszarze, ale prawidłowe połączenie ich przewidywań będzie miało lepszą przewidywalność. aspekty uczenia się statystycznego są użyteczne w handlu.1 Po pierwsze wspomniane wcześniej niektóre metody statystyczne koncentrowały się na pracy na zbiorach danych na żywo Oznacza to, że wiesz, że obserwujesz tylko próbkę danych i chcesz ekstrapolować Ciebie, musisz mieć do czynienia z próbką i poza przykładowymi kwestiami, nadmiernymi zmianami itd. Z tego punktu widzenia, eksploracja danych koncentruje się bardziej na martwych zbiorach danych, tzn. widać prawie wszystkie dane, masz problem z próbą tylko dla przykładu statystycznego. Ponieważ nauka statystyczna polega na pracy nad żywe dane, stosowane matematyki, które zajmowały się nimi, musiały skoncentrować się na problemie dwóch skal. w lewo XF theta Xn, xi L pi Xn, n koniec w prawo, gdzie X jest wielomedialną przestrzenią stanu do zbadania, w której znajdują się zmienne objaśniające i te do przewidywania, F zawiera dynamikę X, która potrzebuje pewnych parametrów theta Losowość X pochodzi z innowacji xi, która jest ii d. Celem uczenia się statystycznego jest budowanie metodologii jako wkładów częściowej obserwacji pi X i stopniowe dostosowywanie szacunkowej theta theta theta, abyśmy wiedzieli wszystko, co jest potrzebne na X. Jeśli myślisz o użyciu nauki statystycznej, aby znaleźć parametry regresji liniowej, możemy modelować przestrzeń stanu tak, jak ta podbala yx w lewym rogu po prawej stronie lewy początek ab 1 1 0 0 koniec prawy cdot underbrace x 1 epsilon koniec w prawo, co pozwala na obserwuj y, xn w dowolnym miejscu tutaj a, a następnie b. Następnie musisz znaleźć sposób, aby stopniowo zbudować estymator theta używając naszych obserwacji Dlaczego nie gradient zejście na odległość L2 między y a regresją C hat a, hat bn sum yk - hat a, xk h na b 2.Here gamma jest schemat ważenia. Usuwając miły sposób na zbudowanie estymatora jest właściwie wpisać kryteria minimalizacji i wdrożenia gradientu, które przyniesie schemat uczenia się L. Wracając do naszego oryginalnego problemu, potrzebujemy zastosowano matematyki, aby dowiedzieć się, kiedy pary układów dynamicznych w układzie X, kapelusz theta zbiegają się i musimy wiedzieć, jak zbudować schematy szacunkowe L, które zbiegają się w stosunku do pierwotnej theta. To daje wskazówki na takie matematyczne wyniki. Teraz możemy wrócić do drugiego aspekt uczenia się statystycznego, który jest bardzo interesujący dla strategistów handlu kwantem.2 Wyniki udowodnione skuteczności metod uczenia się statystycznego mogą być wykorzystane do udowodnienia skuteczności algorytmów handlowych Aby zobaczyć, że wystarczy przeczytać sprzężony dynamiczny system, który pozwala aby napisać naukę statystyczną lewo MF rho Mn, xi L pi Mn, n koniec prawy. Teraz M są zmiennymi rynkowymi, rho leży u podstaw PnL, L jest strategią handlową Zastąpić minimalizację kryteriów przez max imitując PnL. See na przykład Optymalny podział zamówień na baseny płynnościowe podejście algorytmów stochastycznych autorstwa Gilles Pags, Sophie Laruelle, Charles-Albert Lehalle w tym artykule autorzy pokazują, kto ma zastosować to podejście, aby optymalnie podzielić kolejność na różne ciemne baseny jednocześnie uczenie się zdolności banków do zapewnienia płynności i wykorzystywania wyników do handlu. Narzędzia do statystycznego uczenia się mogą być wykorzystane do tworzenia iteracyjnych strategii handlowych, z których większość jest iteracyjna i udowodnić swoją efektywność. Krótka i brutalna odpowiedź brzmi: ML i Statystyki nie jest czymś, co można rozstrzygnąć dobrze w ciągu jednego lub dwóch lat Mój rekomendowany horyzont czasowy, aby nauczyć się czegoś nietuzinkowego jest 10 lat ML nie przepis na zarabianie pieniędzy, ale tylko inny sposób obserwowania rzeczywistości Drugi, ponieważ jakikolwiek dobry statystyk wie że zrozumienie danych i problemowej domeny to 80 prac To dlatego masz statystykę skupiającą się na analizie danych fizyki, genomiki, sabermetrii itp. Do zapisu Jerome Friedman, współautor cytowanego powyżej ESL, jest fizykem i nadal zajmuje uprzejmą pozycję w SLAC. A więc, badaj statystyki i finanse na kilka lat. Bądź cierpliwy Idź na własną drogę. Może zmienić się Feb 9 11 at 4 41. Całkowicie się zgadzam Tylko dlatego, że znasz naukę maszyn i statystyki, nie oznacza to, że wiesz, jak go zastosować do finansowania dr Mike'a 10 sierpnia w wieku 20 25. Ważne jest, aby pamiętać, że wygrałeś nie będę handlować ludźmi, będziesz handlować przeciwko innym sztucznym algorytmom sztucznej inteligencji, którzy obserwują twoje transakcje i wściekle obliczają szanse, że ci kolekcjonerzy spieszyliby się z powodu wyprodukowanego spadku i biorąc to niewielkie straty w tworzeniu skoku zanurzyć i oszukać wszystkie te AI do zatrzymania się, a następnie zwijanie z powrotem do niego i jeździć na fali, zarabiając straty na giełdzie jest gra z sumy zerowej, traktuj ją jak wprowadzenie pro bokserskie meczu, jeśli aren ta 20 letni weteran, idziesz do lo se Eric Leschinski Feb 13 16 at 1 56.One podstawowe zastosowanie przewiduje finansowych distress. Get kilka danych z niektórych firm, które zostały niewykonane, a inni, że haven t, z różnych informacji finansowych i ratios. Use metody uczenia maszyn takich jak SVM, czy można przewidzieć, które firmy będą domyślne, a które nie będą używać tego SVM w przyszłości do krótkich firm o wysokim stopniu prawdopodobieństwa i długich, niskokosztowych firmach domyślnych, z przychodami z krótkiej sprzedaży. mówiąc Wybierając grosze przed wałkami parowymi Robisz to, co odpowiada sprzedaży zła pieniędzy W tym przypadku będziesz robić małe zyski przez wiele lat, a następnie całkowicie oczyścić, gdy rynek spada co 10 lat czy też nie ma równoważnej strategii, która kupuje pieniądze, stracą pieniądze przez wiele lat, a potem zabijają, gdy rynek się rozpada Zobacz Talab s Czarny łabędź Contango 5 czerwca na 22 20. Pamiętaj, firmy spędziły hund w ciągu ostatnich 40 lat rozmawiałem z niektórymi wieżami umysłu, odpowiedzialnymi za alfy nad Cytadą i Goldmanem Sachsem, czerwoną miliardów dolarów i godzinami pracy człowieka, a także pomysły na myślenie nowicjuszy mogą zebrać algorytm, który pójdzie do stóp do głowy z nimi, i wygrać, jest prawie tak głupi, jak dziecko mówiące, że on będzie skakać na księżyc Dobry dzieciak, i uważaj na kosmicznych martianów Nie mówić nowych ale szanse są przeciwko tobie Eric Leschinski 13 lutego w 2 00. Jedną z możliwości zbadania jest użycie narzędzia do nauki maszyn wirtualnych na platformie Metatrader 5 Po pierwsze, jeśli nie znasz tego, Metatrader 5 jest platformą opracowaną dla użytkowników, aby wdrożyć algorytmiczny handel na rynku forex i CFD Nie jestem pewien, czy platforma może zostać rozszerzona na akcje i inne rynki Jest ona zazwyczaj stosowana w strategiach analizy technicznej, tj. Przy użyciu wskaźników opartych na hist które są wykorzystywane przez osoby, które chcą zautomatyzować ich handel. Narzędzie wspomagania nauki maszyn wirtualnych zostało opracowane przez jedną z społeczności użytkowników, aby umożliwić stosowanie wektora wsparcia wektora do wskaźników technicznych i doradzanie w handlu. Bezpłatna wersja demonstracyjna można go pobrać tutaj, jeśli chcesz dalej zbadać. Jak rozumiem, narzędzie używa historycznych danych dotyczących cen w celu oceny, czy transakcje hipotetyczne w przeszłości byłyby udane. Następnie dane te są gromadzone wraz z wartościami historycznymi z wielu konfigurowalnych wskaźniki MACD, oscylatory itp. i wykorzystuje to do wyszkolenia maszyny wektora wspomagania Następnie wykorzystuje wyszkoloną maszynę wektora wsparcia, aby sygnalizować przyszłe transakcje kupna Sprzedaj lepsze desciption można znaleźć na link. I grał z nim trochę z bardzo interesujące wyniki, ale jak w przypadku wszystkich algorytmicznych strategii handlowych polecam solidne testy przed przetestowaniem na rynek na żywo. odpowiedzi Dec 10 12 at 11 59.Sorr y, ale pomimo tego, że był używany jako popularny przykład w nauce maszyn, nikt nigdy nie osiągnął przewidywania na giełdzie. Nie działa z kilku powodów, aby sprawdzić losowy chód Famy i całkiem sporo innych, racjonalne podejmowanie decyzji, błędne założenia , ale najbardziej przekonujący jest to, że gdyby to zadziałało, ktoś mógłby stać się obłędnie bogaty w ciągu kilku miesięcy, będąc w posiadaniu całego świata. Jak to się nie dzieje i możesz mieć pewność, że cały bank próbował, mamy dobre dowody , że to po prostu nie działa. Bydy Jak myślisz, osiągniesz, co dziesiątki tysięcy specjalistów nie udało się, przy użyciu tych samych metod, a także ograniczone zasoby i tylko podstawowe wersje ich metod. 7 47. Jedynie na marginesie twoich najciekawszych strategii rozumowania mają limity zdolności, tzn. Poziomy, powyżej których Twój wpływ na rynek przekroczyłby dostępną alfę, nawet zakładając, że masz nieograniczony kapitał, nie wiem co masz na myśli rket przewidywania indeksu futures ETF s, ale na pewno jest wiele osób robiących krótkoterminowe prognozy i korzystając z nich, codziennie na rynkach afekz 23-go listopada 15 w wieku 13 19. Powtarzam wiele tego, co napisał Shane Oprócz czytania ESL, Proponowałbym jeszcze bardziej fundamentalne badanie statystyk na pierwszym miejscu. Problemy, które przedstawiłem w innym pytaniu na temat tej wymiany są bardzo istotne W szczególności problem biografii dataminy jest poważnym przeszkodą we wszystkich strategiach opartych na mechanice uczenia się. Ten post będzie szczegółowo, co zrobiłem, aby około 500 tys. z handlu wysokimi częstotliwościami od 2009 do 2017 r. Odkąd byłem całkowicie niezależny i nie prowadzę już swojego programu chętnie opowiadam wszystkim moim transakcjom głównie w Russel 2000 i kontraktach futures DAX. moim zdaniem, moim zdaniem, nie był w wyrafinowanym równaniu finansowym, a raczej w ogólnym algorytmie projektowania, który wiązał wiele prostych elementów i wykorzystywał naukę maszyn do optymalizacji dla maksymalnego prof itability Zdobyłeś potrzebę znajomości jakiejkolwiek zaawansowanej terminologii tutaj, ponieważ podczas instalacji mojego programu wszystko opierało się na intuicyjnym Andrew Ng s niesamowitym kursie uczenia maszyn nie był jeszcze dostępny - btw jeśli klikniesz ten link zostaniecie przeniesieni do mojego obecnego projektu CourseTalk , miejsce przeglądu MOOCs. First, chcę tylko pokazać, że mój sukces nie był po prostu skutkiem szczęścia Mój program robił 1000-4000 transakcji dziennie pół długie, pół krótkie i nigdy nie dostał się na pozycje o więcej niż kilka umów na czas Oznaczało to, że szczęście losowe z jednego konkretnego handlu wyniosło dość szybko Wynik był nigdy nie stracił więcej niż 2000 w jednym dniu i nigdy nie miał miesiąca traci. EDYCJA Te liczby są po wypłaceniu prowizji. I tutaj jest wykres, aby dać poczucie codziennej odmiany Uwaga, że ​​wyklucza to przez ostatnie 7 miesięcy, ponieważ - jak postacie przestały wchodzić - straciłem moją motywację, aby wejść do nich. Moje tło handlowe. Prior do założenia mojego zautomatyzowanego programu handlowego I d miał 2 lata doświadczenia jako handel ręczny dzień To było w 2001 roku - to były wczesne dni handlu elektronicznego i nie było możliwości dla skalperów, aby zarabiać pieniądze Mogę tylko opisać, co robiłem jak na przykład grając w gry wideo z domniemaną krawędzią Udane osiągnięcie oznacza szybkie, bycie zdyscyplinowanym i posiadanie dobrego intuicyjnego rozpoznawania wzorców, dzięki któremu mogłem zrobić około 250 tys., spłacić moje pożyczki studenckie i pieniądze pozostawione przez firmę Win. Over w ciągu najbliższych pięciu lat chciałbym uruchomić dwa starty, podnosząc umiejętności programowania po drodze Nie byłoby aż do końca 2008 roku, że wrócę do handlu Z pieniędzmi na niskim poziomie ze sprzedaży mojego pierwszego uruchomienia, handel oferował nadzieje na szybką gotówkę, a ja zorientowałem się w moim następnym ruchu. W 2008 r. byłem ręcznie dzień handlu futures używając oprogramowania o nazwie T4 I byłem chcieć niektórych dostosowanych klawiszy wejściowych zamówień, więc po odkryciu T4 miał API, podjąłem wyzwanie nauki C języka programowania wymagane do korzystania z interfejsu API i poszedłem naprzód i zbudowałem się kilka klawiszy skrótu. After coraz moje stopy mokre z API wkrótce miał większe aspiracje chciałem nauczyć komputer do handlu dla mnie API dostarczył zarówno strumień dane rynkowe i prosty sposób wysyłania zamówień na wymianę - wszystko, co musiałem zrobić, to stworzenie logiki w środku. Poniżej znajduje się zeskanowanie okna handlowego T4 Co było fajne, kiedy dostałem program do pracy, byłem w stanie uważaj na handel komputerowy na tym dokładnie tym samym interfejsu Oglądanie prawdziwych zamówień, które pojawiają się i kończąc samymi pieniędzmi, było zarówno emocjonujące, jak i przerażające. Konstrukcja mojego algorytmu. Początkowo miałem na celu ustawienie takiego systemu, współ nfident I d zarabiać pieniądze przed dokonaniem jakichkolwiek transakcji na żywo Aby to osiągnąć potrzebowałem zbudować ramę symulacji handlowej, która - tak dokładnie jak to możliwe - symulować transakcje na żywo. Gdy transakcja na żywo wymaga przetworzenia, aktualizacje rynkowe przesyłane strumieniowo przez interfejs API, tryb symulacji wymagane aktualizacje rynku z pliku danych Aby zebrać te dane, skonfiguruj pierwszą wersję mojego programu, aby po prostu połączyć się z interfejsem API i zapisywać aktualizacje rynkowe z znacznikami czasu. Skończyłem korzystanie z ostatnich 4-tygodniowych danych rynkowych, aby szkolić i testować mój system na. Z podstawowej ramie na miejscu wciąż miałem zadanie dowiedzieć się, jak zrobić korzystny system handlowy Jak okazuje się mój algorytm rozbiłby się na dwa odrębne komponenty, które będę zbadać z kolei. Dokonywanie zmian cen i. Tworzenie zysków handel. Przedyżanie ruchów cen. Prawdopodobnie oczywistym składnikiem jakiegokolwiek systemu handlowego jest możliwość przewidzenia, gdzie ceny będą się przemieszczać I moje nie było wyjątkiem Wyznaczałem obecny cena jako średnia z oferty wewnętrznej i oferty wewnętrznej i wyznaczam cel przewidywania, gdzie cena będzie w ciągu najbliższych 10 sekund Mój algorytm musiałby wystąpić z tym przewidywaniem moment przez moment w ciągu dnia handlowego. Optymalizacja produkcji wskaźniki. Stworzyłem kilka wskaźników, które okazały się mieć znaczącą zdolność do przewidywania krótkoterminowych zmian cen Każdy wskaźnik wytworzył liczbę, która była dodatnia lub ujemna Wskaźnik był użyteczny, gdyby częściej niż nie dodatnia liczba odpowiadała wzrastającym rynkowi a liczba ujemna odpowiadała rynkowi zejściem. Mój system pozwalał mi szybko określić, ile wskaźnika predykcyjnego miał wskaźnik, więc mogłem eksperymentować z wieloma różnymi wskaźnikami, aby zobaczyć, co działało Wiele wskaźników miało zmienne w formułach że je wytworzyłem i udało mi się znaleźć optymalne wartości dla tych zmiennych, wykonując porównania wyników osiągniętych z różnymi wartościami. dicatory, które były najbardziej przydatne były stosunkowo proste i opierały się na ostatnich wydarzeniach na rynku byłem obrotu, a także rynków skorelowanych papierów wartościowych. Dokładne prognozy zmian cen. Wskaźniki, które po prostu przewidywały wzrost lub spadek cen nie było wystarczająco dużo Musiałem dokładnie wiedzieć, jak wiele przewidywanych ruchów cenowych przez każdą możliwą wartość każdego wskaźnika potrzebowałem formuły, która umożliwiłaby przeliczanie wartości wskaźnika na predykcję cen. Aby to osiągnąć, śledziłem prognozowane zmiany cen w 50 wiadrach, które zależały od zakresu wartość wskaźnika spadła To wydało unikalne prognozy dla każdego wiadra, który byłem w stanie wydrukować w programie Excel Jak widać oczekiwaną zmianę ceny wzrasta wraz ze wzrostem wskaźnika. Na wykresie mogłem utworzyć formułę aby dopasować się do krzywej Na początku wykonałem tą krzywą ręcznie, ale wkrótce napisałem jakiś kod, aby zautomatyzować ten proces. Zwróć uwagę, że nie wszystkie krzywe wskaźników miały takie same hape Zwróć uwagę, że wiadra były rozłożone logicznie, aby rozłożyć punkty danych równomiernie Na koniec zwróć uwagę, że ujemne wartości wskaźników i ich odpowiadające im prognozy spadku cen zostały odwrócone i połączone z wartościami dodatnimi Mój algorytm traktował w górę iw dół dokładnie te same wskaźniki dla pojedynczego że każdy wskaźnik nie był całkowicie niezależny, nie mogłem po prostu podsumować wszystkich przewidywań, które każdy wskaźnik wykonał indywidualnie. Kluczem było ustalenie dodatkowej predykcyjnej wartości, którą każdy wskaźnik wykraczał poza to, czego się spodziewano nie było trudne do wdrożenia, ale oznaczało to, że jeśli byłem krzywy dopasowany do wielu wskaźników w tym samym czasie musiałam ostrożnie zmieniać jeden mógłby wpłynąć na przewidywania innego. W celu dopasowania wszystkich wskaźników w tym samym czasie I skonfiguruj optymalizator, aby przejść krok 30 w stronę nowych krzywych predykcji z każdym przejściem. Z tym 30 skoku znalazłem że krzywe predykcji ustabilizują się w ciągu kilku przejazdów. Z każdym wskaźnikiem, który teraz daje nam dodatkową przewidywaną cenę, można po prostu dodać je do pojedynczego przewidywania, gdzie rynek będzie wynosić 10 sekund. Dlaczego prognozowanie cen nie wystarczy? Można by pomyśleć, że z tej przewagi na rynku byłem złoty Ale trzeba pamiętać, że rynek składa się z ofert i ofert - to nie tylko jedna cena rynkowa Sukces w handlu wysokimi częstotliwościami sprowadza się do uzyskania dobrych cen i to nie takie proste. Następujące czynniki powodują, że tworzenie zyskownego systemu jest trudne. Z każdym handlem musiałem płacić prowizje zarówno dla mojego maklera, jak i wymiany. Różnica między najwyższą ofertą a najniższą ofertą oznaczała, że ​​jeśli miałbym po prostu kupić sprzedaj losowo I d być tracąc mnóstwo pieniędzy. Większości wolumenu rynku były inne boty, które tylko przeprowadzić handel ze mną, jeśli myślą, że mieli jakieś statystyczne krawędzi. Sekcja oferty nie gwarantuje, że mogłaby go kupić czas moje zamówienie kupna dotarła do wymiany było bardzo możliwe, że oferta ta została odwołana. Jak mały gracz na rynku nie było sposobu, w jaki mogłbym konkurować na szybkość sam. Budując pełną symulację handlu. Więc miałem ramy, które pozwoliły mi do testów wstecznych i zoptymalizowania wskaźników Ale musiałem wykraczać poza to - potrzebowałem ramy, które umożliwiłyby mi sprawdzenie wyników i zoptymalizowanie pełnego systemu handlowego, w którym wysyłałem zamówienia i dostając się do pozycji W tym przypadku muszę optymalizować łączny koszt PL i do pewnego stopnia przeciętnego PL na handel. Byłoby to trudniejsze i w pewnym sensie niemożliwe do dokładnego modelowania, ale zrobiłem tak, jak tylko potrafię. Oto niektóre z problemów, z którymi musiałem się zmierzyć. Kiedy zlecenie zostało wysłane na rynek w symulacji Musiałem modelować czas opóźnienia Fakt, że mój system widział ofertę, nie oznaczałby, że może ją kupić od razu System będzie wysyłał zamówienie, poczekaj około 20 milisekund, a potem tylko wtedy, gdy oferta nadal była tam uznawana za wykonany handel Było to niedokładne, ponieważ rzeczywisty czas opóźnienia był niespójny i nieudokumentowany. Kiedy składałem oferty lub oferty, musiałem przyjrzeć się strumieniom transakcji handlowej dostarczanym przez interfejs API i używać tych, aby ocenić, kiedy moje zamówienie zostanie wykonane. Aby to zrobić, musiałem śledzić pozycję mojego zamówienia w kolejce To sa pierwszy w pierwszym systemie Poza tym nie mogłem tego zrobić idealnie, ale zrobiłem najlepsze przybliżenie. Aby doprecyzować moje wykonanie zamówienia symulacji, co zrobiłem zabierał moje pliki dziennika z żyć transakcją za pośrednictwem interfejsu API i porównać je z plikami rejestracyjnymi wytworzonymi przez symulowany handel z tego samego okresu czasu byłem w stanie uzyskać moją symulację do tego stopnia, że ​​to było dość dokładne i dla części, które nie były w stanie dokładnie dokładnie modelować co najmniej wyniki, które były statystycznie podobne w metrykach Myślałem, że były ważne. Making zyskiem trades. With model symulacji zamówienia w miejscu można teraz wysłać zamówienia w trybie symulacji i zobaczyć symulowany PL Ale jak m system y wiedzą, kiedy i gdzie kupić i sprzedawać. Prognozy dotyczące przesunięć cen były punktem wyjścia, ale nie całą historię Co zrobiłem stworzyłem system punktacji dla każdego z 5 poziomów cen w ofercie i ofercie Obejmują one jeden poziom powyżej wewnątrz stawka na zlecenie kupna i jeden poziom poniżej oferty wewnętrznej dla zlecenia sprzedaży. Jeśli wynik na jakimkolwiek poziomie cenowym był powyżej pewnego progu, co oznaczałoby, że mój system powinien mieć aktywną ofertę ofertową - poniżej progu, to wszystkie aktywne zamówienia powinny być anulowane W oparciu o to nie było rzadkością, że mój system będzie błyskawicznie licytować na rynku, a następnie natychmiast go anulować Chociaż starałem się zminimalizować to, jak to irytujące jak heck dla każdego, kto patrzy na ekran z ludzkimi oczami - w tym me. The oceny na poziomie ceny zostały obliczone na podstawie następujących czynników. Prognoza przeniesienia ceny, o której mówiliśmy wcześniej. Poziom cen, o którym mowa Poziom wewnętrzny oznacza wyższe oczekiwania na przesunięcie ceny. Liczba kontraktów przed moim kolejność w kolejce Mniej było lepiej Liczbę kontraktów za moim zamówieniem w kolejce Więcej było lepsze. W zasadzie czynniki te służyły do ​​identyfikowania bezpiecznych miejsc oferowania oferty Przewidywanie przeniesienia ceny nie było wystarczające, ponieważ nie uwzględniało to faktu, podczas składania oferty nie zostałem automatycznie napełniony - napełniłam się tylko wtedy, gdy ktoś mi sprzedał. Rzeczywistość polegała na tym, że sam fakt sprzedania mi kogoś za pewną cenę zmienił statystyczne szanse na handel. Zmienne stosowane w tym kroku wszystkie zostały zoptymalizowane To zostało zrobione w dokładnie taki sam sposób, jak zoptymalizowane zmienne w wskaźnikach przesunięcia cen, z wyjątkiem tego, że optymalizowałem dla dolnej linii P L. W moim ignorowanym programie. Kiedy handel ludźmi często mamy potężne emocje i uprzedzenia, które mogą prowadzić do mniej niż optymalnych decyzji Jasne, że nie chcę kodyfikować tych uprzedzeń Poniżej kilka czynników, które mój system zignorował. Cena, która została wprowadzona - W biurze handlowym jest to dość powszechne to hear conversation about the price at which someone is long or short as if that should effect their future decision making While this has some validity as part of a risk reduction strategy it really has no bearing on the future course of events in the market Therefore my program completely ignored this information It s the same concept as ignoring sunk costs. Going short vs exiting a long position - Typically a trader would have different criteria that determines where to sell a long position versus where to go short However from my algorithms perspective there was no reason to make a distinction If my algorithm expected a downward move selling was a good idea regardless of if it was currently long, short, or flat. A doubling up strategy - This is a common strategy where traders will buy more stock in the event that there original trade goes against them This results in your average purchase price being lower and it means when or if the stock turns around you ll be set to make your mon ey back in no time In my opinion this is really a horrible strategy unless you re Warren Buffet You re tricked into thinking you are doing well because most of your trades will be winners The problem is when you lose you lose big The other effect is it makes it hard to judge if you actually have an edge on the market or are just getting lucky Being able to monitor and confirm that my program did in fact have an edge was an important goal. Since my algorithm made decisions the same way regardless of where it entered a trade or if it was currently long or short it did occasionally sit in and take some large losing trades in addition to some large winning trades But, you shouldn t think there wasn t any risk management. To manage risk I enforced a maximum position size of 2 contracts at a time, occasionally bumped up on high volume days I also had a maximum daily loss limit to safeguard against any unexpected market conditions or a bug in my software These limits were enforced in my code bu t also in the backend through my broker As it happened I never encountered any significant problems. Running the algorithm. From the moment I started working on my program it took me about 6 months before i got it to the point of profitability and begun running it live Although to be fair a significant amount of time was learning a new programming language As I worked to improve the program I saw increased profits for each of the next four months. Each week I would retrain my system based on the previous 4 weeks worth of data I found this struck the right balance between capturing recent market behavioral trends and insuring my algorithm had enough data to establish meaningful patterns As the training began taking more and more time I split it out so that it could be performed by 8 virtual machines using amazon EC2 The results were then coalesced on my local machine. The high point of my trading was October 2009 when I made almost 100k After this I continued to spend the next four months t rying to improve my program despite decreased profit each month Unfortunately by this point I guess I d implemented all my best ideas because nothing I tried seemed to help much. With the frustration of not being able to make improvements and not having a sense of growth I began thinking about a new direction I emailed 6 different high frequency trading firms to see if they d be interested in purchasing my software and hiring me to work for them Nobody replied I had some new startup ideas I wanted to work on so I never followed up. UPDATE - I posted this on Hacker News and it has gotten a lot of attention I just want to say that I do not advocate anyone trying to do something like this themselves now You would need a team of really smart people with a range of experiences to have any hope of competing Even when I was doing this I believe it was very rare for individuals to achieve success though I had heard of others. There is a comment at the top of the page that mentions manipulated sta tistics and refers to me as a retail investor that quants would gleefully pick off This is a rather unfortunate comment that s simply not based in reality Setting that aside there s some interesting comments. UPDATE 2 - I ve posted a follow-up FAQ that answers some common questions I ve received from traders about this post.

Comments

Popular Posts