Streszczenie dla programisty (programisty systemu handlu kwantowego)Opis projektu:Tworzymy zautomatyzowany system handlu kwantowego system transakcyjny, który wykorzystuje sygnały generowane na platformie TradingView do automatycznej realizacji zleceń na giełdach kryptowalut (lub innych finansowych). System ma na celu automatyzację strategii handlowych, minimalizację czynnika ludzkiego i zwiększenie efektywności handlu. System musi być niezawodny, bezpieczny, skalowalny i zapewniać podstawowe fu
Streszczenie dla programisty (programisty systemu handlu kwantowego)
Opis projektu:
Tworzymy zautomatyzowany system handlu kwantowego system transakcyjny, który wykorzystuje sygnały generowane na platformie TradingView do automatycznej realizacji zleceń na giełdach kryptowalut (lub innych finansowych). System ma na celu automatyzację strategii handlowych, minimalizację czynnika ludzkiego i zwiększenie efektywności handlu. System musi być niezawodny, bezpieczny, skalowalny i zapewniać podstawowe funkcje zarządzania ryzykiem.
Główne obowiązki (dla etapu MVP):
- < strong> Rozwój serwera webhook:
- Implementacja punktu końcowego API REST do odbierania webhooków z TradingView (Flask/FastAPI).
- Walidacja podpisu HMAC w celu zapewnienia bezpieczeństwo.
- Przetwarzanie i analizowanie danych JSON otrzymanych z TradingView.
- Logowanie zdarzeń (odbiór webhooka, błędy przetwarzania, walidacja).
< li>Integracja z Redis (buforowanie): - Zaimplementuj buforowanie sygnału, aby zapobiec duplikacjom i zoptymalizować wydajność.
- Skonfiguruj TTL (Time To Live) dla buforowania danych.
- Monitorowanie wydajności buforowania (współczynnik trafień, współczynnik wykluczeń).
- Wdrożenie logiki zarządzania ryzykiem: < ul>
- Ograniczenie maksymalnej wielkości pozycji (jako procent dostępnego kapitału).
- Automatyczne obliczanie i umieszczanie zleceń stop-loss i take-profit (kilka opcji kalkulacji, np. procentowo cena wejścia i wg ATR).
- Logowanie przyczyn odrzuconych transakcji (przekroczenie limitów ryzyka, niewystarczające środki).
Integracja z giełdą (za pomocą CCXT ): - Połącz się z API giełdy (Binance lub inną wybraną przez Ciebie giełdą - określ konkretną giełdę dla MVP).
- Obsługuj API wymiany błędy i ponowne próby (mechanizm ponawiania).
- Realizacja zamówienia (zlecenia kupna/sprzedaży rynkowe/z limitem ceny - wyjaśnij typy zleceń dla MVP).
- Bezpieczne zarządzanie kluczami API (przechowywanie w zmiennych środowiskowych, więcej rozważ Vault/KMS< /em>).
Wdrożenie podstawowej weryfikacji historycznej (na podstawie danych historycznych):- Pozyskanie danych historycznych (z Exchange API lub lokalna pamięć masowa - wyjaśnij źródło MVP).
- Modelowanie realizacji strategii na danych historycznych.
- Obliczanie podstawowych wskaźników (całkowity zysk/strata, liczba transakcji, wygrana stopa, wypłata).
Konfiguracja monitorowania (Prometheus/Grafana):- Zbiór podstawowych wskaźników (liczba żądań webhooka , błędy, opóźnienia przetwarzania, błędy API giełdy).
- Konfiguracja Grafany do wizualizacji metryk i tworzenia podstawowych dashboardów.
- Konfiguracja podstawowych alertów (Alertmanager).
- Konfiguracja Prometheusa pod kątem metryk
- Konfiguracja Prometheusa pod kątem metryk
- Konfiguracja Prometheusa pod kątem metryk
- Konfiguracja podstawowych alertów (Alertmanager). li>
- /ul>
- Pisanie testów:
- Testy jednostkowe dla głównych komponentów (zarządzanie ryzykiem, przetwarzanie danych).
- Testy funkcjonalne dla serwer webhook.
- Testowanie obciążenia serwera webhook (Locust)
Wymagania techniczne:
- Doświadczenie z Pythonem (Flask/FastAPI).
- Głębokie znajomość zasad REST API i webhooków.
- Doświadczenie z bazami danych (Redis).
- Dobre zrozumienie zasad Exchange API i doświadczenie z CCXT.
- Doświadczenie pisanie testów jednostkowych i testów funkcjonalnych testów.
- Zrozumienie zasad zarządzania ryzykiem w tradingu.
- Doświadczenie z systemami monitorującymi (Prometheus/Grafana) będzie dużym plusem.
- Wiedza i doświadczenie w pracy z komunikatami o kolejkach (RabbitMQ/Kafka) będzie plusem (w kolejnych etapach).
Dodatkowe prośby (niekonieczne dla MVP, ale pożądane): p>
- Doświadczenie praca z Dockerem i Docker Compose.
- Znajomość zasad CI/CD.