# 👾 mójBot Spread BASIS w 4 godziny wypracowął zysk 46 USDT

W obecnej chwili bot jest w stanie zrealizowania zysku netto na 46.61 USD w ciągu 4h w czasie hosssy, ale pierwotnie ma być stosowany w czacie bessy. Na razie strategia użyta w moim bocie pracujacym w reżymie Spread basis w sieci **testnet giełdy Bybit** działa z niewielkim, ale realnym zyskiem, co przy tej strategii wynik jest zadawalający mały wkład małe zyski - wejscia są realizowane minimum dla spot 10$ a dla futures 0.001 BTC.
📺 A tak bot na żywo pracowął -film na YouTube 👇
[](https://www.youtube.com/watch?v=anp1s0EMS34)
> Spread basis (różnica między ceną futures a ceną spot) to kluczowy wskaźnik przy strategiach arbitrażowych.
**Jak Obliczać Spread Basis?**
* Spread basis wyraża się wzorem:
* Basis = Cena Futures - Cena Spot
* (lub w procentach: Basis % = (Futures/Spot - 1) × 100%)
**Przykład z danych:**
* Jeśli futures kosztuje 106,800 USDT, a spot 104,352.69 USDT:
* Basis = 106,800 - 104,352.69 = 2,447.31 USDT
* Basis % = (106,800 / 104,352.69 - 1) × 100 ≈ 2.35%
Bot wymaga jednak optymalizacji, przede wszystkim po stronie funkcji futures i ograniczenia liczby wejść do sytuacji z wyraźnym premium w tym modelu.
📌 Stan początkowy - 20.05.25 15:20:
* BTC: 0.00219796 ≈ 229.06 USD
* USDT: 1,907.08 USD
* Łączna wartość startowa: ≈ 2,136.14 USD
📌 Stan końcowy - 20.05.25 18:50:
* BTC: 0.01023192 ≈ 1,107.35 USD
* USDT: 1,075.40 USD
* Łączna wartość końcowa: ≈ 2,182.75 USD
# 📊 Zysk brutto:
* Zysk końcowy: 2,182.75 - 2,136.14 = **+46.61 USD** wciągu 4h
* Zwrot procentowy: ~2.18%
# 📋 Szczegóły operacyjne:
**▪️ Futures:**
110 operacji – większość ujemna, koncowy P&L: +0.95 USD
* Niewielki zysk netto, świadczy o częstych stratach w krótkim terminie / poniewaz rynek był wznoszący czyli 🐂
* Możliwe, że timing shortów nie jest optymalny, albo zbyt ciasny SL lub zbyt niski basis wejścia - trzeba to jeszcze sprawdzić.
**▪️ Spot:**
131 operacji, koszt: 1,039.54 USD
* Uzyskano: 0.010027 BTC po kosztach
* Średni koszt 103,63 USD za 0.001 BTC, czyli ~10,363 USD/BTC (realistyczna średnia minimum wejścia spot to 10$ a ja ustawiłem na 11$ w celach optymalizacji).
* Fee: 0.000010 BTC = ~1.07 USD, co potwierdza typowe 0.1% fee dla spot (0.00001 na 0.01 BTC).

# 🧠 Ocena strategii
✅ Plusy:
* Zysk netto: ~46.6 USD na łącznym kapitale 2,136 USD (~2.18%) — to niewielki, ale dodatni wynik.
* Małe fee na spocie, nawet dobra kontrola kosztów.
* Eksperyment zakończyłem z większą ilością **BTC** (z 0.0022 do 0.0102), co przy spadkach gdyby bot pracowal możena by ładną kupke uzbierać, czyli mozne to być stopniowa akumulację taniego BTC.
**❌ Minusy / zagrożenia:**
Futures przynoszą niskie albo i ujemne wyniki przy dużej liczbie operacji — warto jeszcze sprawdzić:
* czy timing pozycji nie był zbyt losowy względem basis.
* duża liczba operacji (241 łącznie) wysoka aktywność, a zysk stosunkowo niewielki.
# **🔧 Co poprawić:**
* Zwiększyć minimalny basis dla wejścia.
* Zmniejszyć liczbę operacji, być możę zwiększy to stosunek zysku do liczby transakcji i ograniczy fee.
* Warto zoptymalizować TP/SL futures, obecne zamknięcia mogą być zbyt pochopne - testnet geldy pracuje bardzo haotycznie - to tylko testy.
* Trzeba wprowadzić miernik efektywności – np. zysk na transakcję, średnie fee, średni basis.
**Opcjonalnie:**
* Trzeba wprowadzić logi transakcyjne – każda operacja z datą, basis, P&L, typem wejścia/wyjścia.
# ♨️ Dodatek z dnia następnego:
Poprawiłem w/w zalecenia dodałem zapis logów oraz też jest już i podstawowy dashbord.

Po przetestowaniu nowej wersji skryptu poprosiłem gptchata o analizę wyjściowych logów z dzisiejszego dnia czyli 21.05.2025 - hossa za chwilę BTC przebije 110K i oto co z 12 operacji wywnioskował gptchata:
**📈 Zasady strategii widoczne w danych:**
**Wejście:**
* Kupno spotu (long) i sprzedaż kontraktu futures (short), gdy basis (premia futures) przekracza określony poziom (np. > 3%).
* Ilość pozycji: 0.001 BTC (~10–11 USD), co odpowiada Pańskim założeniom.
* Przykład: entry przy basis 3.71% (spot: 104,140.11, futures: 108,000.00).
**Wyjście:**
* Zamknięcie pozycji następuje, gdy basis spada – zwykle przez próg „exit threshold”.
* W niektórych przypadkach różnice cenowe między spotem a futem zostały dobrze wykorzystane (np. zysk 1.17 USD przy spadku basis z 3.71% do 2.59%).
# **📊 Wyniki strategii (na podstawie logów):**
Liczba par transakcyjnych: 12 (entry/exit). Średni zysk na jedną parę: ok. 0.45 USD (zróżnicowany).
**Najlepszy wynik:**
* +1.17 USD (basis z 3.71% do 2.59%).
**Najgorszy wynik:**
* –0.23 USD (basis wzrósł z 3.02% do 3.25%).
**🔍 Cechy działania algorytmu:**
* Reaguje na niewielkie zmiany basis (czasem zaledwie 0.1–0.2 pp) - to później zmienię na wieksze.
* Nie używa trailing TP ani SL — wyjścia są determinowane tylko przez spadek basis, zgodnie z warunkiem „exit threshold” - pomyślimy 🤔
* Ekspozycja jest mała i równomierna (0.001 BTC), co chroni kapitał przed większymi obsunięciami.
| Metryka | Wartość |
| ------------------------ | --------------------------- |
| Liczba transakcji (exit) | 12 |
| Transakcji zyskownych | 11 |
| Transakcji stratnych | 1 |
| Skuteczność (win rate) | **91.67%** |
| Średni zysk całkowity | **+0.4804 USDT** |
| Mediana zysku | **+0.5273 USDT** |
| Łączny zysk | **+5.76 USDT** |
| Maksymalny zysk | +1.1705 USDT |
| Maksymalna strata | –0.2273 USDT |
| Średni zysk ze spotu | **+0.0027 USDT** (≈ zerowy) |
| Średni zysk z futures | **+0.4776 USDT** |
# 💡 Gdzie jest zysk?
Choć wiele pozycji futures wykazuje stratę, ogólny zysk pochodzi z pozycji spotowych, które są kupowane taniej i sprzedawane drożej, ORAZ z futures, które są sprzedane drożej i odkupione taniej, ale tylko w wybranych momentach. W kilku przypadkach pozycje futures dają duży dodatni wynik i one dominują w wyniku końcowym.
**Przykład transakcji:**
Entry:
* Spot: 104,090.80 USDT
* Futures: 107,951.00 USDT (basis: 3.71%)
Exit:
* Spot: 103,863.53 USDT (strata: –0.2273)
* Futures: 106,553.20 USDT (zysk: +1.3978)
* Zysk netto: +1.1705 USDT
Tu futures przyniosły największy zysk — zamknięcie pozycji short niżej, mimo straty na spocie.
| Data & Godzina | Spot PnL | Futures PnL | Całkowity PnL | Wynik |
| -------------- | -------- | ----------- | ------------- | ---------- |
| 20:28:11 | –0.14 | +0.16 | **+0.02** | zysk |
| 20:35:52 | –0.25 | +1.15 | **+0.90** | zysk |
| 20:36:12 | +0.09 | +0.13 | **+0.22** | zysk |
| 20:38:42 | –0.23 | +0.00 | **–0.23** | **strata** |
| 20:40:52 | +0.24 | +0.40 | **+0.64** | zysk |
| 20:43:52 | –0.23 | +1.40 | **+1.17** | zysk |
| 20:45:52 | –0.22 | +0.93 | **+0.72** | zysk |
| 20:46:12 | +0.22 | +0.13 | **+0.34** | zysk |
| 20:46:32 | +0.02 | +0.40 | **+0.42** | zysk |
| 20:47:02 | +0.00 | +0.77 | **+0.77** | zysk |
| 20:48:32 | +0.00 | +0.13 | **+0.13** | zysk |
| 20:49:22 | +0.54 | +0.13 | **+0.67** | zysk |
# 🔍 Wniosek AI:
Mimo że niektóre zamknięcia pozycji futures kończą się stratą (jak Pan zauważył), większość przynosi zysk, a straty są relatywnie niewielkie w porównaniu do zysków. W praktyce, działanie oparte na spadku basis (czyli konwergencji futures do spot) okazuje się skuteczne.

#
# 👆 Powyższe dwa wykresy ilustrują:
**📈 1. Skumulowany zysk (PnL)**
* Pokazuje, jak łączne saldo strategii rosło z każdą transakcją.
* Wzrost jest systematyczny i stabilny, co potwierdza skuteczność podejścia.
* Końcowy wynik to +5.76 USDT przy 12 transakcjach i ekspozycji ~10 USD każda.
**🔍 2. Rozdział PnL: Spot vs Futures**
* Futures PnL (pomarańczowy) generuje większość zysków — tu tkwi główna przewaga strategii.
* Spot PnL (niebieski) balansuje się wokół zera — czasem zysk, czasem strata — co jest naturalne przy zamykaniu w momentach spadku basis.
* Potwierdza to, że kluczowa wartość strategii basis trading leży w sprzedaży drogich kontraktów futures i ich późniejszym odkupie taniej.
```
[Wykres: Spread basis BTCUSDT (05-20 do 05-21)]
|
4.5%| ● (20/05 - 4.38%)
|
3.5%|
|
2.5%| ● (21/05 - 2.54%)
|
1.5%|_________________________
20/05 21/05 5
```
# 🔀 Schemat blokowy bota basis tradingu

**Opis głównych bloków:**
1. **Inicjalizacja stanu** - Wczytuje zapisany stan z pliku i przygotowuje pliki logów.
2. **Dashboard** - Wyświetla statystyki i analizy (uruchamiany z parametrem --dashboard).
3. **Pętla monitorowania** - Główna logika strategii:
* Pobiera ceny SPOT i Futures
* Oblicza basis (różnica procentowa między Futures a SPOT)
* Decyduje o wejściu/wyjściu z pozycji na podstawie thresholdów
* Implementuje trailing take profit
4. **Zarządzanie pozycją:**
* Wejście (SPOT long + Futures short)
* Wyjście (SPOT sell + Futures buy)
5. **Analiza danych:**
* Historyczna analiza basis
* Statystyki efektywności strategii
6. **Logowanie** - Zapis transakcji i danych rynkowych do plików JSON.
Schemat uwzględnia również obsługę błędów i bezpieczne zamykanie pozycji przy zatrzymaniu skryptu (SIGINT).
# ✒️ Do zrobienie
**1. Skalowanie pozycji w zależności od wielkości Spreadu**
Strategia skalowania pozwala maksymalizować zysk, gdy spread jest wyjątkowo korzystny, i minimalizować ryzyko, gdy warunki są mniej atrakcyjne.
**Przykład z Danych Bybit (20-22.05.2025):**
* 20/05: Spread 4.38% → 100% kapitału (najlepszy moment)
* 21/05: Spread 2.54% → 50% kapitału
**Dlaczego to działa?**
* Gdy spread jest wysoki, ryzyko arbitrażu spada, a potencjalny zysk rośnie.
* Gdy spread się kurczy, zmniejszamy ekspozycję, aby uniknąć strat na kosztach transakcyjnych.
**2. Optymalne Zastosowanie Stop-Loss (SL) i Take-Profit (TP) w Strategii Basis**
Strategia opiera się na zastosowaniu stop-lossu i take-profitu, kiedy basis spadnie do wybranej progu. To zapewnia maksymalizacje zysku oraz minimalizacje ryzyka.
**1. Kiedy Stosować Stop-Loss (SL)?**
* Gdy spread basis kurczy się poniżej progu opłacalności
* Przykład: Jeśli wchodzisz przy spreadzie 3%, SL powinien być ustawiony na 1-1.5%, aby uniknąć strat po uwzględnieniu opłat.
Formuła:
`SL = Wejściowy spread - (koszty transakcyjne + buffer 0.5%)`
**Gdy funding rate futures staje się zbyt wysoki**
*Jeśli funding rate przekracza 0.01% na godzinę, utrzymywanie shorta na futures może być nieopłacalne.
* Rozwiązanie: Ustaw SL, który zamknie pozycję, gdy łączny koszt fundingu przekroczy 50% przewidywanego zysku.
**W przypadku nagłej zmienności rynkowej**
* SL działa jako zabezpieczenie przed ekstremalnymi ruchami cenowymi (np. podczas newsów makro).
**2. Kiedy Stosować Take-Profit (TP)?**
**Gdy spread osiągnie historyczne minimum**
* Przykład: Jeśli średni spread wynosi 2%, TP można ustawić na 0.5%, aby zrealizować zysk przed jego całkowitym zamknięciem.
**Przed okresami funding time**
* Funding na futures naliczany jest co 8 godzin (00:00, 08:00, 16:00 UTC). Zamknij pozycję 15 minut przed, aby uniknąć dodatkowych kosztów.
**Gdy rynek traci płynność**
* W godzinach 2:00-4:00 UTC płynność często spada, co zwiększa ryzyko slippage’u. TP pozwala zabezpieczyć zyski.
**3. Minimalizacja ukrytych kosztów funding rate i slippage**
**1. Funding Rate Futures**
* Jak działa? Co 8 godzin (00:00, 08:00, 16:00 UTC) długie/krótkie pozycje płacą lub otrzymują procent od wartości pozycji.
* Wpływ na strategię: Jeśli jesteś short futures, a funding rate jest dodatni, płacisz opłatę.
**Przykład:**
```
Koszt dzienny = Wartość pozycji × (Funding rate × 3)
Dla 0.01 BTC short przy rate 0.01%: 10,000 USDT × (0.0001 × 3) = 3 USDT/dzień
```
**2. Slippage**
* Co to jest? Różnica między oczekiwaną a faktyczną ceną wykonania zlecenia.
**Jak minimalizować?**
* Używaj limit orders zamiast market orders.
* Unikaj handlu w godzinach niskiej płynności (np. 2:00-4:00 UTC).
* Dziel duże zlecenia na mniejsze (TWAP).
**3. Podsumowanie Kosztów**
| Koszt | Szacunkowa Wartość | Jak Zmniejszyć? |
| -------- | -------- | -------- |
| Opłaty transakcyjne | 0.04-0.1% od wolumenu |Negocjuj niższe stawki (VIP programy).
| Funding Rate | 0.01-0.1% od wolumenu | Używaj limit orders
| Slippage | 0.1-1% od wolumenu | Używaj limit orders|
---
# 🪂 Kolejny wpis bedzie opisywał jak bot pracuje w Bessie. Więc już dziś laikuj Youtube i X'a 👇
---
📲 **Znajdź mnie w sieci:**
🔴 [YouTube](https://www.youtube.com/@devPepson) | [Telegram](https://web.telegram.org/k/#@xmasnft4you) | [Twitter/X](https://x.com/devPepson) | [GitHub](https://github.com/panpepson) | [wWw](https://trochymiak.net) 🌐