[PL] Wstęp do zautomatyzowanego handlu na giełdzie BitShares DEX, czyli coś o DEXBot

in #polish4 years ago (edited)

Jak pewnie wiecie, zdecydowana większość obrotów handlowych na giełdach jest dziełem botów, szacuje się wg różnych źródeł że generują one 90-95% całego obrotu.. Na rynku krypto również są one obecne i już po kilku minutach spędzonych przy wyszukiwarce znajdziemy kilka z nich. Większość z nich jest płatna, ale są również darmowe - te wymagać mogą nieco więcej zaangażowania i technicznej wiedzy.
Z moich obserwacji wynika, że działanie botów można podzielić na 3 grupy. Działają one w oparciu o :

  • wartości wskaźników Analizy Technicznej (EMA, SMA, RSI, MACD, itp)
  • różnice kursów między giełdami - boty arbitrażowe
  • zapewnianie płynność na giełdzie - to grupa tzw. botów MM (ang. Market Making)

DEXbot-Windows-ver

Pierwsze dwie grupy są aktywnymi aktorami rynku, wykonują zwykle zlecenia typu Market Taker, natomiast boty Market Maker, jak nazwa wskazuje są botami pasywnymi - składają ofertę i czekają na jej realizację zwiększając głębokość rynku, czyniąc go atrakcyjniejszym.

DEXBot, należy do trzeciej grupy botów MM, działa tylko i wyłącznie na giełdach wykorzystujących BitShares DEX jako swój silnik. Do najpopularniejszych z nich w chwili pisania tego posta należą, GDEX.io, ex.XBTS.io są również inne giełdy, ale nie będę ich opisywał ponieważ na chwilę obecną nie mają działających bramek w referencyjnym portfelu wallet.BitShares.org

DEXBot sfinansowany został w ramach programu BitShares Worker Proposal przez sieć z opłat transakcyjnych i dlatego jest darmowy. Poniżej 3 etapy powstawania DEXBot

  1. https://docs.google.com/document/d/1frX-I1JeQxDNDZ270clEQei2LT15ncGYW5n1Lx8xkeY/edit
  2. https://www.dexbot.info/2018/12/12/cabinet-multisig-dexbot-wp2/
  3. https://www.dexbot.info/2019/06/04/dexbot-worker-proposal-wp3/

Uwagi

Osoby które pierwszy raz spotykają się z BitShares, muszą wiedzieć, że :

  1. Istnieje kilka różnych typów tokenów, najważniejszy z nich to Core Token - BTS jego właścicielem jest systemowe konto null-account do którego dostęp został “spalony”, na tym tokenie nie ma żadnych specjalnych uprawnień i nie można ich zmieniać. Token BTS jest umocowany prawnie w grupie utility token

  2. w BitShares występują tokeny zdecentralizowane - ich właścicielem jest konto committee-account, do którego prawo posiada gremium 11 osób, którego skład się zmienia w zależności od wyników głosowania społeczności, a emitentem może być każdy, oraz Tokeny scentralizowane emitowane przez biznes wykorzystujący BitShares jako silnik giełdowy - trzy z nich wymieniłem wyżej. Token możesz również wyemitować sam, na użytek prywatny.

  3. Handel na BitShares odbywa się w 100% peer 2 peer - z konta na konto - nie ma ani osób, ani smart-kontraktów pośredniczących. Jedna osoba wystawia zlecenie sprzedaży, a druga kupna i jeśli ceny się krzyżują, to następuje wymiana pomiędzy użytkownikami.

  4. Sieć pobiera małe płaskie fee za złożenie i anulowanie zlecenia. W przypadku anulowania zlecenia, pobierane jest fee za anulowanie, ale jednocześnie zwracane jest fee za złożenie zlecenia.

    na dziś cena 1 BTS = ~0.07 gr.
    złożenie zlecenia = 0.04826 BTS (x 0.07 = 0.0033782‬ groszy)
    anulowanie zlecenia = 0.00482 BTS (x 0.07 = 0.0003374 groszy)

    Wysokość płaskiego fee zmienia się, członkowie gremium Committee ustalają ceny co jakiś czas, tak aby uwzględniały one zmianę kursu BTS i pozostawały atrakcyjne

    Oprócz płaskiej opłaty pobieranej przez blockchain, pobierana może być również relatywna opłata przez właścicieli tokenów i często wynosi ona od 0.1% do 0.2% W momencie kiedy piszę tego posta bitRUBLE posiada 0% fee relatywnego, natomiast bitEUR, bitUSD i bitCNY, GDEX.BTC, XBTSX.BTC posiadają 0.1%, a XBTSX.BTC - 0.2%

  5. W sieci BitShares można dowolnie zestawiać pary handlowe tzn każdy istniejący w sieci token może być wymieniony na każdy inny istniejący token. Rynek powstaje w momencie złożenia pierwszego zlecenia na tak wybranym rynku. Dodatkowo można dowolnie zamieniać tokeny miejscami Quote może stać się Base i odwrotnie.

  6. Dane logowania tj. nazwa konta, czyli adres oraz hasło, utworzone w portfelu referencyjnym pasuje, to wszystkich innych giełd BitShares, ponieważ działają one jak Seed, który generuje klucze. Możesz mieć więcej niż 1 hasło i więcej niż 1 parę kluczy podpięte do tego samego adresu. Więcej na grupie BitShares w komunikatorze telegram.


