Jakiego algorytmu uczenia maszynowego można użyć do przewidywania rynku akcji?

15

Alternatywnie, aby przewidzieć rynki walutowe. Wiem, że może to być dość skomplikowane, więc na wstępie szukam prostego algorytmu przewidywania, który ma pewną dokładność.

(Dotyczy projektu uniwersyteckiego trwającego cztery miesiące)

Czytałem, że wielowarstwowa sieć neuronowa może być przydatna. Masz jakieś przemyślenia na ten temat? Ponadto semantyczna analiza mediów społecznościowych może zapewnić wgląd w zachowania rynkowe, które mają wpływ na giełdę. Jednak analiza semantyczna jest obecnie nieco poza zakresem projektu.

siamii
źródło
15
Mój, ale z oczywistych powodów trzymam to wszystko dla siebie!
babelproofreader
7
Jeśli ktoś wierzy w hipotezę efektywnego rynku, niemożliwe jest konsekwentne osiąganie wyższych niż przeciętne zwrotów rynkowych (bez wiedzy poufnej), która jest wbudowana w bieżące stawki / ceny. Wiele osób nie zgadza się z tym, ale prawie wszyscy zgadzają się, że dotyczy to zwykłego inwestora. Innymi słowy, 3-liniowy model oparty na rand () jest prawdopodobnie prawie tak dobry jak typowy inwestor: P
rm999
5
Wydaje się mało prawdopodobne, że ktoś będzie chciał podzielić się algorytm, który ma żadnej dokładności out-of-sample. Z wyjątkiem być może niektórych opublikowanych prac naukowych, w których anomalia jest niewielka i nie pokrywa kosztów transakcji.
NPE
2
W przypadku pracy naukowej bardziej opłaca się modelować ceny niż próbować je przewidzieć. Prognozy prawdopodobnie okażą się nieskuteczne, ale modelowanie może przynajmniej dać pewien wgląd w to, jak rzeczy faktycznie działają, i teoretycznie może zostać rozszerzone na przewidywanie.
highBandWidth
2
@wayne Nie sądzę, że chodzi o nadmierne dopasowanie, chodzi o dopuszczenie predyktorów, których nie można użyć do prognoz, na przykład zmiennych, które występują podczas / po zmianach zapasów - jeśli okaże się, że akcje Apple i Microsoft są często skorelowane, tego faktu nie można użyć przewidywanie akcji msft, ale może być bardzo pouczające.
rm999

Odpowiedzi:

17

Jak wspomniano czytnik babelproofreadera , ci, którzy mają skuteczny algorytm, są bardzo skryci. Dlatego jest mało prawdopodobne, aby jakikolwiek szeroko dostępny algorytm był bardzo przydatny po wyjęciu z pudełka, chyba że robisz z nim coś sprytnego (w którym to momencie przestaje być powszechnie dostępny, ponieważ dodajesz go).

To powiedziawszy, poznanie modeli autoregresyjnej zintegrowanej średniej ruchomej (ARIMA) może być przydatnym początkiem do prognozowania danych szeregów czasowych. Nie oczekuj jednak lepszych wyników niż losowe.

