Poniżej przedstawiamy schematyczny opis procesu prognozowania, od etapu zbierania danych, poprzez analizę, po gotowe wyniki.
Agregacja danych
Dane behawioralne (wzmianki tekstowe)
- W trybie ciągłym pobierane są dane tekstowe (wzmianki) z popularnych źródeł w internecie, jak: Twitter, Facebook, Wykop, Reddit, Fora, Blogi, strony internetowe etc.,
- Aktualnie pobierane są dla języka polskiego, docelowo będą pobierane dla 18 języków, z których będą brane pod uwagę 3-4 języki z największą ilością wzmianek,
- Każda wzmianka ma swój znacznik czasowy, kiedy została utworzona.
Dane finansowe
- W trybie ciągłym pobierane są dane z giełdy Bitstamp. Sentimenti pobiera je poprzez API do giełdy, użytkownicy, np. celem sprawdzenia lub porównania, mogą je pobrać z takich stron, jak: https://www.cryptodatadownload.com/data/bitstamp/ (do pobrania CSV) lub https://coinpaprika.com/coin/btc-bitcoin/ (opcja “export” pod wykresem)
- dane pobierane są w każdorazowo dla pełnej godziny (dla 15:00, 16:00, 17:00 itd.),
- Możliwe jest pobieranie danych z innych giełd, Bitstamp został wybrany z uwagi na wygodę dostępu do danych. W docelowym rozwiązaniu planowane jest rozszerzenie możliwości wyboru giełdy z kilku dostępnych.
Analiza
Analiza behawioralna (emotywna)
- Codziennie, po godzinie 16:00 analizowane są wzmianki z ostatnich 3 dni. Oznacza to, że przykładowo dla 05 maja 2020 brane są do analizy wzmianki od 2 maja 16:00 do 5 maja 16:00. Każda wzmianka jest oceniana procentowo pod kątem 11 znaczników: 8 emocji, sentyment pozytywny, sentyment negatywny i pobudzenie.
Analiza finansowa
- Podobnie, jak dla danych behawioralnych (patrz wyżej), także dla danych finansowych brane są pod uwagę dane z ostatnich 3 dni poprzedzających dzień predykcji.
*UWAGI:
Pod uwagę brane są dane z ostatnich 3 dni, aby model lepiej wychwycił zmiany trendów.
Dlaczego akurat w przedziale 16:00 - 16:00, opisaliśmy w innym artykule.
Wyniki
Model Sentistock zestawia dane behawioralne z finansowymi, szukając korelacji pomiędzy nimi. Sam sposób działania naszego modelu opartego o głębokie sieci neuronowe – model do predykcji kursu w następnym okienku godzinowym zbudowany jest na bazie sztucznej sieci neuronowej typu BiLSTM (bidirectional long short-term memory), czyli rekurencyjnej sieci neuronowej dedykowanej do przetwarzania danych sekwencyjnych w obu kierunkach.
Obrazowo model działa w następujący sposób:
Zestawem danych wejściowych jest zapis ostatnich 72h podzielonych w 3 okienka po 24h i informacji finansowych przypadających na ten okres dotyczących kursu otwarcia, minimalnego, maksymalnego oraz zamknięcia w połączeniu ze średnimi wartościami dla danych będących wynikiem analizy przy użyciu narzędzi Sentimenti – 8 emocji podstawowych, sentyment oraz pobudzenie. Łącznie dla każdego z 3 okienek mamy po 15
pozycji, które przekazujemy sieci w celu uzyskania predykcji. Wartością wyjściową, do której stroimy model w trakcie uczenia nadzorowanego jest wartość średniego kursu zamknięcia w kolejnych 24h.
Do predykcji wykorzystujemy model wyuczony na danych na całym 2018 i 2019 roku. Taka ilość informacji pozwala na wyuczenie modelu wzorców, które jest w stanie automatycznie wykrywać i reagować na nie. Model jest okresowo douczany o najnowsze dane, celem poprawienia jego skuteczności. Model generuje wynik w postaci średniego kursu zamknięcia na kolejne 24 godziny (do godziny 16:00 dnia następnego).
W przypadku, kiedy zaprognozowany kurs mieści się w przedziale -0,8% – +0,8%, uznajemy, że jest to trend boczny. Przy przekroczeniu tych wartości prognozujemy zauważalny trend wzrostowy lub spadkowy.