Skip to main content

Machine learning options trading


Nie jestem pewien, czy to pytanie pasuje tutaj. Niedawno rozpocząłem, czytając i ucząc się o uczeniu maszynowym. Czy ktoś może rzucić trochę światła na to, jak sobie z tym poradzić, czy raczej może podzielić się swoim doświadczeniem i kilkoma podstawowymi wskazówkami, jak sobie z tym poradzić, lub przynajmniej zacząć stosować go, aby zobaczyć wyniki z zestawów danych. Jak ambitny jest ten dźwięk. standardowe algorytmy, które powinny być wypróbowane lub spojrzeć na to podczas. 11 lutego o 18:35 Wydaje się, że istnieje podstawowy błąd, że ktoś może przyjść i nauczyć się niektórych algorytmów uczenia się lub algorytmów sztucznej inteligencji, ustawić je jako czarną skrzynkę, uderzyć i usiąść, gdy przechodzą na emeryturę. Moja rada: najpierw zapoznaj się ze statystykami i uczeniem maszynowym, a następnie zastanów się, jak zastosować je do danego problemu. Nie ma tu darmowego obiadu. Analiza danych to ciężka praca. Przeczytaj elementy nauki statystycznej (plik pdf jest dostępny za darmo na stronie internetowej) i nie próbuj budować modelu, dopóki nie zrozumiesz co najmniej pierwszych 8 rozdziałów. Gdy zrozumiesz statystyki i uczenie maszynowe, musisz nauczyć się, jak przeprowadzić analizę historyczną i zbudować model handlowy, uwzględniając koszty transakcyjne itp., Który jest zupełnie inny. Po opanowaniu zarówno analizy, jak i finansów, będzie to dość oczywiste, jak ją zastosować. Cały punkt tych algorytmów polega na próbie znalezienia sposobu dopasowania modelu do danych i wygenerowania niskiego odchylenia i odchylenia w przewidywaniu (to znaczy, że błąd przewidywania treningu i testu będzie niski i podobny). Oto przykład systemu transakcyjnego wykorzystującego maszynę wektorów wsparcia w R., ale pamiętaj, że zrobisz sobie ogromną krzywdę, jeśli nie poświęcisz czasu na zrozumienie podstaw, zanim spróbujesz zastosować coś ezoterycznego. Aby dodać zabawną aktualizację: Niedawno natknąłem się na tę magisterską tezę: Nowe algorytmiczne ramy transakcyjne wykorzystujące ewolucję i uczenie maszynowe do optymalizacji portfela (2017). Jest to obszerny przegląd różnych metod uczenia maszynowego w porównaniu z trybem kupuj i trzymaj. Po prawie 200 stronach dochodzą do podstawowego wniosku: żaden system transakcyjny nie był w stanie osiągnąć lepszych wyników niż benchmark przy korzystaniu z kosztów transakcyjnych. Nie trzeba dodawać, że nie oznacza to, że nie można tego zrobić (nie spędziłem czasu na przeglądanie ich metod, aby zobaczyć zasadność podejścia), ale z pewnością dostarcza więcej dowodów na korzyść twierdzenia o braku wolnego lunchu. Odpowiedź 1 lutego o 18:48 Jako jeden z autorów wspomnianej pracy magisterskiej mogę zacytować własną pracę i powiedzieć: "Jeśli ktokolwiek faktycznie osiąga zyskowne wyniki, nie ma motywacji do dzielenia się nimi, ponieważ negowałoby to ich przewagę." Chociaż nasze wyniki mogą wspierać hipotezy rynkowe, nie wyklucza to istnienia systemów, które działają. To może być jak teoria prawdopodobieństwa: "Spekuluje się, że przełomy w dziedzinie teorii prawdopodobieństwa zdarzyły się kilka razy, ale nigdy się nie podzieliły. Może to wynikać z jego praktycznego zastosowania w hazardzie. Może znowu jest to nowoczesna alchemia. ndash Andr233 Christoffer Andersen 30 kwietnia o 10:01 Moje rady dla ciebie: Istnieje kilka oddziałów LearningArtificial Intelligence (MLAI): www-formal. stanford. edujmcwhatisainode2.html Próbowałem tylko programowania genetycznego i niektórych sieci neuronowych, i Osobiście uważam, że nauka z dziedziny doświadczenia wydaje się mieć największy potencjał. GPGA i sieci neuronowe wydają się być najczęściej badaną metodologią do celów prognoz rynkowych, ale jeśli zrobisz eksplorację danych na Predict Wall Street. możesz także przeprowadzić analizę sentymentów. Poświęć trochę czasu na poznawanie różnych technik MLAI, znajdź dane rynkowe i spróbuj wdrożyć niektóre z tych algorytmów. Każdy z nich będzie miał swoje mocne i słabe strony, ale możesz połączyć przewidywania każdego algorytmu w przewidywaniu złożonym (podobnie jak zrobili to zwycięzcy nagrody NetFlix). Niektóre zasoby: Oto niektóre zasoby, które możesz chcieć sprawdzić: The Chatter: Ogólny konsensus wśród handlowców polega na tym, że sztuczna inteligencja jest nauką voodoo, nie możesz zrobić komputerowego prognozowania cen akcji i z pewnością stracisz swoje pieniądze, jeśli spróbujesz robić to. Niemniej jednak ci sami ludzie powiedzą, że tylko na temat jedynego sposobu zarabiania na rynku akcji jest budowanie i ulepszanie własnej strategii handlowej i ścisłe śledzenie jej (co nie jest złym pomysłem). Idea algorytmów sztucznej inteligencji nie polega na budowaniu Chipa i pozwala mu handlować za ciebie, ale zautomatyzować proces tworzenia strategii. Jest to bardzo żmudny proces i wcale nie jest to łatwe :). Minimalizowanie przeuczeń: jak słyszeliśmy wcześniej, podstawową kwestią związaną z algorytmami sztucznej inteligencji jest przeuczenie (np. Błąd dataminingu): biorąc pod uwagę zestaw danych, algorytm sztucznej inteligencji może znaleźć wzór, który jest szczególnie istotny dla zestawu treningowego. ale może nie mieć znaczenia w zestawie testowym. Istnieje kilka sposobów na zminimalizowanie przeuczenia: użyj zestawu sprawdzania poprawności. nie przekazuje informacji zwrotnej do algorytmu, ale pozwala wykryć, kiedy algorytm potencjalnie zaczyna się przepełniać (np. możesz przestać trenować, jeśli zbytnio się przekręcasz). Korzystaj z uczenia maszynowego online. w dużej mierze eliminuje potrzebę testowania wstecznego i jest bardzo przydatny w przypadku algorytmów, które próbują przewidywać rynki. Nauka w zespole. zapewnia sposób na wykorzystanie wielu algorytmów uczenia maszynowego i połączenie ich przewidywań. Założono, że różne algorytmy mogą nadpisywać dane w pewnym obszarze, ale poprawna kombinacja ich przewidywań będzie miała lepszą moc predykcyjną. Dwa aspekty uczenia się statystycznego są użyteczne w handlu 1. Najpierw wspomniane wcześniej: niektóre metody statystyczne skoncentrowane na pracy na żywych zbiorach danych. Oznacza to, że wiesz, że obserwujesz jedynie próbkę danych i chcesz ją ekstrapolować. W związku z tym musisz poradzić sobie z próbkami i problemami z próbkami, przeuczeniem i tak dalej. Z tego punktu widzenia eksploracja danych koncentruje się bardziej na martwych zestawach danych (tzn. Można zobaczyć prawie wszystkie dane, masz problem tylko w próbce) niż uczenie się statystyczne. Ponieważ uczenie się w statystyce polega na pracy na żywym zestawie danych, stosowane matematyki, które mają do czynienia z nimi muszą skupić się na problem dwóch skal: lewy X ampampa Ftheta (Xn, xi) wzmacniacz L (pi (Xn), n) koniec prawo. gdzie X jest (wielowymiarową) przestrzenią stanu do zbadania (masz w niej zmienne objaśniające i te, które można przewidzieć), F zawiera dynamikę X, która potrzebuje pewnych parametrów theta. Losowość X pochodzi od innowacji xi, która jest i. i.d. Celem uczenia się statystycznego jest zbudowanie metodologii L-as jako danych wejściowych do częściowej obserwacji pi X i stopniowe dostosowanie oszacowania hattheta teta, tak abyśmy wiedzieli wszystko, co jest potrzebne na X. Jeśli myślisz o użyciu statystycznego uczenia się, aby znaleźć parametry regresji liniowej. możemy modelować przestrzeń stanu w następujący sposób: underbrace yx end right) left zaczynamy amp b amp 1 1 amp 0 amp 0 end right cdot underbrace x 1 epsilon end right) co pozwala obserwować (y, x) n przy dowolnym n tutaj theta (a, b). Następnie musisz znaleźć sposób na stopniowe budowanie estymatora theta przy użyciu naszych obserwacji. Dlaczego nie gradientowe zejście na odległość L2 między y a regresją: C (hat a, hat b) n sum (yk - (hat a, xk hat b)) 2 Tutaj gamma jest schematem ważenia. Zwykle dobrym sposobem na zbudowanie estymatora jest odpowiednie zdefiniowanie kryteriów minimalizacji i wdrożenia gradientowego zejścia, które wytworzy schemat uczenia się. Wracając do naszego pierwotnego problemu ogólnego. potrzebujemy trochę matematyki, aby wiedzieć, kiedy pary dynamicznych systemów w X, hatthecie) zbiegają się, i musimy wiedzieć, jak zbudować schematy szacowania L, które zbiegają się w kierunku oryginalnego teta. Aby dać ci wskazówki na temat takich wyników matematycznych: Teraz możemy wrócić do drugiego aspektu uczenia się statystycznego, który jest bardzo interesujący dla ekonomistów kwantowych: 2. Wyniki wykorzystane do udowodnienia efektywności metod uczenia się statystycznego można wykorzystać do wykazania skuteczności algorytmy transakcyjne. Aby zobaczyć, że wystarczy ponownie przeczytać sprzężony układ dynamiczny, który umożliwia zapisanie uczenia się statystycznego: lewy M wzmacniacz Frho (Mn, xi) wzmacniacz L (pi (Mn), n) koniec prawo. Teraz M są zmiennymi rynkowymi, rho jest podstawą PnL, L jest strategią handlową. Wystarczy zastąpić minimalizację kryteriów, maksymalizując wartość PnL. Zobacz na przykład optymalny podział zamówień między pulami płynności: algorytm stochatyczny według: Gilles Pags, Sophie Laruelle, Charles-Albert Lehalle. w tym artykule autorzy pokazują, kto zastosuje to podejście, aby optymalnie podzielić zamówienie na różne ciemne pule, jednocześnie ucząc się zdolności puli do zapewnienia płynności i wykorzystania wyników do handlu. Statystyczne narzędzia do nauki można wykorzystać do tworzenia iteratywnych strategii handlowych (większość z nich jest iteratywna) i udowodnić ich skuteczność. Krótka i brutalna odpowiedź brzmi: nie. Po pierwsze, ponieważ ML i Statystyki nie są czymś, co można dobrze opanować w ciągu jednego lub dwóch lat. Mój zalecany horyzont czasowy, aby nauczyć się czegoś niebanalnego, to 10 lat. ML nie jest receptą na zarabianie pieniędzy, ale tylko innym sposobem na obserwowanie rzeczywistości. Po drugie, każdy dobry statystyk wie, że zrozumienie danych i domena problemu to 80 prac. To dlatego macie statystyków skupiających się na analizie danych fizyki, genomice, sabermetrii itp. Dla przypomnienia, Jerome Friedman, współautor wyżej cytowanego ESL, jest fizykiem i nadal ma uprzejmą pozycję w SLAC. Więc studiuj statystyki i finanse przez kilka lat. Bądź cierpliwy. Idź swoją drogą. Przebieg może się różnić. odpowiedziano 9 lutego 11 o 4:41 Całkowicie się zgadzam. Tylko dlatego, że znasz system uczenia maszynowego i statystyki, nie oznacza to, że wiesz, jak zastosować go do finansowania. ndash Dr. Mike Aug 10 11 o 20:25 Ważną rzeczą do zapamiętania jest to, że nie będziesz handlował z ludźmi, będziesz handlował z innymi algorytmami sztucznej inteligencji, którzy obserwują twój stos zawodów i wściekle obliczają szanse, że zbiorowy użytkownik zostałby wystraszony przez wytworzony spadek i poniósłby niewielką stratę w stworzeniu spikedipu i oszukania wszystkich tych AI39 w celu zatrzymania się, a następnie przetaczania z powrotem do niego i jazdy na fali, zarabiając na swoich stratach. Giełda jest grą o sumie zerowej, traktuj ją jak wejście do pro boksowego meczu, jeśli nie masz 20 lat weterana, stracisz nash Eric Leschinski 13 lutego 16 o 1:56 Jedna z podstawowych aplikacji przewiduje nieprzyjemności finansowe. Zdobądź kilka danych z niektórymi firmami, które wyłączyły, a inne nie, z różnorodnymi informacjami finansowymi i wskaźnikami. Użyj metody uczenia maszynowego, takiej jak SVM, aby sprawdzić, czy możesz przewidzieć, które firmy będą domyślne, a które nie. Wykorzystaj tę maszynę SVM w przyszłości w przypadku krótkich firm o wysokim prawdopodobieństwie niewykonania zobowiązania i spółek o niskim prawdopodobieństwie niewykonania zobowiązania, z zyskami z krótkiej sprzedaży. Jest takie powiedzenie, jak cytowanie pieniążków przed parową rolką. Wykonujesz ekwiwalent sprzedaży out-of-the-money. W tym przypadku będziesz miał niewielkie zyski przez lata, a następnie całkowicie się oczyścisz, gdy rynek zacznie topnieć co 10 lat. Istnieje również odpowiednia strategia, która kupuje out-of-the-money stawia: tracą pieniądze przez lata, a następnie zabijają, gdy rynek się rozpuści. Zobacz Talab39s The Black Swan. ndash Contango Jun 5 11 o 22:20 Pamiętaj, że międzynarodowe firmy wydały setki miliardów dolarów i godzin pracy na najlepsze i najjaśniejsze umysły sztucznej inteligencji w ciągu ostatnich 40 lat. Rozmawiałem z niektórymi wieżami umysłu odpowiedzialnymi za alfy w Cytadeli i Goldman Sachs, a pycha od nowicjuszy, by sądzić, że potrafią zbudować algorytm, który będzie z nimi walczył i wygra, jest prawie tak głupi jak dziecko, które mówi ci, że będzie skakać na Księżyc. Żartuj powodzenia i uważaj na kosmicznych marsjanów. Nie można powiedzieć, że nie można stworzyć nowych mistrzów, ale szanse są przeciwko tobie. ndash Eric Leschinski 13 lutego 16 o 2:00 Jedną z możliwości eksploracji jest użycie narzędzia do uczenia maszynowego wektorów wsparcia na platformie Metatrader 5. Po pierwsze, jeśli nie jesteś tego zaznajomiony, Metatrader 5 to platforma opracowana dla użytkowników, którzy chcą wdrożyć algorytmiczny handel na rynkach walutowych i forex (nie jestem pewien, czy platforma może zostać rozszerzona na akcje i inne rynki). Zwykle jest on stosowany w strategiach opartych na analizie technicznej (tzn. Przy użyciu wskaźników opartych na danych historycznych) i jest używany przez osoby, które chcą zautomatyzować swoje transakcje. Narzędzie do uczenia maszynowego wektorów wsparcia zostało opracowane przez jedną ze społeczności użytkowników w celu umożliwienia stosowania maszyn wektorów pomocniczych do wskaźników technicznych i doradzania w transakcjach. Darmowa wersja demo tego narzędzia można pobrać tutaj, jeśli chcesz zbadać dalej. Jak rozumiem, narzędzie wykorzystuje historyczne dane cenowe do oceny, czy hipotetyczne transakcje w przeszłości zakończyłyby się sukcesem. Następnie bierze te dane wraz z wartościami historycznymi z wielu konfigurowalnych wskaźników (MACD, oscylatory itp.) I używa tego do wyszkolenia maszyny wektorowej. Następnie wykorzystuje wyszkoloną maszynę wektorów wsparcia do sygnalizowania przyszłych transakcji kupna. Lepsze opisy można znaleźć pod linkiem. Grałem z nim trochę z bardzo interesującymi rezultatami, ale tak jak w przypadku wszystkich algorytmicznych strategii handlowych, polecam solidne testy wstecz, zanim przejdę na rynek. odpowiedziała 10 grudnia o 11:59 Niestety, ale pomimo tego, że był używany jako popularny przykład w uczeniu maszynowym, nikt nigdy nie osiągnął prognoz rynkowych. To nie działa z kilku powodów (sprawdź losowy spacer Famy i całkiem sporo innych, racjonalne podejmowanie decyzji błędnych, błędne założenia.), Ale najbardziej przekonujące jest to, że gdyby to zadziałało, ktoś mógłby stać się szalenie bogaty w ciągu kilku miesięcy, w zasadzie posiadanie całego świata. Ponieważ tak się nie dzieje (i możesz być pewien, że wszystkie banki próbowały), mamy dobre dowody, że to po prostu nie działa. Poza tym: Jak myślisz, w jaki sposób osiągniesz to, czego nie udało się dziesiątkom tysięcy profesjonalistów, używając tych samych metod, które mają, a także ograniczonych zasobów i tylko podstawowe wersje ich metod odpowiedziały 4 czerwca o 7:47 Tylko na bok powód, dla którego warto rozumieć: strategie mają ograniczenia zdolności, tj. poziomy, powyżej których twój wpływ na rynek przekroczyłby dostępny poziom alfa, nawet przy założeniu, że masz nieograniczony kapitał. Nie jestem pewien, co rozumiesz przez prognozę rynku giełdowego (indeks futures ETF39), ale na pewno jest wiele osób, które na co dzień robią prognozy krótkoterminowe i korzystają z nich na rynkach. ndash afekz 23 listopada 15 o 13:19 Mam echo tego, co napisał Shane. Oprócz czytania ESL sugerowałbym jeszcze bardziej podstawowe badanie statystyki. Poza tym problemy, które przedstawiłem w innym pytaniu dotyczącym tej wymiany, są bardzo istotne. W szczególności problem związany z docieraniu danych jest poważną przeszkodą dla każdej strategii opartej na uczeniu się maszynowym. Ten post szczegółowo określi, co zrobiłem, aby zrobić około. 500k z transakcji o wysokiej częstotliwości od 2009 do 2017 roku. Ponieważ handlowałem całkowicie niezależnie i nie używam już mojego programu, Irsquom z radością mówi wszystko. Moje transakcje były głównie w kontraktach futures na rok 2000 i DAX. Kluczem do mojego sukcesu, jak sądzę, nie było wyrafinowane równanie finansowe, ale raczej ogólny projekt algorytmu, który wiązał ze sobą wiele prostych komponentów i używane uczenie maszynowe w celu optymalizacji w celu uzyskania maksymalnej rentowności. Nie musisz znać żadnej wyrafinowanej terminologii, ponieważ kiedy konfigurowałem program, wszystko opierało się na intuicji. (Niezwykły kurs nauki maszynowej Andrew Ngrsquosa nie był jeszcze dostępny - po kliknięciu tego linku Twoje zapytanie zostanie przeniesione do mojego bieżącego projektu: CourseTalk, strona z recenzjami dla MOOC) Po pierwsze, chcę tylko pokazać, że mój sukces nie był jedynie wynikiem szczęście. Mój program zawierał transakcje o wartości 1000-4000 dziennie (półdługie, pół-krótkie) i nigdy nie zajmował pozycji więcej niż kilka kontraktów na raz. Oznaczało to, że losowe szczęście z jakiejś konkretnej transakcji uśredniono dość szybko. Rezultatem było to, że nigdy nie straciłem więcej niż 2000 w jeden dzień i nigdy nie miałem przegranego miesiąca: (EDYCJA, te liczby są po zapłaceniu prowizji) I tutaj jest wykres, który daje odczucie codziennej zmienności. Zauważ, że to wyklucza ostatnie 7 miesięcy, ponieważ - ponieważ liczby przestały rosnąć - straciłem motywację, aby je wprowadzić. Moje zaplecze handlowe Przed założeniem mojego automatycznego programu handlowego, Irsquod miał 2-letnie doświadczenie jako trader dnia handlowego. To było w 2001 roku - było to początkiem handlu elektronicznego i istniały możliwości, aby ldquoscalpersrdquo zarabiać pieniądze. Mogę tylko opisać, co robię, tak jak gra w gry hazardowe z domniemaną przewagą. Sukces polegał na byciu szybkim, zdyscyplinowanym i dobrym intuicyjnym rozpoznawaniu wzorców. Udało mi się zarobić około 250 000, spłacić kredyty studenckie i zostawić pieniądze. Wygraj W ciągu następnych pięciu lat uruchomię dwa startupy, zbierając po drodze pewne umiejętności programistyczne. Dopiero pod koniec 2008 r. Powrócę do handlu. Przy niskich obrotach ze sprzedaży mojego pierwszego uruchomienia, obrót dawał nadzieję na szybką gotówkę, podczas gdy ja odkryłem mój następny ruch. W 2008 roku byłem kontraktami terminowymi na akcje o średniej wartości, używając oprogramowania o nazwie T4. Irsquod potrzebował kilku niestandardowych skrótów do wprowadzania zamówień, więc po odkryciu T4 miał API, podjąłem wyzwanie nauki C (język programowania wymagany do korzystania z API) i poszedłem dalej i zbudowałem sobie kilka skrótów klawiszowych. Po tym, jak zacząłem się moczyć z API, wkrótce miałem większe aspiracje: chciałem nauczyć komputer, żeby handlował dla mnie. Interfejs API zapewniał zarówno strumień danych rynkowych, jak i łatwy sposób wysyłania zleceń do giełdy - wszystko, co musiałem zrobić, to stworzyć logikę w środku. Poniżej zrzut ekranu okna transakcyjnego T4. To, co było fajne, to fakt, że kiedy uruchomiłem program, mogłem oglądać handel komputerowy na tym samym interfejsie. Obserwowanie prawdziwych rozkazów pojawiających się i wychodzących (samo z moimi prawdziwymi pieniędzmi) było zarówno ekscytujące, jak i przerażające. Projekt mojego algorytmu Od samego początku moim celem było stworzenie takiego systemu, żebym mógł być dość pewny, że Irsquod zarabia pieniądze, zanim dokona transakcji na żywo. Aby to osiągnąć, musiałem zbudować platformę symulacji handlu, która - tak dokładnie, jak to możliwe - mogłaby symulować transakcje na żywo. Podczas handlu w trybie na żywo wymagane aktualizacje rynku przetwarzania przesyłane przez interfejs API, tryb symulacji wymagał odczytania aktualizacji rynku z pliku danych. Aby zebrać te dane, konfiguruję pierwszą wersję mojego programu, aby po prostu połączyć się z interfejsem API i rejestrować aktualizacje rynkowe z sygnaturami czasowymi. Ostatnimi czasy wykorzystałem ostatnie dane rynkowe do przetestowania i przetestowania mojego systemu. Z podstawowymi ramami nadal miałem zadanie dowiedzieć się, jak stworzyć zyskowny system transakcyjny. Jak się okazało, mój algorytm podzieliłby się na dwa odrębne komponenty, które Irsquoll eksploruje kolejno: przewidywanie ruchów cenowych i dokonywanie zyskownych transakcji Przewidywanie ruchów cenowych Być może oczywistym elementem każdego systemu transakcyjnego jest zdolność przewidywania, gdzie ceny będą się przemieszczać. A mój nie był wyjątkiem. Zdefiniowałem obecną cenę jako średnią z oferty wewnętrznej i wewnętrznej i ustaliłem cel przewidywania, gdzie cena będzie za 10 sekund. Mój algorytm musiałby wymyślić tę prognozę moment po dniu przez cały dzień handlu. Tworząc wskaźniki optymalizacji wzmacniacza stworzyłem garść wskaźników, które okazały się mieć znaczącą zdolność przewidywania krótkoterminowych ruchów cenowych. Każdy wskaźnik tworzył liczbę, która była albo dodatnia, albo ujemna. Wskaźnik był przydatny, gdy częściej niż dodatnia liczba odpowiadała wzrostowi rynku, a ujemna liczba odpowiadała spadkowi na rynku. Mój system pozwolił mi szybko określić, jak dużą zdolność przewidywania miał każdy wskaźnik, więc mogłem eksperymentować z wieloma różnymi wskaźnikami, aby zobaczyć, co zadziałało. Wiele wskaźników miało zmienne w formułach, które je wytworzyły i udało mi się znaleźć optymalne wartości dla tych zmiennych, dokonując porównania wartości uzyskanych przy różnych wartościach. Wskaźniki, które były najbardziej przydatne, były stosunkowo proste i opierały się na ostatnich wydarzeniach na rynku, na którym handlowałem, a także na rynkach powiązanych ze sobą papierów wartościowych. Wykonywanie dokładnych prognoz ruchów cen O ile wskaźniki, które po prostu przewidywały ruch w górę lub w dół, nie były wystarczające. Musiałem dokładnie wiedzieć, jak dużo ruchu cenowego przewidywano przy każdej możliwej wartości każdego wskaźnika. Potrzebowałem formuły, która zamieniłaby wartość wskaźnika na prognozę ceny. Aby to osiągnąć, śledziłem przewidywane ruchy cen w 50 segmentach, które zależały od zakresu, w którym spadła wartość wskaźnika. W ten sposób uzyskano unikalne prognozy dla każdego segmentu, które następnie mogłem wygenerować w Excelu. Jak widać oczekiwana zmiana ceny rośnie wraz ze wzrostem wartości wskaźnika. Na podstawie takiego wykresu udało mi się stworzyć formułę dopasowaną do krzywej. Na początku zrobiłem to ręcznie, ale wkrótce napisałem trochę kodu, aby zautomatyzować ten proces. Należy zauważyć, że nie wszystkie krzywe wskaźnika miały ten sam kształt. Należy również zauważyć, że kubły zostały logarytmicznie rozmieszczone, aby równomiernie rozłożyć dane. Na koniec należy zauważyć, że ujemne wartości wskaźników (i odpowiadające im prognozy cen w dół) zostały odwrócone i połączone z dodatnimi wartościami. (Mój algorytm jest dokładnie taki sam.) Łączenie wskaźników dla jednej prognozy Ważną rzeczą, którą należy wziąć pod uwagę, jest to, że każdy wskaźnik nie był całkowicie niezależny. Nie mogłem po prostu po prostu zsumować wszystkich prognoz, które każdy indykator zrobił indywidualnie. Kluczem było ustalenie dodatkowej wartości prognostycznej, którą każdy wskaźnik przekroczył już przewidywany. Nie było to trudne do wdrożenia, ale oznaczało to, że gdybym był dostosowany do wielu wskaźników jednocześnie, musiałbym uważać, aby zmienić jeden, co mogłoby wpłynąć na przewidywania innego. Aby dopasować do siebie wszystkie wskaźniki w tym samym czasie, ustawiam optymalizator tak, aby z każdym kolejnym krokiem przechodził tylko 30 w kierunku nowych krzywych predykcji. W tym 30 skoku odkryłem, że krzywe predykcji ustabilizują się w ciągu kilku przebiegów. Z każdym wskaźnikiem, który daje nam teraz dodatkowe prognozy cenowe, mógłbym je po prostu dodać, aby wytworzyć jedną prognozę, gdzie rynek będzie za 10 sekund. Dlaczego przewidywanie cen nie wystarczy Możesz pomyśleć, że z tą przewagą na rynku byłem złoty. Należy jednak pamiętać, że rynek składa się z ofert i ofert - to nie tylko jedna cena rynkowa. Sukces w handlu wysokiej częstotliwości sprowadza się do uzyskania dobrych cen i nie jest to łatwe. Następujące czynniki sprawiają, że tworzenie opłacalnego systemu jest trudne: przy każdej transakcji musiałem płacić prowizje zarówno brokerowi, jak i giełdzie. Spread (różnica pomiędzy najwyższą ofertą a najniższą ofertą) oznaczał, że gdybym po prostu kupował i sprzedawał losowo Irsquod, traciłbym mnóstwo pieniędzy. Większość wolumenu rynku to inne roboty, które realizowałyby ze mną tylko transakcje, gdyby uważały, że mają pewną przewagę statystyczną. Złożenie oferty nie gwarantowało, że mogę ją kupić. Do czasu, gdy moje zlecenie kupna dotarło na giełdę, bardzo możliwe, że oferta ta zostałaby anulowana. Jako mały gracz na rynku nie było mowy, żebym mógł rywalizować tylko z prędkością. Zbudowanie pełnej symulacji transakcji Miałem więc ramy, które pozwoliły mi na analizę historyczną i optymalizację wskaźników. Ale musiałem wyjść poza to - potrzebowałem ram, które pozwoliłyby mi przetestować i zoptymalizować system pełnego handlu, w którym wysyłałem zamówienia i zajmowałem pozycje. W tym przypadku Irsquod optymalizuje pod kątem całkowitej PampL i do pewnego stopnia średniej PampL na handel. Byłoby to trudniejsze i pod pewnymi względami niemożliwe do modelowania, ale robiłem wszystko, co mogłem. Oto kilka problemów, z którymi miałem do czynienia: kiedy zamówienie zostało wysłane na rynek w trakcie symulacji, musiałem modelować czas opóźnienia. To, że mój system zobaczył ofertę, nie oznaczało, że może ją kupić od razu. System wysłałby zlecenie, odczekał około 20 milisekund, a następnie tylko wtedy, gdy oferta nadal istniała, uznawano ją za zrealizowaną transakcję. Było to niedokładne, ponieważ rzeczywisty czas opóźnienia był niespójny i niezgłaszany. Kiedy składałem oferty lub oferty, musiałem spojrzeć na strumień realizacji transakcji (dostarczony przez API) i użyć ich do określenia, kiedy moje zamówienie zostanie wykonane. Aby to zrobić, musiałem śledzić pozycję mojego zamówienia w kolejce. (Itrsquos to system typu first-in first-out). Znowu nie mogłem zrobić tego doskonale, ale zrobiłem najlepsze przybliżenie. Aby udoskonalić symulację wykonania zlecenia, zrobiłem pliki logów z transakcji na żywo za pośrednictwem interfejsu API i porównałem je z plikami dziennika wygenerowanymi przez symulację transakcji z tego samego okresu. Udało mi się doprowadzić symulację do tego stopnia, że ​​była całkiem dokładna, a dla części, których nie udało się dokładnie modelować, upewniłem się przynajmniej, że wyniki będą statystycznie podobne (w metrykach, które uważałem za ważne). Prowadzenie dochodowych transakcji Dzięki wprowadzeniu modelu symulacji zamówienia mogłem teraz wysyłać zamówienia w trybie symulacji i zobaczyć symulowany PampL. Ale w jaki sposób mój system wie, kiedy i gdzie kupować i sprzedawać Prognozy dotyczące zmiany cen były punktem wyjścia, ale nie całą historią. To co zrobiłem, to stworzyć system punktacji dla każdego z 5 poziomów cenowych w ofercie i ofercie. Obejmowały one jeden poziom powyżej wewnętrznej oferty (w przypadku zlecenia zakupu) i jeden poziom poniżej wewnętrznej oferty (w przypadku zlecenia sprzedaży). Jeśli wynik na dowolnym poziomie cen był powyżej pewnego progu, co oznaczałoby, że mój system powinien mieć aktywną ofertę ofertową - poniżej progu, wszelkie aktywne zamówienia powinny zostać anulowane. Na tej podstawie nierzadko zdarzyło się, że mój system wyświetli ofertę na rynku, a następnie natychmiast ją anuluje. (Chociaż starałem się zminimalizować to, ponieważ itrsquos było irytujące dla każdego, kto patrzył na ekran ludzkimi oczami - także ja.) Wyniki poziomu cen zostały obliczone na podstawie następujących czynników: Prognozy przesunięcia cen (które omówiliśmy wcześniej). Poziom cenowy, o którym mowa. (Wewnętrzne poziomy oznaczały większe przewidywania dotyczące ruchów cenowych). Liczba umów przed moim zamówieniem w kolejce. (Mniej znaczyło lepiej.) Liczba kontraktów za moim zamówieniem w kolejce. (Więcej było lepiej.) Zasadniczo te czynniki służyły do ​​identyfikacji miejsc, w których można licytować. Samo przewidywanie ruchu cenowego nie było odpowiednie, ponieważ nie uwzględniało ono faktu, że składając ofertę nie byłem automatycznie wypełniony - zostałem tylko wypełniony, jeśli ktoś mi tam sprzedał. W rzeczywistości sam fakt sprzedania mi za pewną cenę zmienił statystyczne kursy handlu. Zmienne zastosowane w tym kroku zostały poddane optymalizacji. Dokonano tego dokładnie w taki sam sposób, jak zoptymalizowane zmienne w wskaźnikach przesunięcia ceny, z tym że w tym przypadku optymalizowałem pod kątem PampL. To, co mój program zignorował Podczas handlu ludźmi, często mamy silne emocje i uprzedzenia, które mogą prowadzić do mniej niż optymalnych decyzji. Najwyraźniej nie chciałem skodyfikować tych uprzedzeń. Oto kilka czynników, które mój system zignorował: Cena, w jakiej wprowadzono pozycję - W biurze handlowym bardzo często słyszy się rozmowę o cenie, w której ktoś jest długi lub krótki, jakby to miało wpłynąć na jego przyszły proces decyzyjny. Chociaż ma to pewne znaczenie w ramach strategii ograniczania ryzyka, nie ma to żadnego wpływu na dalszy rozwój wydarzeń na rynku. Dlatego mój program całkowicie zignorował te informacje. Itrsquos to ta sama koncepcja, co ignorowanie kosztów utopionych. Krótko mówiąc, a wyjście z długiej pozycji - Zwykle przedsiębiorca miałby inne kryteria, które decydowałyby o tym, gdzie sprzedać długą pozycję, a gdzie się skrócić. Jednak z perspektywy moich algorytmów nie było powodu do rozróżnienia. Jeśli mój algorytm spodziewał się posunięcia w dół, sprzedaż była dobrym pomysłem, niezależnie od tego, czy był on obecnie długi, krótki, czy płaski. Strategia podwyższania ratingu - Jest to wspólna strategia, w której kupcy będą kupować więcej akcji w przypadku, gdyby pierwotny handel był przeciwko nim. Powoduje to, że twoja średnia cena zakupu jest niższa, a to oznacza, kiedy (lub jeśli) stan się zmienia wokół yoursquoll być ustawione, aby odzyskać pieniądze w mgnieniu oka. Moim zdaniem jest to naprawdę okropna strategia, chyba że Twój Warren Buffet. Yoursquore nabrał przekonania, że ​​radzisz sobie dobrze, ponieważ większość Twoich transakcji będzie zwycięzcami. Problem polega na tym, że kiedy przegrywasz, tracisz duże. Innym efektem jest to, że trudno jest ocenić, czy rzeczywiście masz przewagę na rynku lub po prostu masz szczęście. Możliwość monitorowania i potwierdzenia, że ​​mój program rzeczywiście ma przewagę, jest ważnym celem. Ponieważ mój algorytm podejmował decyzje w ten sam sposób, niezależnie od miejsca, w którym wszedł do handlu, lub jeśli był on obecnie długi lub krótki, od czasu do czasu zasiadał (i zabierał) duże transakcje tracące (oprócz dużych transakcji z nagrodami). Ale nie powinieneś myśleć, że nie było żadnego zarządzania ryzykiem. Aby zarządzać ryzykiem, wymuszałem maksymalną wielkość pozycji 2 kontraktów naraz, czasami zdarzało się to w przypadku dużych dni. Miałem też maksymalny dzienny limit strat, aby zabezpieczyć się przed nieoczekiwanymi warunkami rynkowymi lub błędem w moim oprogramowaniu. Ograniczenia te zostały wprowadzone w moim kodzie, ale również w backendach za pośrednictwem mojego brokera. Tak się złożyło, że nigdy nie napotkałem żadnych znaczących problemów. Uruchamianie algorytmu Od momentu rozpoczęcia pracy nad moim programem zajęło mi to około 6 miesięcy, zanim osiągnąłem punkt opłacalności i zacząłem go uruchamiać. Chociaż uczciwie, sporo czasu zajęło uczenie się nowego języka programowania. Kiedy pracowałem nad ulepszeniem programu, widziałem zwiększone zyski dla każdego z następnych czterech miesięcy. Każdego tygodnia przekwalifikowywałem swój system na podstawie danych z poprzednich 4 tygodni. Stwierdziłem, że osiągnęło to właściwą równowagę między uchwyceniem ostatnich trendów behawioralnych na rynku i upewnieniem się, że mój algorytm ma wystarczającą ilość danych do ustalenia znaczących wzorców. W miarę, jak szkolenie zaczęło się zajmować coraz więcej czasu, dzieliłem je na 8 maszyn wirtualnych za pomocą Amazon EC2. Wyniki zostały następnie połączone na mojej lokalnej maszynie. Najważniejszym momentem w mojej transakcji był październik 2009, kiedy osiągnąłem prawie 100 tys. Potem kontynuowałem kolejne cztery miesiące, próbując poprawić swój program pomimo spadku zysków każdego miesiąca. Niestety, w tym momencie wydaje mi się, że Irsquod wdrożyła wszystkie moje najlepsze pomysły, ponieważ nic, co próbowałem, nie pomogło. Z frustracją polegającą na tym, że nie mogliśmy dokonywać ulepszeń i nie mieć poczucia wzrostu, zacząłem myśleć o nowym kierunku. Wysłałem e-mail do 6 różnych firm handlowych o wysokiej częstotliwości, aby sprawdzić, czy są zainteresowane zakupem mojego oprogramowania i zatrudnieniem mnie do pracy. Nikt nie odpowiedział. Miałem kilka nowych pomysłów na rozpoczęcie pracy, nad którymi chciałem pracować, więc nie podjąłem żadnych dalszych kroków. AKTUALIZACJA - zamieściłem to w Hacker News i zyskało ono dużo uwagi. Chcę tylko powiedzieć, że nie popieram nikogo, kto próbuje teraz zrobić coś takiego. Będziesz potrzebował zespołu naprawdę inteligentnych ludzi z szerokim wachlarzem doświadczeń, aby mieć nadzieję na rywalizację. Nawet gdy to robiłem, uważam, że bardzo rzadko zdarzały się osoby, które osiągnęły sukces (choć słyszałem o innych.) Na górze strony znajduje się komentarz, który wymienia manipulowane statystyki i odnosi się do mnie jako ldquoretail investorrdquo that quants chciałabym od razu wybrać offrdquo. Jest to raczej niefortunny komentarz, który po prostu nie jest oparty na rzeczywistości. Odkładając na bok kilka interesujących komentarzy: news. ycombinatoritemid4748624 UPDATE 2 - Irsquove zamieściła następującą część FAQ, która odpowiada na częste pytania, jakie Irsquove otrzymała od handlowców na temat tego postu. Trudno jest przewidzieć, szczególnie o przyszłości, powiedział legenda baseballu Yogi Berra . Ale to nie powstrzymuje ludzi przed próbami, szczególnie na rynkach finansowych, gdzie algorytmy handlu uczącym się maszynami są opracowywane i uruchamiane przez fundusze hedgingowe, z myślą o znalezieniu praktycznych zastosowań wielkiej teorii, która istnieje dla sztucznej inteligencji. Być może, co nie jest zaskakujące, wielu z czołowych naukowców posiada wyższe stopnie naukowe z matematyki lub informatyki. Posiadanie doktoratu nie jest obowiązkowe, ale stanowi oczywistą zaletę. Spencer Greenberg. współzałożyciel, Rebellion Research Kiedy dowiedziałem się o uczeniu maszynowym, przyszło mi do głowy, że może być użyteczny w aplikacjach finansowych, powiedział Spencer Greenberg, współzałożyciel Rebellion Research, nowojorskiego funduszu hedgingowego. Greenberg obecnie pracuje nad doktoratem w New York Universitys Courant Institute of Mathematical Sciences. Kiedy staramy się zarabiać na rynku akcji, nie mamy w pełni ukształtowanych pojęć, czy kupować i sprzedawać, wyceniać, pęd, względną wartość itp., Powiedział Greenberg. Może uczenie maszynowe może wydobywać style inwestycyjne w sposób zautomatyzowany, a algorytm może zostać stworzony, aby nauczyć się tego procesu. Zafascynowałem się tym. Rebellion Research stosuje system oparty na uczeniu maszynowym, aby przewidywać wyniki akcji i innych klas aktywów. Podstawowym założeniem jest to, że maszyny mogą być programowane przez Google do przeprowadzania wyszukiwań internetowych lub przez Amazon i Netflix, aby polecać filmy i książki, więc nie ma powodu, dla którego nie powinny być przeszkoleni, aby podejmować decyzje inwestycyjne. Jednym z powodów, dla których ludzie sceptycznie odnoszą się do wykorzystywania sztucznej inteligencji do inwestowania, jest myślenie o inwestowaniu jako coś zbyt trudnego do rozwiązania dla człowieka, a zatem zbyt trudne do zaprogramowania, 8221 powiedział Greenberg. 8220 Istnieje wiele teorii na temat funkcjonowania rynku. Nasze podejście polega na tym, aby algorytmy uczenia maszynowego analizowały inwestowanie w sposób zautomatyzowany. Dziedzina wiedzy w obszarze rozszerza się w szybkim klipie. Od dziesięcioleci techniki sztucznej inteligencji oparte na maszynach są podstawowymi elementami handlu algorytmicznego i ogólnie finansów komputerowych, powiedział Vadim Mazalov, specjalista ds. Badań i rozwoju w firmie Cyborg Trading Systems specjalizującej się w systemach transakcyjnych oraz doktorant informatyki specjalizujący się w uczeniu maszynowym. na Western University w Londynie, Ontario. Uczenie maszynowe Rozległa wiedza w tej dziedzinie zawiera już wiele różnych modeli, które można zastosować na różnych poziomach i skalach od wysokiej częstotliwości do systematycznego handlu. W ciągu ostatnich pięciu lat zauważyliśmy ogromne postępy w dziedzinie automatycznej technologii handlu, powiedział Alfred Eskandar, dyrektor wykonawczy, dostawcy systemów transakcyjnych Portware. Zaawansowane rozwiązania front-end wprowadziły ogromną wydajność, zmniejszyły ryzyko operacyjne i dały handlowcom niespotykany wcześniej dostęp do globalnej płynności. Jednak obecna generacja systemów zarządzania wykonaniem podjęła automatyzację handlu i przepływu pracy w zakresie, w jakim może. Odpowiedzialność za ogólne warunki rynkowe związane z cyklem życia produktu, wybór właściwej strategii dla danego zamówienia, monitorowanie postępów w realizacji transakcji oraz wprowadzanie koniecznych zmian spada na osoby zajmujące się handlem ludźmi. W ciągu następnych kilku lat firmy będą wdrażać technologię, która pomoże handlowcom automatycznie wybrać i wdrożyć optymalną strategię algorytmiczną, co pozwoli im zwiększyć wydajność i poprawić ogólną wydajność handlową, powiedział Eskandar. Jednakże, tak jak handlowcy chcą być we właściwym algorytmie we właściwym czasie, nie chcą też być w złym algorytmie w niewłaściwym czasie. Niektóre z rynków niedawnych nieudanych prób pokazują, jak ważne jest zarządzanie ryzykiem handlowym, powiedział Eskandar. Ta nowa technologia umożliwi firmom dynamiczne zarządzanie ich algorytmami i zapewni bezpieczną obsługę biur handlowych w każdych warunkach rynkowych. Pojawienie się algorytmów transakcyjnych opartych na maszynach w dużej mierze wynika z możliwości analizy rozrzutów danych w czasie rzeczywistym przy użyciu zaawansowanego sprzętu i oprogramowania. Chodzi o szukanie wzorców w danych, powiedział Tucker Balch, profesor informatyki w Georgia Institute of Technology, i założyciel Lucena Research, firmy zajmującej się technologiami inwestycyjnymi opartymi na sztucznej inteligencji. W przypadku finansów poszukujesz relacji między danymi o firmie a jej przyszłą ceną. To właśnie robi Lucena i co robię z moimi badaniami w Georgia Tech. Modele matematyczne Lucena zapewnia analizę ilościową i statystyczną technologię uczenia maszynowego w celu zabezpieczenia funduszy, doradców majątkowych i zaawansowanych inwestorów indywidualnych. Oparta na chmurze technologia wspomagania decyzji w oparciu o sztuczną inteligencję umożliwia krótkoterminowym inwestorom i handlowcom znajdowanie możliwości rynkowych i zmniejszanie ryzyka w ich portfelu za pomocą technicznego i podstawowego dopasowywania wzorców ilościowych. System uzyskał tyle danych historycznych, w tym podstawowe dane i wskaźniki techniczne, jak to możliwe, i stara się znaleźć związek między tymi danymi historycznymi i przyszłymi cenami, powiedział Balch. Ta relacja to model, coś, co wiąże pewną mierzalną wielkość kapitału do przyszłej ceny - powiedział. Algorytm prognozowania ceny oparty na maszynowym algorytmie Lucenas prognozuje zwroty z 5, 10 i 20 dni na wszystkich zabezpieczonych akcjach. Nie używamy modeli statycznych, nasz prognostyk jest codziennie aktualizowany, aby automatycznie dostosować się do zmieniających się warunków rynkowych, powiedział Balch. Prognozy można wykorzystać do określenia krótkoterminowych długich lub krótkich okazji. Ostatecznym celem Lucenas jest, aby powiedział on o sile analizy wzorców uczenia maszynowego i zrewolucjonizował zaniepokojoną społeczność inwestorów inwestycyjnych, dostarczając narzędzia i technologie, które zwykle nie są dostępne dla firm ich wielkości. (Odwiedzono 835 razy, 5 wizyt dzisiaj)