Michael McGowan
źródło
5
+1: Ile razy czytałem lub byłem na zajęciach i słyszałem ludzi, którzy wierzą, że jeśli mają wystarczająco skomplikowany algorytm, mogą się wzbogacić na rynkach akcji / energii elektrycznej / towarów. Próbujesz wyjaśnić nadmierne dopasowanie itp., Ale bezskutecznie. Heck, o ile mi wiadomo, że nie będąc wewnętrznym, udane oprogramowanie do handlu akcjami nie zależało od opłat transakcyjnych, arbitrażu i dużej szybkości. Najnowocześniejszym rozwiązaniem jest teraz wykorzystanie luk w automatycznych regułach handlowych oraz szybka propozycja / wycofywanie ofert, aby przykuć uwagę innych zautomatyzowanych handlowców.
Wayne
1
Drugi problem polega na tym, że wiele osób korzysta z tego samego algorytmu, ponieważ przeszli szkolenie na dokładnie tych samych danych, a następnie przeprowadzili sprzedaż / zakupy. Czy można by oczekiwać, że jakiś algorytm będzie miał długoterminową dokładność?
Michelle
@Wayne istnieją strategie ograniczające nadmierne dopasowanie, choć trudno je wdrożyć w danych szeregów czasowych.
Zach.
1
@Zach: tak, istnieją sposoby na ukaranie za niedopasowanie, ale zastanawiam się nad tym podejściem: ludzie, którzy wykonali podstawowe (prawdopodobnie błędne) dopasowanie krzywej w Excelu i czują, że mogliby zarobić pieniądze na swoim tajnym sosie , ale tak naprawdę potrzebują jednego z tych najnowocześniejszych, wyrafinowanych algorytmów, których profesor po prostu nie podzieli się z klasą. Ten algorytm pasowałby do danych jak rękawiczka, a następnie przewidywałby o wiele lepiej niż wszyscy inni spekulanci używający arkuszy kalkulacyjnych Excela ... ale profesor wciąż się zastanawia nad nadmiernym dopasowaniem i ograniczeniami danych. Westchnienie.
Wayne
12

Myślę, że do swoich celów powinieneś wybrać algorytm uczenia maszynowego który Cię interesuje i wypróbować go.

Jeśli chodzi o efektywną teorię rynku, rynki nie są wydajne w żadnej skali czasowej. Ponadto niektórzy ludzie (zarówno w środowisku akademickim, jak i w życiu codziennym) są motywowani intelektualnym wyzwaniem, nie tylko po to, by szybko się wzbogacić, i publikują interesujące wyniki (a nieudany wynik uważam za interesujący). Ale traktuj wszystko, co czytasz, szczyptą soli; jeśli wyniki są naprawdę dobre, być może ich metoda naukowa nie jest.

Data Mining With R może być dla Ciebie przydatną książką; jest drogie, więc spróbuj znaleźć go w bibliotece uniwersyteckiej. Rozdział 2 obejmuje tylko to, co chcesz zrobić, a on osiąga najlepsze wyniki dzięki sieci neuronowej. Ale ostrzegam, że osiąga słabe wyniki i spędza dużo czasu procesora, aby je uzyskać. Recenzje Amazon wskazują, że książka kosztuje 20 dolarów więcej, ponieważ w tym rozdziale wspomniano słowo „ finanse” ; czytając, miałem wrażenie, że wydawca zmusił go do napisania. Odrabiał pracę domową, czytał dokumenty, przeglądał odpowiednie listy mailingowe, ale jego serca nie było w tym. Mam z tego trochę pożytecznej wiedzy R, ale nie będę z nią bić na rynku :-)

Darren Cook
źródło
@Darren - podoba mi się twój styl.
rolando2
1
Wersję roboczą (maj 2003) Data Mining z R można znaleźć tutaj . (Nie mam tej książki, więc nie mogę powiedzieć, jaka jest różnica między dwiema wersjami.)
Chl
@chi Dzięki! Rzuciłem okiem i tylko dwa z czterech rozdziałów tam są. Ale większą różnicą jest to, że rozdział Prognozowanie zwrotów z rynku akcji jest zupełnie inny. Brak wzmianki o xts lub quantmod, a zamiast tego użycie pakietu ts oraz użycie acf i pakietu MARS do prognoz. To prawie jak rozdział bonusowy, a ja znajdę czas, aby przeczytać go poprawnie. Nadal używa sieci neuronowych, ale nie porównuje ich do SVM, jak w opublikowanej książce.
Darren Cook
10

Moim zdaniem, każda potężna sztuczna inteligencja, która mogłaby wykonać wszystkie poniższe czynności, mogłaby z łatwością wygenerować statystycznie znaczącą prognozę:

  • Zbierz i zrozum plotki

  • Dostęp i interpretacja całej wiedzy rządowej

  • Zrób to we wszystkich odpowiednich krajach

  • Dokonaj odpowiednich prognoz dotyczących:

    • Warunki pogodowe

    • Działalność terrorystyczna

    • Myśli i uczucia poszczególnych osób

    • Wszystko inne, co wpływa na handel

