PDA

Zobacz pełną wersję : Przewidywanie głębokiego uczenia się dzięki architekturze Wavenet firmy DeepMind



crigpkbal.siepk
06-06-2020 00:43, 00:43
Witam,

Zbudowałem model głębokiego uczenia się, aby przewidywać ceny forex. Dało to zaskakująco dobre wyniki w przewidywaniu kierunku średniej następnego słupka w porównaniu z ostatnią średnią słupkową.

Modele uczenia głębokiego są w stanie znaleźć wzorce w dużych zestawach danych z wieloma funkcjami. Nie tylko podałem modelowi cenę, ale wygenerowałem wiele funkcji z danych tickowych i ekonomicznych.

Opis modelu można zobaczyć tutaj:

https://medium.com/analytics-vidhya/wavenet-variations-for-financial-time-series-prediction-the-simple-the-directional-relu-and-the-4860d8a97af1?source=friends_linksk=76d1c792b83d160 7675ff2e0e2e966e5
Instrukcja przygotowania danych tutaj:

https://github.com//probabilistic_wavenet_fx/blob/master/data_preparation.md

Jeśli masz jakieś pytania, sugestie, napisz.

Wykorzystałem różne formy wyjściowe, zarówno bezpośrednie, jak i probabilistyczne. Poniższy obrazek pokazuje niektóre kroki prognozy probabilistycznej:
(Niebieski i pomarańczowy to prognozy różnych modeli, a czerwona pionowa linia to prawdziwa cena JPY/USD (tak, nie USD/JPY).)


https://miro.medium.com/max/618/1*GNvcbd0mxOGJwP3kp9Ikng.jpeg

Aktualizacja:
Jak zauważył PipMeUp, tę prognozę można uznać za rodzaj wskaźnika, a nie strategię handlową. Więcej nie chciałem mówić. Budowanie na nim strategii wymaga więcej pracy i nie mogę twierdzić, że będzie to strategia opłacalna, bo do tej pory jej nie robiłem.
Mam jednak nadzieję, że podejście i wskaźnik będą dla Państwa inspirujące.

Dziękuję

astalis
08-04-2022 07:34, 07:34
Dzięki za wysłanie tego wątku. Ostatnio pojawiło się kilka interesujących artykułów na medium. Podążyłem za innym, ostatnio dla R, który używał tensorflow, ale po wdrożeniu nie miałem pojęcia, co z tym zrobić. Może ten wątek da mi motywację, aby w końcu dokonać pełnego skoku do Pythona, ponieważ wydaje się, że to właśnie stąd pochodzą wszystkie najlepsze nowe pakiety. Dzięki za rekomendację książki. Mam nadzieję, że będę mógł nabrać tempa, przeglądając zawarte w nim przykłady, śledząc postępy. Pracujesz wyłącznie w Pythonie? Większość mojego rozwoju jest teraz w C# - mam fajny interfejs dla R, ale będę potrzebował czegoś takiego, aby przesyłać dane do/z Pythona. Wiem, że Visual Studio ma kilka fajnych funkcji dla Pythona - nie jestem jednak pewien, jak łatwo jest interfejs z C# do Pythona. Zmieniłem komputery, więc zasadniczo muszę zainstalować Pythona od zera. Czy sugerujesz Anacondę lub inną metodę, aby uzyskać większość potrzebnych pakietów?

