BOT: analiza wielu par na Solanie + sygnał wejścia (top 10) Cel - Zbudować bota, który: - monitoruje i analizuje dane z kilkudziesięciu par/rynków na Solanie, - wylicza sygnał wejścia (long/short lub buy/sell) i wybiera ~10 najlepszych okazji, - opcjonalnie automatycznie składa zlecenia (po wcześniejszym dopracowaniu ryzyka). Założenia / pytania decyzyjne (ustalić na start) 1) Czy handlujemy SPOT czy PERPS? - SPOT: swap + ewentualnie limit (zależnie od venue). - PERPS: leverage, funding, osobne ryzyka i mechanika zleceń. 2) Interwał i horyzont: skaner 5s / 30s / 1m? Sygnał intraday czy swing? 3) Jakie typy sygnałów: momentum, mean reversion, breakout, funding-arb, basis, orderflow? 4) Jakie ograniczenia: max dźwignia, max ekspozycja per rynek, max łączna ekspozycja, SL/TP? Źródła danych (Solana) - RPC (stan kont, transakcje, price feeds, orderbook/AMM state): Helius/Alchemy/QuickNode (zależnie od budżetu). - Oracle: Pyth (ceny), Switchboard (alternatywnie). - Dane DEX: - AMM (Orca/Raydium): pool state, price, liquidity, tick. - Orderbook (Phoenix/OpenBook): book depth, spread, imbalance. - Dane PERPS: - Drift: mark price, oracle, funding, OI, pozycje, margin, orderbook/perp state (przez Drift SDK). Architektura (proponowana) 1) Universe (lista rynków) - Start: 30–80 rynków (np. top wolumen / top open interest / ręcznie wybrane). - Aktualizacja listy raz dziennie lub co godzinę. 2) Collector (pobieranie danych) - Polling (bez batch) + cache: - ceny (Pyth/oracle), - wolumen / OI / funding (perps), - spread/depth (orderbook), - liquidity/TVL (AMM). - Normalizacja do jednego formatu: - timestamp, symbol/marketId, price, returns, vol, spread, depth, funding, OI, liquidity. 3) Feature engineering (cechy) - returns (1m/5m/15m), RSI, EMA cross, ATR/volatility, - orderbook imbalance, spread %, slippage estymowana dla rozmiaru pozycji, - perps: funding (aktualny + trend), basis, utilization, OI change. 4) Scoring (ranking i selekcja top N) - wynik = f(signal_strength, liquidity_score, cost_score, risk_score) - filtr: minimalna płynność / maksymalny spread / maks. slippage - wybór: top 10 rynków do wejścia lub do obserwacji. 5) Execution (składanie zleceń) – dopiero po stabilizacji - tryb “paper” (log + symulacja) -> tryb “live” (małe size). - risk manager przed wysłaniem zlecenia: - max size per rynek, - max łączna ekspozycja, - cooldown, max liczba otwartych pozycji, - warunki anulowania (np. slippage > X). 6) Observability - logi sygnałów i decyzji, - metryki (winrate, MDD, slippage, koszt fee, latency), - alerty (RPC errors, divergence oracle/mark, brak danych). Jaki dApp jest najlepszy do bota? To zależy od tego, czy chcesz SPOT czy PERPS. Praktyczne kryteria “najlepszy” dla bota: - Czy ma stabilne API/SDK (TS/Python), dobre typy i przykłady? - Czy obsługuje zlecenia limit/market i ma sensowną płynność? - Czy pozwala na bezpieczny model kluczy (delegate / subaccount / ograniczenia)? - Jakie są koszty (fees, slippage) i ryzyka (leverage/funding)? Rekomendacja (jeśli celem jest PERPS i sygnały na 10 rynkach) - Drift (PERPS) jest najpraktyczniejszy dla bota na Solanie, bo: - ma dojrzałe SDK (@drift-labs/sdk) i workflow delegate (hot key do tradingu), - umożliwia margin/perps, typowe order types i subaccounty, - ma jeden spójny system ryzyk (margin, health), co ułatwia kontrolę ekspozycji. - To jest też spójne z obecnym repozytorium (workflow Drift + delegate + SOL-PERP). Rekomendacja (jeśli celem jest SPOT i egzekucja swapów) - Jupiter (agregator) jest zwykle najlepszy do wykonania swapów na SPOT: - optymalizuje routing, upraszcza egzekucję, - łatwo wycenić i policzyć slippage dla różnych par. - Jeśli potrzebujesz limit orders na SPOT: - rozważ venue orderbook (Phoenix/OpenBook) albo dApp, które natywnie wspiera limity, - kosztem większej złożoności (orderbook + cancel/replace). Proponowany “hybrid” (często najlepszy w praktyce) - Sygnał generujesz niezależnie od venue (feature store + ranking), - SPOT wykonujesz przez Jupiter (najlepsza egzekucja), - PERPS wykonujesz na Drift (leverage + perps), - Dane rynkowe mieszasz: oracle + DEX metrics + perps metrics. Minimalny MVP (1–2 tygodnie, bez live trading) 1) Universe 30–50 rynków + konfiguracja w pliku. 2) Collector: ceny + podstawowe metryki per rynek (wspólny format). 3) Ranking: prosty score (momentum + liquidity - cost). 4) Output: co X sekund zapis: - top 10 rynków, strona (long/short), siła sygnału, est. slippage, uzasadnienie (cechy). 5) Backtest “na sucho”: - zapis sygnałów do CSV/JSONL, później analiza w Pythonie. Następne kroki (żeby doprecyzować i dobrać dApp ostatecznie) 1) Potwierdź: SPOT czy PERPS (czy oba)? 2) Podaj listę par (albo kryterium wyboru). 3) Potwierdź częstotliwość skanowania (np. 10s/30s/60s) i horyzont. 4) Powiedz, czy bot ma tylko sygnalizować, czy też automatycznie tradować.