### **Технічне завдання для арбітражного бота з хеджуванням**
---
#### **1. Мета**
Розробити автоматизованого бота для арбітражної торгівлі між криптовалютними біржами, який:
- Постійно моніторить ринкові ціни.
- Використовує хеджування через ф'ючерси для зменшення ризиків цінових коливань.
- Розраховує та виконує операції лише за умови гарантованого прибутку з урахуванням комісій та транзакційних витрат.
---
#### **2. Функціональність**
##### **2.1. Моніторинг цін**
1. **Джерела даних:**
- Спотові ринки (Binance, OKX, Bybit, Huobi).
- Ф'ючерсні ринки (ті ж біржі).
2. **Інтервал:** Запит цін з бірж кожну секунду.
3. **Фільтрація монет:** Парсити лише монети, які доступні на ф'ючерсах хоча б на одній з бірж.
##### **2.2. Аналіз прибутковості угоди**
1. **Розрахунок потенційного прибутку:**
Використовувати формулу:
\[
\text{Прибуток} = \big((\text{Ціна на біржі B} - \text{Ціна на біржі A}) - (\text{Ціна на ф'ючерсах (закриття)} - \text{Ціна на ф'ючерсах (відкриття)})\big) \times \text{Обсяг} - \text{Комісії та витрати}.
\]
2. **Комісії та витрати:**
- Комісії на спотових біржах.
- Комісії за відкриття/закриття ф'ючерсів.
- Транзакційні витрати на переказ між біржами.
3. **Фільтр угод:** Виконувати угоду лише за умови, що розрахований прибуток > 0.
##### **2.3. Виконання угоди**
1. **Відкриття ф'ючерсної позиції (хедж):**
- Продати токени на ф'ючерсах за поточною ціною.
2. **Купівля на біржі A:**
- Купити токени за найнижчою ціною.
3. **Переказ токенів:**
- Перевести куплені токени на біржу B.
4. **Продаж на біржі B:**
- Продати токени за найвищою ціною.
5. **Закриття ф'ючерсної позиції:**
- Викупити токени на ф'ючерсах для закриття короткої позиції.
##### **2.4. Логування**
1. Зберігати дані кожної угоди:
- Ціни (ф'ючерси, біржа A, біржа B).
- Комісії.
- Транзакційні витрати.
- Розрахований і фактичний прибуток.
2. Вести журнал помилок:
- Невдачі у виконанні угод.
- Затримки в транзакціях.
---
#### **3. Архітектура бота**
##### **3.1. Основні модулі**
1. **Модуль збору даних (парсер):**
- Підключення до API бірж.
- Парсинг цін у реальному часі.
2. **Модуль аналізу:**
- Розрахунок прибутковості угоди.
- Прийняття рішень на основі заданих умов.
3. **Модуль виконання угод:**
- Взаємодія з API для відкриття/закриття ф'ючерсів та спотових ордерів.
- Трекінг переказів між біржами.
4. **Модуль логування:**
- Зберігання даних угод та помилок.
5. **Модуль управління ризиками:**
- Моніторинг ліквідності на ф'ючерсах і спотових ринках.
- Обмеження максимально допустимого збитку в разі форс-мажору.
---
#### **4. Технічні деталі**
1. **Мова програмування:** Python (з використанням бібліотек `ccxt` для роботи з API бірж).
2. **Інфраструктура:**
- VPS-сервер для постійної роботи бо