Instalacja

Instrukcja instalacji dla Windows, Linux, Mac w języku angielskim znajduje się na stronie:
https://github.com/Codaone/DEXBot/wiki

Plik instalacyjne znajdują się na stronie :
https://github.com/Codaone/DEXBot/releases

Nie będę opisywał tutaj instalacji, jest ona dość prosta, w przypadku Linuksa zaleca się stosowanie wirtualnego środowiska dla Python. Warto to zalecenie potraktować jak konieczność. Jeśli masz pytania o instalacje, szukaj w linkach na dole tego posta.

DEXbot - Linux - command line GUI


Strategie

Szczegółowy opis tej części byłby bardzo długi, dlatego też skrócę ten opis na tyle, żeby każdy miał jako takie rozeznanie, a szczegóły, konfigurację oraz Tips & Tricks przeniosę do części drugiej, która powstanie tym prędzej, im większe będzie zainteresowanie.


Relative Orders [RO]

Jest to strategia, która wymaga aktywności 24/7. Polega na wystawieniu 1 zlecenia kupna pod ceną środkową oraz 1 zlecenia sprzedaży nad ceną środkową lub ceną po której zrealizowało się nasze ostatnie zlecenie. Cena środkowa kalkulowana jest dynamicznie na podstawie aktualnego arkusza zleceń, dzieje się tak za pierwszym razem kiedy uruchomimy naszego bota, później jest to opcjonalne, ponieważ ceną środkową może być nasze poprzednie zrealizowane zlecenie.

W strategii tej kluczowe są następujące parametry ustalane przez użytkownika:

  • spread, czyli procentowa różnica między naszym zleceniem zakupu i sprzedaży.
  • wielkość zlecenia, może być ona stała lub relatywna (% salda):

Jak się nad tymi parametrami zastanowić, to okazuje się że możliwości są ogromne. W przypadku ustawienia zlecenia w okolicach 0.5% - 1.5% mamy konfigurację która może tak pracować w nieskończoność nawet na dość zmiennych rynkach.

Uwagi.
  • dla zlecenia relatywnego

Przy bardzo dużych zmianach cen (pika +/- 20%) i więcej dziennie i przy wysokich wartościach % zleceń, większych niż 1,5%, bot może przynieść stratę lub nie przynosić zysków, na takich rynkach stosuje się strategię: “Staggered Orders” lub stosuje się mniejszą relatywną wartość zlecenia i/lub większy spread.
Bot dąży zawsze do utrzymania równowagi 50/50 wartości dla obu tokenów.

  • dla zlecenia stałego

