HBase
 sql >> Baza danych >  >> NoSQL >> HBase

Wykorzystanie COD i CML do tworzenia aplikacji, które przewidują dane giełdowe

Nie, nie bardzo. Prawdopodobnie nie będziesz bogaty, jeśli nie będziesz naprawdę ciężko pracować… Choć byłoby to miłe, nie możesz przewidzieć ceny akcji wyłącznie na podstawie ML, ale teraz mam twoją uwagę!

Kontynuując mój poprzedni wpis na blogu o tym, jak niesamowite i łatwe jest tworzenie aplikacji internetowych wspieranych przez operacyjną bazę danych Cloudera (COD), rozpocząłem mały projekt integracji COD z innym doświadczeniem w chmurze CDP, Cloudera Machine Learning (CML).

W tym demo postaram się przewidzieć zachowanie ceny otwarcia akcji na podstawie ich danych historycznych, czyli czy cena otwarcia akcji wzrośnie czy spadnie. Nie jestem naukowcem zajmującym się danymi, ale jest wiele przykładów online, jak to zrobić (wziąłem kilka próbek kodu, naprawiłem je i dostosowałem do pracy z COD). W tym celu wykorzystam algorytm LSTM (Long Short-term memory). Ogólnie RNN (rekurencyjne sieci neuronowe) i LSTM działają bardzo dobrze z danymi szeregów czasowych

Aby uniknąć wątpliwości, nie udajemy, że jesteśmy ekspertami od giełdy i nic w tym poście na blogu nie powinno być w żaden sposób traktowane jako porada finansowa. To tylko przykład tego, jak stworzyć rozwiązanie z wykorzystaniem oprogramowania Cloudera.

Główne komponenty użyte w tym demo:

  • Operacyjna baza danych Cloudera (COD), jak wspomniałem w moim poprzednim poście, to zarządzane rozwiązanie dbPaaS dostępne jako doświadczenie w Cloudera Data Platform (CDP)
  • CML jest przeznaczony dla naukowców zajmujących się danymi i inżynierów ML, umożliwiając im tworzenie i zarządzanie projektami ML od kodu do produkcji. Główne cechy CML: 
    • Środowisko programistyczne dla naukowców zajmujących się danymi, izolowane, kontenerowe i elastyczne
    • Produkcyjny zestaw narzędzi ML – wdrażanie, udostępnianie, monitorowanie i zarządzanie modelami ML
    • Obsługa aplikacji – Twórz i udostępniaj niestandardowe aplikacje dla przypadków użycia ML
    • Pakiety aplikacji z informacjami dla użytkowników biznesowych
      • Proste budowanie kokpitów i aplikacji metodą „przeciągnij i upuść” za pomocą wizualizacji danych Cloudera
      • Aplikacje szablonowe jako zestawy startowe dla Twoich przypadków użycia
  • Dane magazynowe – do pobrania danych magazynowych skorzystałem z usługi alpha vantage (wersja darmowa). Zasadniczo jest to usługa, która pozwala uzyskać dzienne podsumowanie statystyk giełdowych (otwarte, zamknięte, niskie, duże obroty)

Zbuduj aplikację

Pierwszą rzeczą, którą musimy zrobić, to stworzyć bazę danych w COD.

1. Zaloguj się do płaszczyzny kontrolnej Cloudera Data Platform Public Cloud

2. Wybierz Operacyjną bazę danych, a następnie kliknij „Utwórz bazę danych”

3. Wybierz swoje środowisko i nazwij bazę danych

4. Po uruchomieniu bazy danych przejdź do zakładki JDBC

5. Ustaw hasło obciążenia CDP

6. Przejdźmy teraz do CML – wróć do płaszczyzny sterowania i kliknij „Uczenie maszynowe”, a następnie „Zapewnij obszar roboczy” Nadaj nazwę swojemu obszarowi roboczemu i wybierz środowisko, którego chcesz używać

7. Po udostępnieniu obszaru roboczego utwórz nowy projekt, nadaj mu nazwę i użyj git jako kodu źródłowego. Cały kod źródłowy można znaleźć tutaj.

8. Po utworzeniu projektu zobaczysz wszystkie pliki w katalogu projektu:

9. Mało dodatkowej logistyki – musimy stworzyć zmienne środowiskowe dla projektu, które będą przechowywać dostęp do naszej bazy danych oraz klucz API alpha vantage. Aby to zrobić, przejdź do zakładki „ustawienia projektu -> zaawansowane”

10. Teraz zacznijmy prowadzić projekt – kliknij „nowa sesja”, nadaj nazwę sesji, wybierz „python 3” i profil zasobów

11. Albo na terminalu, albo w CLI na dole, zainstaluj wszystkie wymagane biblioteki, uruchamiając „pip3 install -r wymagania.txt”

12. Kolejnym krokiem jest stworzenie naszej tabeli, w której dane będą przechowywane w naszej bazie danych. w tym celu uruchom skrypt instalacyjny:

13. Teraz zacznijmy testować nasz model! Przejdź do runner.py i uruchom go. Zasadniczo ten skrypt wykonuje następujące czynności:

a) Pobiera dzienne dane giełdowe z perspektywy alfa

b) Podstawowa transformacja danych

c) Przechowuj dane w operacyjnej bazie danych Cloudera

d) Uruchom model i utwórz plik modelu (tech_ind_model.py)

e) Uruchom prognozę dla ostatnich 120 dni

f) Oblicz przewidywane zarobki, jeśli kupujemy i sprzedajemy akcje po dokładnych kursach

14. Gdy program jest uruchomiony, zobaczysz, że zbiera on dane dla każdej akcji, przesyła je do COD, wykonuje prognozę i tworzy wykres przedstawiający przewidywaną cenę w stosunku do ceny bieżącej. Chociaż wykres pokazuje, że tendencja w większości przypadków jest bardzo podobna, nawet niewielka różnica może wpłynąć na łączne przychody z tych rekomendacji. Dane wyjściowe z serii zawierają poniższe informacje dla każdego zapasu:

a) zalecenie:zachowaj/kup/sprzedaj

b) ostatnia przewidywana:ostatnia przewidywana cena

c) cena:ostatnia cena

d) przewidywane:przewidywanie następnej otwartej ceny

e) sygnał:wysoki/niski – czy rekomendacja jest silna/nie

15. Opierając się na tym, że ostatnio uruchomiłem program, straciłbym pieniądze na większości akcji na podstawie rekomendacji, ale jednocześnie było kilka, które przewidywały zysk do 20%!!!

Obecnie handel algorytmiczny w ogóle i przewidywanie cen akcji to tematy, które istnieją od wielu lat. Aby zoperacjonalizować takie przypadki użycia uczenia maszynowego, potrzebujesz potężnych narzędzi, które są łatwe w użyciu, skalowalne i gotowe do użycia w przedsiębiorstwie.

Operacyjna baza danych Cloudera zapewnia opóźnienie poniżej sekundy dla losowego odczytu/zapisu i jest dokładnie tym, czego potrzebują aplikacje czasu rzeczywistego, takie jak te używane w branży usług finansowych.

Aby rozpocząć korzystanie z CML i COD…

Mam nadzieję, że okaże się to przydatne,

Miłego kodowania!


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Hadoop Partitioner — poznaj podstawy programu MapReduce Partitioner

  2. How-to:Dodaj Cloudera Search do swojego klastra za pomocą Cloudera Manager

  3. Budowanie skalowalnego procesu przy użyciu NiFi, Kafka i HBase na CDP

  4. Operacyjna baza danych w CDP

  5. Instrukcje:włączanie uwierzytelniania i autoryzacji użytkownika w Apache HBase