crigpkbal.siepk
08-04-2022 08:56, 08:56
Dzięki za długi post PipMeUp. Masz bardzo dobry punkt, to tylko wskaźnik. I przewiduje tylko następne 5-minutowe średnie, co sprawia, że ​​wskaźnik jest trudniejszy w użyciu niż inny predyktor, który przewiduje pewną wartość w określonym czasie. Ale to uśrednianie zmniejszyło zmienność prognozowanej zmiennej, a modelowi łatwiej było znaleźć pewne wzorce. W przypadku strategii powinienem trenować inne modele, ale niewiele różniące się od tego. Nie próbowałbym prognozować cen otwarcia lub zamknięcia, ponieważ są one najtrudniejsze. Ale spróbowałby przewidzieć również szczyt, dołek, pierwszy kwartyl i trzeci kwartyl słupka. To by bardzo pomogło, z tymi wskaźnikami łatwiej byłoby opracować strategię, znaleźć poziomy TP i SL. . . Zbudowanie modelu, który przewiduje to wszystko na raz, może nawet pomóc w lepszym uogólnieniu, ale nie można tego wcześniej wiedzieć. Potrzeba więc kilku dni obliczeń GPU. Powinienem również użyć ceny bid, stworzyć te same cechy i wymyślić kilka obiecujących cech krzyżowych (spread, poślizg i inne) z ceny bid i ask. To powinno jeszcze bardziej pomóc modelowi. Potem powinno nastąpić budowanie strategii. Najpierw wybrałbym bardziej konserwatywną strategię, a nie opartą na DL. Oczywiście uczenie się ze wzmocnieniem, które daje dane wejściowe, byłoby miłe, ale byłoby to bardzo dużo czasu na opracowanie i być może wystarczyłaby strategia nieoparta na ML. O przedziale ufności: W przypadku metody kierunkowej Relu nie pokazałem przedziału ufności, masz rację. Łatwym miernikiem do określenia pewnej niepewności jest sam średni błąd średni. Możemy dopasować rozkład normalny do błędów walidacji i uzyskać wewnętrzne 95 procent dla szerokiego przedziału ufności. Dla ostatnich modeli z probabilistycznymi wyjściami otrzymujemy rozkłady jako prognozy (otrzymujemy średnie i odchylenia standardowe podrozkładów). Tak więc na każdym kroku możliwe jest obliczenie przedziału ufności na dowolnym poziomie ze średnich i odchyleń standardowych prognozowanych dla tego konkretnego czasu, a każdy krok czasowy ma swój własny przedział ufności oparty na parametrach wejściowych. Ze zdjęcia, które wstawiłem powyżej
https://miro.medium.com/max/618/1*GNvcbd0mxOGJwP3kp9Ikng.jpegtrudno jest uzyskać te poziomy ufności, powinien był wskazać poziomy 50 i 95 procent, aby uzyskać lepszy osąd. Tak, powinienem znaleźć trochę czasu na dalsze ulepszanie modeli, dzięki.

Titugcaicedo
08-04-2022 10:18, 10:18
1 Załącznik(i)

Tak krótka odpowiedź: nie opracuję pełnej strategii w najbliższych miesiącach, może później.
Być może powinieneś zacząć teraz, równolegle. Widzę kilka powodów. Pierwszym z nich jest unikanie przyjmowania problemu w złym kierunku. Mam na myśli to, że skończysz z NN, który zapewni pewną prognozę. W końcu to tylko wskaźnik. Złożony, ale wskaźnik. Twoje ryzyko polega na tym, że skończysz z narzędziem i będziesz musiał zmusić się do wymyślenia, co z niego zbudować. Drugim powodem jest to, że strategia dotycząca zarządzania pozycją będzie ważniejsza niż przewidywanie ze względu na dużą niepewność. Inny powód jest bardziej techniczny i widzę w tym szansę. Tworzysz predyktor za pomocą DL, więc myślę, że sensowne jest budowanie strategii w ten sam sposób. Budowanie obu w tym samym czasie pozwala na sprzężenie zwrotne predyktora z wynikami handlu (stają się one częścią danych wejściowych). Jeśli twój predyktor stanie się estymatorem trendu, strategia prawdopodobnie zbliży się do obserwatora trendu i będzie wymagać od predyktora skupienia się na lepszym przewidywaniu trendu. Przeczytałem Twojego bloga i chciałbym zobaczyć dwie rzeczy na zdjęciach na końcu (skopiowane poniżej). 1- Przedział ufności wokół prognozy (według moich wyników jest OGROMNY) 2- Kilka kolejnych prognoz, aby zobaczyć, jak zmienne są. =gt; Zrobiłem prosty predyktor i kiedy wybiorę ten właściwy, prognoza może być niesamowita ;-) jednak często zmienia się z namiaru na mocno byczy w jednym takcie i zmienia zdanie w następnym!
https://www.forex-instant.com/attachments/15941436411677943077.jpg

crigpkbal.siepk
08-04-2022 11:41, 11:41
{cytat} Cześć. Dobrze widzieć Twoją metodę uczenia głębokiego. Pracuję w dziedzinie AI, GA, RBF i Deep learning. Będę studiował Twoje linki i chcę zobaczyć Twoją pracę i wspólnie ulepszyć metodę. Czy możesz uprzejmie udostępnić swoje dane i czat/kod przepływu? Zaimplementuję go w MATLAB i podzielę się z Tobą za komentarze.
Witaj Yashir, Każdy kod jest dostępny na github, a instrukcja przetwarzania danych wyjaśnia potok:
https://github.com//probabilistic_wavenet_fx/blob/master/data_preparation.md. Więc masz kod. Właśnie sprawdziłem, niestety pliki danych nie trafiły na github, są za duże. Ale dane kleszczy są dostępne w dukascopy i możesz je łatwo pobrać za pomocą Tickstory:
https://tickstory.com/Nie ma zbyt wiele czasu na przejrzenie ich przez notatniki przetwarzania danych.