Comments

Popular posts from this blog

Montreal forex 786

Alert Tr. im zablokował dostęp do tego linku z powodu niebezpiecznych i niebezpiecznych treści. Zespół Tr. im usunął ten link dla twojego bezpieczeństwa. Pracujemy (zespół Tr. im), aby upewnić się, że wszyscy nasi interesariusze przestrzegają naszych zasad i warunków oraz naszych ogólnych wytycznych dotyczących bezpieczeństwa. Proszę skontaktować się z supporttr. im w razie jakichkolwiek pytań. Przyczyną tego alertu jest to, że żądany link znajduje się na czarnej liście Tr. ims, z jednego lub więcej z następujących powodów: Link został oznaczony jako zawierający złośliwą zawartość, taką jak spam lub złośliwe oprogramowanie. Łącze zostało skrócone więcej niż raz w innej usłudze skracania linków. Link przekierowuje do znanej strony phishingowej. Użytkownik został zablokowany na tr. im lub nie zweryfikował adresu e-mail konta. Zamknij kartę lub przeglądarkę Skróć pierwotny adres URL za pomocą Tr. im

Forex buy limit order example

OANDA używa plików cookie, aby nasze strony internetowe były łatwe w użyciu i dostosowane do potrzeb odwiedzających. Pliki cookie nie mogą być używane do identyfikacji użytkownika. Odwiedzając naszą stronę internetową wyrażasz zgodę na używanie przez OANDA8217 plików cookie zgodnie z naszą Polityką prywatności. Aby zablokować, usunąć lub zarządzać plikami cookie, odwiedź aboutcookies. org. Ograniczenie plików cookie uniemożliwi korzystanie z niektórych funkcji naszej witryny. Pobierz nasze aplikacje mobilne Otwórz konto Lekcja 4: Pierwsze typy zleceń Forex Większość brokerów oferuje następujące typy zleceń: Zlecenia rynkowe Zlecenia limitowane Zbieraj zlecenia z zyskiem Zlecenia z zatrzymaniem utraty Zlecenia stop zlecenia160 Twój styl handlu dyktuje rodzaj zlecenia najlepiej pasujący do Twojego wymagania. Zlecenia rynkowe Zlecenie rynkowe jest realizowane natychmiast po złożeniu. Jest wyceniony za pomocą bieżącego miejsca lub ceny rynkowej. Zlecenie rynkowe natychmiast staje się pozyc...

Forex legal in india

The Worlds Trusted Currency Authority North American Edition Dolar stracił grunt do euro, a zwłaszcza do jena, który był licytowany pośród bezpiecznej przystani na rynkach globalnych, choć waluta zyskuje na wartości w stosunku do niektórych walut, w tym dolara australijskiego i do mniejszy, funt. Czytaj więcej X25B6 2017-02-24 11:50 UTC Edycja europejska Dolar był w fazie konsolidacji podczas sesji azjatyckiej. USD-JPY rozlicza się w górnych 112, konsolidując powyżej wczoraj dwa tygodnie niski na 112,55. Dziś jen osłabił się, po wczorajszym rajdzie na bezpieczną przystań. Czytaj dalej X25B6 2017-02-24 08:40 UTC Asian Edition Dolar zebrał się we wczesnych godzinach porannych na giełdzie, pozornie prowadzony przez wyprzedaż w kablu i EUR-USD. Pierwsza z nich spadła do 1,2453 dnia na dzień, z 1,2565 na otwartą, a druga spadła z 1,0617 do 1,0566. Nie było. Przeczytaj więcej X25B6 2017-02-24 18:40 UTCeasy Markets Informacje prawne Wymaganie dotyczące depozytu zabezpieczającego dla Polski In...