### **Techniczne zadanie dla bota arbitrażowego z hedgingiem**
---
#### **1. Cel**
Opracować zautomatyzowanego bota do arbitrażowego handlu między giełdami kryptowalut, który:
- Nieprzerwanie monitoruje ceny rynkowe.
- Wykorzystuje hedging za pomocą kontraktów terminowych w celu zmniejszenia ryzyka wahań cen.
- Oblicza i wykonuje transakcje tylko pod warunkiem gwarantowanego zysku, uwzględniając prowizje i koszty transakcyjne.
---
#### **2. Funkcjonalność**
##### **2.1. Monitorowanie cen**
1. **Źródła danych:**
- Rynki spotowe (Binance, OKX, Bybit, Huobi).
- Rynki kontraktów terminowych (te same giełdy).
2. **Interwał:** Zapytanie o ceny z giełd co sekundę.
3. **Filtracja monet:** Parsować tylko monety, które są dostępne na kontraktach terminowych przynajmniej na jednej z giełd.
##### **2.2. Analiza rentowności transakcji**
1. **Obliczenie potencjalnego zysku:**
Używać wzoru:
\[
\text{Zysk} = \big((\text{Cena na giełdzie B} - \text{Cena na giełdzie A}) - (\text{Cena na kontraktach terminowych (zamknięcie)} - \text{Cena na kontraktach terminowych (otwarcie)})\big) \times \text{Wolumen} - \text{Prowizje i koszty}.
\]
2. **Prowizje i koszty:**
- Prowizje na giełdach spotowych.
- Prowizje za otwarcie/zamknięcie kontraktów terminowych.
- Koszty transakcyjne przy transferze między giełdami.
3. **Filtr transakcji:** Wykonywać transakcję tylko pod warunkiem, że obliczony zysk > 0.
##### **2.3. Wykonanie transakcji**
1. **Otwarcie pozycji kontraktowej (hedging):**
- Sprzedać tokeny na kontraktach terminowych po bieżącej cenie.
2. **Zakup na giełdzie A:**
- Kupić tokeny po najniższej cenie.
3. **Transfer tokenów:**
- Przenieść zakupione tokeny na giełdę B.
4. **Sprzedaż na giełdzie B:**
- Sprzedać tokeny po najwyższej cenie.
5. **Zamknięcie pozycji kontraktowej:**
- Odkupić tokeny na kontraktach terminowych w celu zamknięcia krótkiej pozycji.
##### **2.4. Logowanie**
1. Zapis danych każdej transakcji:
- Ceny (kontrakty terminowe, giełda A, giełda B).
- Prowizje.
- Koszty transakcyjne.
- Obliczony i rzeczywisty zysk.
2. Prowadzenie dziennika błędów:
- Niepowodzenia w wykonaniu transakcji.
- Opóźnienia w transakcjach.
---
#### **3. Architektura bota**
##### **3.1. Główne moduły**
1. **Moduł zbierania danych (parser):**
- Połączenie z API giełd.
- Parsowanie cen w czasie rzeczywistym.
2. **Moduł analizy:**
- Obliczenie rentowności transakcji.
- Podejmowanie decyzji na podstawie zadanych warunków.
3. **Moduł wykonania transakcji:**
- Interakcja z API w celu otwierania/zamykania kontraktów terminowych i zleceń spotowych.
- Śledzenie transferów między giełdami.
4. **Moduł logowania:**
- Przechowywanie danych transakcji i błędów.
5. **Moduł zarządzania ryzykiem:**
- Monitorowanie płynności na rynkach kontraktów terminowych i spotowych.
- Ograniczenie maksymalnych dopuszczalnych strat w przypadku siły wyższej.
---
#### **4. Szczegóły techniczne**
1. **Język programowania:** Python (z wykorzystaniem biblioteki `ccxt` do pracy z API giełd).
2. **Infrastruktura:**
- Serwer VPS do ciągłej pracy bota.
- Kopiowanie zapasowe danych (lokalnie lub w chmurze).
3. **Testowanie:**
- Wykorzystanie testowych API giełd.
- Testowe uruchomienie z rzeczywistymi danymi (w małych wolumenach) w celu sprawdzenia dokładności algorytmu.
4. **Bezpieczeństwo:**
- Użycie kluczy API z ograniczonymi uprawnieniami.
- Szyfrowane przechowywanie poufnych informacji.
5. **Aktualizacje:**
- Regularne aktualizowanie logiki w przypadku zmian na giełdach.
- Możliwość szybkiego dodawania nowych giełd.
---
#### **5. Potencjalne ryzyka i środki zapobiegawcze**
1. **Ryzyka opóźnień transakcji:**
- Użycie giełd z najmniejszymi opóźnieniami w transferach.
2. **Zmiana ceny rynkowej podczas wykonywania transakcji:**
- Ograniczenie czasu między zakupem, transferem i sprzedażą.
3. **Niedobór płynności:**
- Wstępne monitorowanie wolumenu na giełdach przed transakcją.
---
#### **6. Ostateczny wynik**
Bots, który:
- Wykorzystuje **hedging za pomocą kontraktów terminowych** w celu zmniejszenia ryzyka spadku ceny.
- Automatycznie wykonuje transakcje z gwarantowanym zyskiem.
- Uwzględnia prowizje, koszty i szybko reaguje na zmiany rynkowe.