crigpkbal.siepk
08-04-2022 13:03, 13:03
wygląda bardzo interesująco. pierwsze pytanie, które przychodzi do głowy, to: jakiego sprzętu używasz? czy zamierzasz udowodnić swoje zabójstwa rzeczywistymi wynikami i jakie masz plany na przyszłość? Dziękuję
Trenowałem to w Google Cloud z pojedynczym procesorem graficznym Nvidia K80. Trening modelki trwał kilka godzin, ale trenowałem znacznie więcej niż w zeszycie. W zeszłym tygodniu bardzo trudno było uzyskać google GPU, ponieważ wszyscy siedzący w domowym biurze zaczęli korzystać z chmury. Trenowałem niektóre modele na CPU, ale to trwało bardzo długo. To jest projekt portfelowy. Chętnie współpracuję z profesjonalną grupą przy tworzeniu systemów opartych na modelach głębokiego uczenia się. Jeśli nie, to postaram się samodzielnie zaimplementować inne rozwiązania dla szeregów czasowych z przetwarzania języka naturalnego lub wizji komputerowej. Mam tyle pomysłów. Tak krótka odpowiedź: nie opracuję pełnej strategii w najbliższych miesiącach, może później. Ale każdy model i dane wejściowe są dostępne na Github. Chciałem tylko podzielić się tutaj możliwościami DL i porozmawiać z ludźmi zainteresowanymi systemami opartymi na uczeniu maszynowym.

MLttero
08-04-2022 14:25, 14:25
Witam, zbudowałem model głębokiego uczenia się do przewidywania cen forex. Dało to zaskakująco dobre wyniki w przewidywaniu kierunku średniej następnego słupka w porównaniu z ostatnią średnią słupkową. Modele uczenia głębokiego są w stanie znaleźć wzorce w dużych zestawach danych z wieloma funkcjami. Nie tylko podałem modelowi cenę, ale wygenerowałem wiele funkcji z danych tickowych i ekonomicznych. Opis modelu można zobaczyć tutaj:
https://medium.com/analytics-vidhya/wavenet-variations-for-financial-time-series-prediction-the-simple-the-directional-relu-and-the-4860d8a97af1?source=friends_linksk=76d1c792b83d160 7675ff2e0e2e966e5...
Cześć. Dobrze widzieć Twoją metodę uczenia głębokiego. Pracuję w dziedzinie AI, GA, RBF i Deep learning. Będę studiował Twoje linki i chcę zobaczyć Twoją pracę i wspólnie ulepszyć metodę. Czy możesz uprzejmie udostępnić swoje dane i czat/kod przepływu? Zaimplementuję go w MATLAB i podzielę się z Tobą za komentarze.

ivasgaxo8
08-04-2022 15:47, 15:47
wygląda bardzo interesująco. pierwsze pytanie, które przychodzi do głowy, to: jakiego sprzętu używasz? czy zamierzasz udowodnić swoje zabójstwa rzeczywistymi wynikami i jakie masz plany na przyszłość? Dziękuję

crigpkbal.siepk
08-04-2022 17:10, 17:10
Niech zgadnę... Masz prognozę, ale kiedy ją handlujesz - to strata, prawda?
https://www.forex-instant.com/attachments/1594143626.jpgNie, do tej pory nie handlowałem. To tylko przewidywanie, a wyniki różnych modeli wymagałyby różnych strategii, aby je zbudować. Wynik probabilistyczny wymagałby dużo myślenia o tym, jak znaleźć najlepszą dla niego strategię. To tylko połowa drogi. Ale model nie był zły na danych, których nigdy wcześniej nie widział. Tak więc, aby stworzyć dobrą strategię wokół tego, myślę, że wymagałoby to podobnego nakładu pracy, jak w przypadku budowania modelu. Ale muszę nauczyć się innego API, którego używałem wcześniej, więc może o wiele więcej pracy z mojej strony. Ale w tym artykule miałem inne cele: udowodnienie moich umiejętności w zakresie modelowania szeregów czasowych głębokiego uczenia się.