Bot pracujący ze stałą wartością zlecenia z czasem zarabia i powiększa obszar w którym może pracować. Dla pary Quote / Base stała jest kwota Quote, więc bot zarabia w Base. W konfiguracji bota tokeny Quote / Base można dowolnie zamieniać miejscami.
Bot może pracować w stanie braku równowagi 50/50 i nie dążyć do jej osiągnięcia.


Staggered Orders [SO]

Jest to strategia, polegająca na handlu siatką wielu zleceń i można ją stosować na komputerach które nie pracują z aktywnością 24/7. Bot nadrobi różnicę po ponownym uruchomieniu. DEXBot pracuje w wyznaczonym obszarze cenowym z zadanym spread i przyrostem, zalecany spread jest co najmniej 2x większy niż przyrost.

Przykład:
  • para BTC / USD
  • limit górny 20,000
  • limit dolny 3,000
  • spread 3%
  • przyrost 1%
W strategii tej DEXBot
  • ustala cenę środkową na podstawie bieżącego arkusza zleceń.

  • następnie generuje siatkę zleceń zakupu i sprzedaży, w taki sposób, że :

    • pierwsze zlecenie kupna znajduje się ok 1,5% poniżej wyliczonej ceny środkowej, a następne poniżej od niego o 1% i tak aż do 3,000.

    • pierwsze zlecenie sprzedaży znajduje się ok 1,5% powyżej wyliczonej ceny środkowej i następne powyżej niego o 1% i tak aż do 20,000.

    • jeśli cena rynkowa przesunie się w górę o 1.5% (połowę spreadu) i zrealizowane zostanie nasze najbliższe zlecenie sprzedaży, to DEXBot wystawi nowe kolejne zlecenie zakupu, bliżej ceny rynkowej o 1% wyżej od poprzedniego. Jeśli następnie cena znów spadnie aż do poziomu naszego zlecenia zakupu (o 3%) to wystawione zostanie nowe zlecenie sprzedaży, niżej o 1% od poprzedniego.

  • ilość zleceń widoczna w arkuszu zleceń jest konfigurowalna przez użytkownika. W przypadku uruchomienia tej strategii na serwerze pracującym 24/7 można ustawić niewielką liczbę np. 3%-5% pokrycia, ale dla komputerów wyłączanych na noc rekomenduje się ustawienie pokrycia na poziomie spodziewanego skoku cenowego w czasie kiedy komputer nie jest włączony, dla krypto to może być nawet nawet 15-25%. Reszta zleceń jest wirtualna, zostaną one zamienione na prawdziwe jeśli ilość zleceń realnych jest mniejsza niż podana w konfiguracji.

  • Wszystkie zyski kompensowane są wewnątrz wyznaczonego przedziału.

  • Strategia ta doskonale spisuje się w każdym przypadku o ile prawidłowo zdefiniujemy granicę w których pracować będzie bot.

  • Im rynek jest bardziej kapryśny i zmienny oraz im więcej pęka Longów i Shortów, tym strategia zarabia więcej.


King of the hill [KOTH]

Jest to strategia której zadaniem jest utrzymywanie naszego zlecenia możliwie najbliżej najwyższej ceny zakupu lub najniższej ceny sprzedaży. Możliwe opcje :

  • tylko sprzedawaj - opcja stosowana jeśli chcemy powoli sprzedawać dany token.

  • tylko kupuj - opcja stosowana jeśli chcemy powoli skupować dany token z rynku.

  • kupuj i sprzedawaj - strategia ustawia nasze zlecenia pierwsze w kolejce, ustawieniem kluczowym jest pomijanie zleceń mniejszych niż skonfigurowana wartość zlecenia. Ma to zabezpieczać przed wyścigiem do spread = 0, na chwilę obecną nie można ustawić minimalnej wartości spread, opcja ta ma pojawić się w kolejny wersjach.


Przydatne linki


Strony :
https://github.com/Codaone/DEXBot/wiki (Wiki na temat DEXBot)
https://peakd.com/c/hive-169122/created (Społeczność HIVE)


Telegram :
https://t.me/Bitshares_DEX_PL (PL)
https://t.me/DEXBOTbts (EN)