Zanurkowałem w dziedzinie sieci neuronowych i zafascynowałem się nimi.
W końcu opracowałem platformę do testowania systemów handlowych na giełdach, a teraz zamierzam wdrożyć w niej moją pierwszą sieć neuronową. Bardzo prosty i prymitywny, nieprzeznaczony do prawdziwego handlu, tylko na początek.
Chcę tylko wiedzieć, czy moje podejście jest dobre.
A jeśli zauważysz, że coś mi brakuje (lub coś się mylę) lub masz pomysł, co może pomóc początkującemu w dziedzinie sieci neuronowych w handlu rynkowym, to by mnie bardzo ucieszyło :)
Mam 40 danych wejściowych, wartości rynkowe z giełdy (S&P e-mini, ale to nie jest ważne).
Dla tych 40 wejść znam 2 liczby.
- Ile pieniędzy miałbym zarobić lub stracić przy zamówieniu zakupu
- Ile pieniędzy miałbym zarobić lub stracić przy zamówieniu sprzedaży
Ze względu na to, jak działają giełdy, obie liczby mogą faktycznie być ujemne / dodatnie, co wskazuje, że mogę stracić / zarobić pieniądze na zakup i sprzedaż (dzieje się tak, ponieważ transakcja może zawierać zlecenia „ograniczające straty” lub „celujące”, takie jak STOP, LIMIT itp., które zachowują się inaczej).
Ale jeśli tak się stanie, oznacza to, że nie powinienem w ogóle składać zamówienia, nawet jeśli oba zamówienia kupna i sprzedaży dają liczby dodatnie.
Wyobrażam sobie, że najlepszą dostępną funkcją aktywacji jest ... sigmoid, ale z zakresem od -1 do 1 (znalazłem, że w Internecie nazywa się to wiele nazw ... bipolarna sigmoid, tanh, styczna coś ... Nie jestem głębokim matematykiem).
Dzięki uczeniu się wstecznej propagacji uczę sieć, że dla 40 wejść jest 1 wyjście i to wyjście jest jedną z tych liczb.
- -1, co oznacza, że zlecenie sprzedaży będzie zarabiać, zakup straci pieniądze
- +1, co oznacza, że kupno zarobi pieniądze, a sprzedaż straci pieniądze
- 0, co oznacza, że zarówno kupowanie, jak i sprzedaż będą sprzedawać / tracić pieniądze, najlepiej unikać handlu
Wyobrażam sobie, że po nauce wyjście sieciowe będzie zawsze miało wartość zbliżoną do -1, 1 lub 0 i to ode mnie zależy, gdzie ustawię próg kupna lub sprzedaży.
Czy to właściwy sposób korzystania z sieci neuronowej?
Wszędzie w Internecie, wyniki uczenia się ludzi dają maszynie uczenia się propagacji wstecznej są przyszłymi wartościami wykresu rynkowego, a nie oczekiwaną wydajnością pieniężną różnych pozycji handlowych (kup lub sprzedaj). Uważam to za złe podejście, ponieważ nie interesują mnie przyszłe wartości wykresów, ale pieniądze, które chcę zarobić.
Edycja: Mam zamiar zbudować sieć neuronową do automatycznego handlu, a nie do wspomagania decyzji.
Odpowiedzi:
Podejście to ma poważne wady.
Po trzecie, powinieneś zdawać sobie sprawę, że konkurujesz z innymi ludźmi, którzy również mają dostęp do sieci neuronowych. Istnieje wiele programów komercyjnych skierowanych do traderów działających w oparciu o sieci neuronowe. (Są one tworzone przez osoby, dla których bardziej opłacalne jest sprzedawanie oprogramowania zdezorientowanym traderom niż używanie własnych systemów.) Istnieje wiele zastrzeżonych systemów, z których niektóre mogą obejmować sieci neuronowe. Aby znaleźć wartość, którą przeoczają, musisz mieć przewagę, o której nie wspomniałeś.
Jestem wielkim fanem sieci neuronowych, ale myślę, że typowi użytkownicy sieci neuronowych na giełdzie nie rozumieją podstaw i nie palą pieniędzy.
źródło
These are made by people who find it more profitable to sell software to confused day traders than to use their own systems
To samo w sobie byłoby warte pochwały.Pojedynczy człowiek może tego nigdy nie widzieć, ale nadal chciałbym wnieść swój wkład jako ktoś, kto był zaangażowany zarówno w finanse, jak i informatykę.
Nigdy nie powiem, że sieć neuronowa nie odniesie sukcesu w handlu akcjami, ale trzeba pomyśleć o różnicach między tym, jak człowiek handluje akcjami, a tym, jak sieć neuronowa będzie handlować akcjami. Przeciętny przedsiębiorca podświadomie bierze pod uwagę setki czynników przy podejmowaniu prostej decyzji kupna, wstrzymania lub sprzedaży.
I tak dalej, i jestem pewien, że ponad połowa osób handlujących akcjami nie przekroczyła standardów. Sieć neuronowa naprawdę będzie miała trudności z podjęciem lepszej decyzji niż człowiek z powodu braku danych wejściowych. Patrzenie na czyjąś twarz i powiedzenie „Och, to Bobby John” jest o wiele łatwiejsze niż podejmowanie decyzji inwestycyjnych i niektóre sieci mają trudności z wybraniem twarzy. Możliwe, że 40+ 150 kujonów z IQ z Cal Tech w Renaissance Technology lub DE Shaw & Co wymyśliło, jak sprawić, by sieci neuronowe handlowały akcjami, ale nie marnowałbym czasu. Trzymaj się programów, które wybiorą podstawowe trendy lub zbędne dane finansowe EDGAR.
źródło
zdaję sobie sprawę, że to stary wątek, ale na wypadek, gdyby ktoś się na nim natknął, OP musiał zrobić, aby zmniejszyć swoje pożądane pole do pola 0 do 1. tj. po prostu remap -1 = 0,0, 0 = 0,5, a 1 = 1. Następnie możesz po prostu użyć standardowej logistycznej funkcji aktywacji sigmoid.
źródło