Własny BOT spekulacyjny #1

in #polish7 years ago

Niecałe dwa tygodnie temu postanowiłem zdjąć z siebie trochę obowiązków. Jednocześnie chciałem coś z tego mieć, poza zyskanym czasem. Wymyśliłem, że połączę przyjemne z pożytecznym, tworząc prostego bota spekulacyjnego, który będzie za mnie podejmował decyzje zakupowe na giełdzie kryptowalutowej.

Dlaczego BOT?

BOT w pełni automatyzuje czynności wykonywane na giełdzie. W moim prostym przypadku są to decyzje dotyczące kupna lub sprzedaży wybranej pary walutowej. Korzystanie z bota zdejmuje ze mnie również konieczność ciągłego sprawdzania kursu danej pary walutowej oraz zastanawiania się czy już sprzedawać czy jeszcze hodlować. Także najbardziej męczący czynnik nękający handlujących na giełdzie - czynnik psychologiczny jest dzięki botowi pomijany.

Dlaczego własny BOT?

Na rynku kryptowalut panuje już duża konkurencja jeśli chodzi o boty. Przykładowe serwisy oferujące takie usługi to np.:

Z pewnością są one dużo bardziej zaawansowane od mojego, ważne jednak czy są bardziej efektywne? Miarą efektywności niech tutaj będzie zysk, każdy z w/w serwisów nakłada dodatkową prowizję za korzystanie z oferowanego rozwiązania, dokładając do tego prowizję giełdy i potencjalne rozliczenie operacji w zeznaniu podatkowym jesteśmy już na starcie obarczeniu kosztami.

Własna implementacja niweluje konieczność dzielenia się zyskiem z dodatkowym usługodawcą, dodatkowo umiejętność samodzielnego wykonania połączona z chęcią nauki i odrobiną czasu kusi by spróbować.

Jak działa BOT?

BOT w moim przypadku jest to program realizujący pewien algorytm (scenariusz inwestycyjny), który łączy się z wybraną giełdą (tutaj BitMarket PL) za pomocą udostępnionego API. BOT pracuje cały czas niezależnie od godziny, dnia czy miesiąca - 24 godziny na dobę, 7 dni w tygodniu, z tego powodu mało efektywne jest uruchamianie go na własnym komputerze (chyba, że jest on cały czas włączony). Rozwiązaniem, które tutaj wykorzystałem to usługa typu VPS, dzięki której mój BOT pracuje cały czas, w swoim dedykowanym środowisku. BOT ten został napisany w języku C# w środowisku .NET Core (podobnie jak projekt NEO).

Jak BOT gra na giełdzie?

Jest on przygotowany na realizację różnych scenariuszy inwestycyjnych (najmniej skomplikowany realizuje obecnie), które można w każdej chwili dodać poprzez implementacje algorytmu takiego scenariusza.

Para BTCPLN

Obecny algorytm monitoruje giełdę. Jeśli dana para kryptowalutowa osiągnie zadeklarowany w konfiguracji próg wtedy BOT dokonuje zakupu i powiadamia mnie stosowanym komunikatem na telefon (Push Notification).

Potwierdzenie operacji na giełdzie:

Następnie dalej śledzi daną parę kryptowalutową by sprzedać pozycję za cenę wyższą niż kupił (tylko tyle i aż tyle) oczywiście z uwzględnieniem prowizji naliczanej przez giełdę. Gdy taki warunek zostanie spełniony, BOT sprzedaje i powiadamia mnie o tym fakcie.

Potwierdzenie operacji na giełdzie:

Tutaj widać, że mając do dyspozycji niecałe 50zł zarobił: 48,72 zł - 48,41 zł = 0,31 zł. Zysk może nie jest porywający, pamiętajmy jednak, że kwota początkowa do dyspozycji bota również nie jest wysoka, projekt jest młody i dopiero testowany przeze mnie. Dodatkowo realizacja takiego scenariusza niweluje problem straty, zysk będzie lecz nie wysoki.

Podobną operację wykonał na parze LTCPLN

Kupno:

Sprzedaż:

Tutaj mamy mniejszy zysk bo 0,11 zł.

Co dalej?

Projekt jest rozwojowy, z całą pewnością można go jeszcze zoptymalizować pod względem generowanego zysku, można zaimplementować bardziej ryzykowne scenariusze (konfiguracja scenariusza na chwilę obecną odbywa się poprzez plik konfiguracyjny w formacie JSON).

Obecna wersja jest prosta i najbardziej prymitywna z możliwych ale już potrafi generować jakieś zyski. Projekt nie korzysta z metod analizy technicznej, posługuje się jedynie wartością ceny (gra na spreadzie).

Sort:  

Super, zostawiam follow i czekam na dalszy rozwój bota. Jak będzie już coś do pobrania to wrzucę na mojego VPSa i przetestuję. Powodzenia w tworzeniu :)

W poście jest pewna nieścisłość:
"Dodatkowo realizacja takiego scenariusza niweluje problem straty, zysk będzie lecz nie wysoki."
Strata oczywiście jest możliwa w sytuacji, kiedy zakupiona kryptowaluta zacznie tracić na wartości na tyle dużo, że nie dojdzie ponownie do progu kupna. Aby temu zapobiec kolejna iteracja BOTa będzie posiadać funkcje stoploss.