Tak naprawdę analiza statystyczna jest najmniejszym z twoich zmartwień.

Jon Purdy
źródło
4

Możesz wypróbować funkcje auto.arima i ets w R. Możesz także odnieść sukces z pakietem rugarch , ale nie ma żadnych funkcji do automatycznego wyboru parametrów. Może mógłbyś pobrać parametry średniego modelu auto.arima, a następnie przekazać je rugarchi dodać garch(1,1)?

Istnieje wiele blogów, które twierdzą, że udało się to osiągnąć. Oto system wykorzystujący model arima (a później model garch) i system wykorzystujący model SVM . Znajdziesz wiele dobrych informacji na temat handlu FOSS , szczególnie jeśli zaczniesz czytać blogi na jego blogu.

Bez względu na to, jakiego modelu używasz, upewnij się, że dokonujesz weryfikacji krzyżowej i testowania! Byłbym bardzo zdziwiony, gdybyś znalazł model arima, etc, a nawet garcha, który konsekwentnie pokonałby naiwny model poza próbą. Przykłady krzyżowej weryfikacji szeregów czasowych można znaleźć tutaj i tutaj . Pamiętaj, że NAPRAWDĘ chcesz prognozować zwroty, a nie ceny.

Zach
źródło
2

Znam jedno podejście uczenia maszynowego, które jest obecnie stosowane przez co najmniej jeden fundusz hedgingowy. Numer.ai używa zestawu algorytmów uczenia maszynowego dostarczonych przez użytkownika do kierowania działaniami funduszu.

Innymi słowy: fundusz hedgingowy zapewnia otwarty dostęp do zaszyfrowanej wersji danych kilkuset instrumentów inwestycyjnych, najprawdopodobniej akcji. Tysiące naukowców zajmujących się danymi i tym podobne szkolą wszelkiego rodzaju algorytmy uczenia maszynowego w oparciu o te dane i przesyłają wyniki do tablicy wyników. Najlepsi strzelcy otrzymują niewielką ilość pieniędzy w zależności od dokładności ich wyników i tego, jak długo ich wynik był dostępny online.

Najlepsze przewidywania są przypuszczalnie dokonywane przez zespoły algorytmów.

Mamy więc wielu naukowców, którzy przygotowują zgadywanki, z których część sama w sobie jest zbiorem domysłów, a fundusz hedgingowy wykorzystuje zbiór wszystkich zapewnionych domysłów do kierowania swoimi inwestycjami.

Ten dość interesujący wynik funduszu hedgingowego nauczył mnie dwóch rzeczy:

  1. Zespoły są często postrzegane jako dobry sposób prognozowania na giełdzie.
  2. Dobre prognozy wymagają więcej zestawów niż jestem w stanie sam zbudować ...

Jeśli chcesz spróbować, odwiedź: https://numer.ai/ Nie, NIE jestem z nimi związany, najprawdopodobniej nie spędziłbym dni online, gdybym był podłączony do funduszu hedgingowego, który zatrudnia tysiące ludzi , ale płacąc tylko tym, którzy dają wymierne rezultaty :)

Społeczność numer.ai ma forum, na którym omawiają swoje podejście, więc MOŻESZ uczyć się od innych, którzy próbują to zrobić.

Osobiście uważam, że każdy, kto ma dobry algorytm, zachowa to w tajemnicy.

Beyer
źródło
1

Powinieneś wypróbować sieci neuronowe typu GMDH. Wiem, że korzystają z niego niektóre udane pakiety komercyjne do prognozowania na giełdzie, ale wspominam o tym tylko w dogłębnej dokumentacji. Krótko mówiąc, jest to wielowarstwowa iteracyjna sieć neuronowa, więc jesteś na dobrej drodze.

BrutForce
źródło
0

Myślę, że ukryte modele markov są popularne na giełdzie. Najważniejszą rzeczą, o której należy pamiętać, jest to, że potrzebujesz algorytmu, który zachowa tymczasowy aspekt twoich danych.

Roronoa Zoro
źródło