Getaregay
08-04-2022 18:32, 18:32
Niech zgadnę... Masz prognozę, ale kiedy ją handlujesz - to strata, prawda?
https://www.forex-instant.com/attachments/1594143626.jpg

memese
08-04-2022 19:54, 19:54
Witam, zbudowałem model głębokiego uczenia się do przewidywania cen forex.
Cześć - dziękuję za tę inspirację. Jestem doświadczonym, choć rzadko odnoszącym sukcesy traderem, głównie ze względu na handel przez lata względnego bogactwa, a zatem brak potrzeby jako siły napędowej. To się zmieniło. Dobrze rozumiem matematykę i algebrę oraz mam historię kodowania i uczenia się nowych językówplatform itp. w locie - PHP, python, CSS, MySQL, r itp. Czy możesz skierować mnie na najszybszą darmową drogę, aby uzyskać rozsądną znajomość deep learning/ai itp. Jestem w trakcie ściągania wszystkich danych dukas tick w ramach przygotowań do... czegoś lol.

crigpkbal.siepk
08-04-2022 21:17, 21:17
Cześć, matematyka, zwłaszcza statystyka i algebra liniowa to dobry początek. A wiedza o Pythonie jest bardzo ważna, ponieważ większość dzisiejszych bibliotek uczenia maszynowegogłębokiego uczenia jest dostępna w Pythonie. Prawdopodobnie możesz pominąć większość niezbędnych elementów przed uczeniem maszynowym. Czytałam wiele książek, prowadziłam kursy online, brałam udział w projektach. Na szczęście są darmowe opcje, a ja miałem szczęście wygrać jakiś nie bezpłatny kurs w Udacity. Moje wskazówki: 1. Najpierw na Coursera przejdź przez kurs Andrew Ng dotyczący uczenia maszynowego. Możesz to zrobić za darmo, jeśli nie chcesz certyfikatu. Niestety używa to Matlaba zamiast Pythona, ale nie jest to wielki wysiłek, aby użyć go do niektórych ćwiczeń.
https://www.coursera.org/learn/machine-learning2. Następnie możesz przejść do kursu deep learningu Andrew Ng:
https://www.coursera.org/specializations/deep-learning3. Pierwsze kroki dały Ci dobrą perspektywę na temat tego, czym jest uczenie maszynowegłębokie uczenie i jakie są ważne elementy konstrukcyjne. Sugerowałbym przeczytanie tej książki, jest super, a jeśli chcesz praktycznego podejścia, myślę, że najlepiej:
https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-TensorFlow/dp/1492032646/ref=pd_lpo_14_t_0/137-5303079-3374657?_encoding=UTF8pd_rd_i=1492032646pd_rd_r=71 8670cd-3530-42a5-a3e5-aa4fc81c8fc1pd_rd_w=CXxXvpd_rd_wg=Mvz6dpf_rd_p=7b3 6d496-f366-4631-94d3-61b87b52511bpf_rd_r=R51S3793SP7WWP73MH89psc=1refRI D=R51S3793SP7WWP73MH89Jeśli kupujesz tylko jedną książkę, kup tę. (Jeśli chcesz mieć bardziej teoretyczną książkę, sugeruję to:
https://www.deeplearningbook.org/która jest bezpłatna jako książka online. 4. Spróbuj wykonać kilka projektów. Do tego czasu będziesz miał wystarczająco dużo doświadczenia, aby znaleźć nowe kolejne kroki. Jeśli możesz sobie pozwolić, sugerowałbym przejście przez kurs głębokiego uczenia się Udacity, a ze względu na sytuację COVID, który jest bezpłatny przez miesiąc:
https://www.udacity.com/course/deep-learning-nanodegree--nd101Jeśli dasz radę w miesiąc, masz to
https://www.forex-instant.com/attachments/1594143626.jpgW głębokim uczeniu będziesz miał możliwość skorzystania z Pytorcha lub Tensorflow. Najpierw korzystałem z Pytorcha, ale od czasu wydania Tensorflow 2 nie korzystałem z innych bibliotek. Przepływ tensorowy:
https://www.tensorflow.org/learnOczywiście są inne dobre książki i kursy, ale są to bardzo dobre opcje na początek.

Lpisas
08-04-2022 22:39, 22:39
Że poziom tradingu lubię widzieć, myślę, że to pierwszy wątek, który mogę zatwierdzić.
https://www.forex-instant.com/attachments/1594143628.png