Jeśli wciąż myślisz, że yield farming to po prostu wrzucenie shitcoinów do puli na 100% APR i modlenie się, żeby rano token projektu nie zaliczył gleby, a Ciebie nie zmiotło przez impermanent loss (IL)... No cóż. Czas dorosnąć i zacząć łapać alphę, którą rozgrywają poważne fundusze i pro-traderzy.
Dzisiaj rozbijemy na czynniki pierwsze to, jak wyciskać 20–50% rocznie na stables, wykorzystując strategie delta-neutralne (Delta-Neutral Yield Farming). Całkowicie wyrzucamy z równania ryzyko spadku ceny aktywa bazowego. Czysta matematyka, arbitraż funding rate i automatyzacja.
Lecimy z tematem.
1. Anatomia strategii delta-neutralnej: Baza i ukryte mechaniki
Czym jest delta (Δ)? Mówiąc najprościej, to wrażliwość Twojego portfela na zmiany ceny aktywa bazowego. Jeśli masz kupionego 1 ETH na spocie, Twoja delta wynosi +1. ETH rośnie o 100 USD – zarabiasz 100 USD. ETH spada – jesteś pod wodą.
Nasz cel to ustawienie pozycji tak, aby całkowita delta portfela była idealnie równa zeru (Δ = 0).
Jak to ogarnąć w krypto? Klasyczny setup wygląda tak:
- Spot (lub pula LP): Kupujemy aktywo za 1000 USD. Nasza delta: +1.
- Kontrakt futures (Perp): Otwieramy shorta na to samo aktywo za 1000 USD z dźwignią 1x. Nasza delta: -1.
Dodajemy do siebie: +1 + (-1) = 0. Cena leci w górę? Spot rośnie, short generuje stratę. Cena spada? Short zarabia, spot tanieje. Na balansie konta zawsze mamy równowartość 2000 USD.
Gdzie tu zysk? Profit wpada z dwóch źródeł. Po pierwsze, z natywnego APR puli płynności (opłaty za swapy + emisje tokenów). Po drugie, z opłat finansowania (Funding Rate) na rynku futures. Podczas hossy, longujący płacą shortującym co 8 godzin za utrzymanie pozycji. My shortujemy – więc to nam płacą.
Ukryty profit: Jak wyciskać maksa z dewiacji cenowych
Rynek nie jest idealny. Istnieje mało znany arbitraż off-chain wykorzystujący nieefektywność oracle'i. Kiedy na CEX (np. Binance) funding wystrzeliwuje do 0.1% za 8 godzin (co daje ponad 100% APR z samego shorta!), na zdecentralizowanych giełdach pochodnych (Hyperliquid, dYdX) stawka potrafi lagować o kilka godzin przez opóźnienia w aktualizacji cen od Pyth czy Chainlink. W tę lukę wlatują smart kontrakty, które zabezpieczają pozycję delta-neutral lokalnie na DEX, zgarniając premię, zanim boty arbitrażowe wyrównają orderbook.
2. Scenariusze wdrożenia: Od leniwego CEX-a do hardcore'owego DeFi
Strategie różnią się poziomem zaangażowania i potencjalnym zwrotem z kapitału.
Scenariusz A: Spot + Perp (Klasyczny Cash and Carry)
Najbardziej bezpieczny wariant. Kupujesz SOL na spocie, przerzucasz SOL na zabezpieczenie konta futures i otwierasz shorta 1x na SOL-PERP.
- Plusy: Brak ryzyka smart kontraktu (jeśli siedzisz na topowym CEX-ie), likwidacja Cię nie obchodzi, bo wartość zabezpieczenia shorta rośnie proporcjonalnie do ceny SOL.
- Minusy: Rentowność całkowicie zależy od sentymentu na rynku. Jeśli wejdzie krypto zima, funding zmieni się na ujemny i to Ty będziesz musiał dopłacać do interesu.
Scenariusz B: LP na Uniswap v3/v4 + Short na Perpie (Zaawansowane DeFi)
Tutaj wchodzą już poważne pieniądze. Bierzemy parę ETH/USDC i wrzucamy ją w ciasny przedział (Concentrated Liquidity) na Uniswap v3. Wykręcamy potężne APR z prowizji (często 100%+). Ale w wąskim zakresie delta pozycji non-stop pływa! Nie jest stała.
Techniczny ból głowy: Gdy cena ETH rośnie, pula automatycznie wyprzedaje Twoje ETH i zamienia Cię całkowicie w USDC. Twoja delta na spocie spada do zera. W tym samym czasie Twój short na futures cały czas generuje stratę! To tak zwane „ryzyko gamma”. Jeśli w porę nie przebudujesz pozycji (rebalancing), zaliczysz rekt. Żeby tu przeżyć, trzeba pisać boty, które na bieżąco dostosowują wielkość shorta na CEX do aktualnego składu puli LP.
Porównanie charakterystyki strategii
| Strategia | Oczekiwane APR (w stables) | Ryzyko | Wymagany kapitał | Częstotliwość zarządzania |
|---|---|---|---|---|
| CEX Cash & Carry | 12% — 25% | Upadek giełdy, ujemny funding rate. | od $100 | Raz w tygodniu (kontrolny rzut oka na funding) |
| DEX LP + CEX Short | 25% — 45% | Impermanent loss, rozjazd płynności. | od $5,000 | Raz dziennie / Automatyzacja botem |
| GMX GLP / Pendle PT | 18% — 35% | Exploit smart kontraktu, depeg derywatów. | od $1,000 | Raz w miesiącu |
3. Ryzyka, o których milczą influencerzy na Twitterze
Zapamiętaj: nie ma darmowych obiadów. Delta-neutralność chroni przed spadkiem rynku, ale wystawia Cię na inne, specyficzne pułapki.
- Kaskadowe likwidacje przy s कुटुंबा wickach. Krypto uwielbia nagłe szpile cenowe w obie strony – potężny strzał o +15% w górę w kilka minut i natychmiastowy powrót. Jeśli Twój short ma dźwignię większą niż 2x, konto futures zostanie wyczyszczone, zanim pula spotowa zdąży zaksięgować zysk on-chain.
- Ryzyko egzekucji (Execution Risk). Chcesz zamknąć pozycję. Pula w DeFi zamyka się w jednej transakcji, ale sieć nagle staje dęba (klasyczna Solana podczas największego hype'u). Twój short na CEX wciąż wisi, rynek leci w kosmos, a Ty tracisz kasę z każdą sekundą, gdy transakcja czeka w mempoolu na przepchnięcie wyższym gazem.
- Odwrócenie fundingu. Wchodzisz w temat skuszony wizją 40% APR. Trzy dni później rynek stygnie, longi się zamykają, a funding leci na minus. W tym momencie płacisz 15% rocznie za sam fakt trzymania shorta. Strategia przestaje działać, a koszty gazu zdążyły już zjeść zyski z pierwszych dni.
4. Automatyzacja strategii: Skrypt w Pythonie (web3.py)
Dość teorii. Zkodujmy prostego bota, który monitoruje stan delty między Twoim portfelem w DeFi a pozycją zabezpieczającą na CEX. Skupimy się na najtrudniejszym: wyciągnięciu dokładnych danych z puli Uniswap v3, żeby obliczyć aktualną deltę spot.
Aby wyliczyć deltę pozycji LP na Uniswap v3, musimy wyciągnąć aktualny tick oraz płynność (liquidity) bezpośrednio z kontraktu puli.
import math
from web3 import Web3
# Połączenie z RPC (wrzuć prywatny węzeł, publiczne zrzucą błąd 429)
RPC_URL = "https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY"
w3 = Web3(Web3.HTTPProvider(RPC_URL))
# ABI puli Uniswap v3 (potrzebujemy tylko slot0 i liquidity)
UNIV3_POOL_ABI = [
{"inputs":[],"name":"slot0","outputs":[{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"internalType":"int24","name":"tick","type":"int24"},{"internalType":"uint16","name":"observationIndex","type":"uint16"},{"internalType":"uint16","name":"observationCardinality","type":"uint16"},{"internalType":"uint16","name":"observationCardinalityNext","type":"uint16"},{"internalType":"uint8","name":"feeProtocol","type":"uint8"},{"internalType":"bool","name":"unlocked","type":"bool"}],"stateMutability":"view","type":"function"},
{"inputs":[],"name":"liquidity","outputs":[{"internalType":"uint128","name":"balance","type":"uint128"}],"stateMutability":"view","type":"function"}
]
POOL_ADDRESS = "0x88e6A0c2dDD26FEEb64F039a2c41296FCB3f5640" # USDC/ETH 0.05%
def get_pool_delta(pool_address, tick_lower, tick_upper):
contract = w3.eth.contract(address=w3.to_checksum_address(pool_address), abi=UNIV3_POOL_ABI)
# Pobieramy stan kontraktu jednym batchem
slot0 = contract.functions.slot0().call()
liquidity = contract.functions.liquidity().call()
current_tick = slot0[1]
sqrtPriceX96 = slot0[0]
# Aktualna cena ETH z korektą pod decimal USDC(6) i ETH(18)
price = (sqrtPriceX96 / (2**96)) ** 2 * (10**12)
# Liczymy współczynniki delty (matematyka Uniswap v3)
# Musimy sprawdzić, ile ETH realnie siedzi teraz w puli
sqrtA = math.sqrt(1.0001 ** tick_lower)
sqrtB = math.sqrt(1.0001 ** tick_upper)
sqrtPrice = sqrtPriceX96 / (2**96)
if current_tick < tick_lower:
# Pula jest w 100% w ETH
eth_amount = liquidity * (sqrtB - sqrtA) / (sqrtA * sqrtB)
elif current_tick > tick_upper:
# Pula jest w 100% w USDC, delta ETH wynosi 0
eth_amount = 0
else:
# Pula jest wewnątrz przedziału. Wyliczamy komponent ETH
eth_amount = liquidity * (sqrtB - sqrtPrice) / (sqrtPrice * sqrtB)
# Formatowanie z wei do human-readable
eth_delta = eth_amount / (10**18)
return eth_delta, price
# Definiujemy parametry naszego zakresu LP (np. przedział 3000-3500)
TICK_LOWER = 198000
TICK_UPPER = 202000
eth_delta, current_price = get_pool_delta(POOL_ADDRESS, TICK_LOWER, TICK_UPPER)
print(f"Aktualna cena ETH: ${current_price:.2f}")
print(f"Twoja obecna delta spot (wielkość shorta do otwarcia na CEX): {eth_delta:.4f}")
# TODO: Podpiąć tutaj ccxt.create_market_order() do obsługi shorta/longa
# Jeśli rozjazd między obecnym shortem a eth_delta przekroczy threshold -> rzucamy transakcję rebalansu.Jak debugować ten kod, jeśli sypie błędami?
Jeśli skrypt zwraca jakieś bzdury, w pierwszej kolejności zweryfikuj decimale tokenów. Uniswap liczy Price jako token1/token0. W parze USDC/ETH tokenem 0 jest USDC (6 miejsc po przecinku), a tokenem 1 jest ETH (18 miejsc). Z tego powodu wzór na cenę rzeczywistą wymaga przesunięcia o 10^(18-6) = 10^12. Jeśli pomylisz kolejność tokenów w innej puli, bot źle skalkuluje deltę, otworzy shorta za całe depo i wyzeruje Cię w ułamek sekundy.
5. Praktyczna lista zadań przed uruchomieniem strategii
Krok po kroku, jak podejść do tematu i nie stracić płynności finansowej.
- Wyszukiwanie anomalii w fundingu. Odpalasz Coinglass i filtrujesz altcoiny pod kątem stawek na shortach przebijających 0.05% za 8-godzinny epoch.
- Weryfikacja głębokości rynku spot. Orderbook na spocie musi być gruby. Jeśli kupisz aktywo z 5% slippage, to zyskiem z fundingu będziesz odrabiać tę stratę przez dwa miesiące. Bez sensu.
- Zabezpieczenie depozytu. Na sub-koncie futures używaj WYŁĄCZNIE isolated margin w stablecoinach (USDT/USDC). Żadnego cross-margin, bo pojedynczy, chamski short squeeze na jednym aktywie wyssie Ci środki zabezpieczające pozostałe pozycje.
- Kontrola momentu wyjścia. Z góry ustal próg rentowności, przy którym zwijasz interes. Jeśli łączne APR spadnie poniżej 15%, zamykasz pozycję. Poniżej tej granicy koszty transakcyjne i ryzyko exploitów sprawiają, że gra przestaje być warta świeczki.
6. Poziom pro: Delta-neutral farming przez protokoły pożyczkowe (Lending Arbitrage)
Jeśli nie chce Ci się użerać z futuresami na CEX-ach albo lokalne regulacje odcinają Cię od perpsów, możesz zabetonować deltę na zero bez wychodzenia z DeFi. Wykorzystujemy rynki pieniężne (Aave v3, Morpho, Spark).
Cały myk polega na farmingu na dźwigni z pełnym zabezpieczeniem przed ruchem ceny (hedgingiem).
Krok po kroku – jak postawić pozycję:
- Twój kapitał początkowy to $10,000 w USDC.
- Wrzucasz USDC na Aave jako zabezpieczenie (Collateral). Zgarniasz bazowy APR na stajniach (~3–5%).
- Pod zastaw tych stablecoinów pożyczasz (Borrow) aktywo zmienne, np. SOL. Pożyczasz dokładnie tyle, ile planujesz wrzucić w farming. Powiedzmy, że bierzesz 50 SOL (równowartość $5,000). Twoja delta na SOL wynosi teraz -50 (jesteś winien te tokeny protokołowi; jeśli SOL wystrzeli, Twój dług w dolarach rośnie i jesteś pod kreską).
- Zgarniasz te 50 SOL i połowę (25 SOL) swapujesz z powrotem do USDC.
- Wrzucasz te 25 SOL + USDC do puli płynności (np. Raydium lub Orca na Solanie) na tłusty APR (powiedzmy 60% z emisji natywnych tokenów projektu).
Magia bilansowania: Na koncie LP masz +25 SOL. Twój dług na Aave to -50 SOL. Delta netto: -25 SOL. No i klops, nie wychodzi zero. Żeby wyrównać pozycję do idealnego stanu delta-neutral, za pozostałe $2,500 ze spotu dokupujesz kolejne 25 SOL i po prostu trzymasz je na portfelu (albo wrzucasz w bezpieczny płynny staking typu JitoSOL). Teraz matematyka się zgadza: +25 (w LP) + 25 (spot na portfelu) - 50 (dług na Aave) = 0.
Cena SOL leci w dół? Twój dług na Aave maleje, co idealnie pokrywa straty w puli LP. SOL rośnie? Dług rośnie, ale Twoje spotowe SOL na portfelu i w puli zyskują na wartości w dokładnie tym samym tempie.
Techniczny ból: Ryzyko likwidacji przez LTV (Loan-to-Value)
Rynek rośnie jak szalony. Twój dług na Aave pęcznieje w dolarach, a Twoje zabezpieczenie (USDC) stoi w miejscu. Gdy tylko wartość tych 50 SOL zbliży się do krytycznego progu (zwykle 80-85% wartości zastawu), Aave odpala likwidację. Przejmą Twoje USDC i dowalą potężną karę (Liquidation Penalty ~5%).
Żeby nie zaliczyć reka, Twój bot hedgingowy musi non-stop monitorować parametr healthFactor przez smart contract. Jeśli spadnie poniżej 1.2, bot ma natychmiast wyciągnąć część SOL z puli/portfela i spłacić kawałek długu.
7. Smart contracty i automatyzacja: Gotowe rozwiązania „one-click”
Jeśli nie masz skilla albo chęci, żeby stawiać własną infrastrukturę od zera i hostować boty na AWS, na rynku znajdziesz agregatory, które robią to pod maską za pomocą smart contractów.
Delta-Neutral Vaults (na Arbitrum czy Solanie). Projekty takie jak Kamino czy Jones DAO dają gotowe sejfy (vaults). Wpłacasz tam USDC, a kontrakt sam ogarnia dźwignię, otwiera shorty na perpsach na zdecentralizowanych giełdach (np. Drift czy GMX) i sam rebalansuje pozycję, kiedy cena lata.
- Plusy: Wygoda, wrzucasz i zapominasz. Klikasz jeden przycisk i patrzysz, jak wpada czyste 25% rocznie. Kontrakt przelicza deltę co minutę.
- Minusy: Ryzyko kompozytowości (Composability Risk). Jeśli zaliczy exploita GMX, gdzie vault trzyma shorta, albo zhakują sam agregator – zostajesz z niczym. Do tego kroją srogie opłaty za wyniki (nawet do 20% z Twojego czystego zysku).
8. Mało znana alfa: Wykorzystanie pozycji long na instrumentach fixed-yield (Pendle Finance)
Jednym z najbardziej niedocenianych patentów na wykręcenie stałego zysku (fixed yield) w opcji delta-neutral bez dotykania rynku futures jest rozbicie aktywów na PT (Principal Token) i YT (Yield Token) przez protokół Pendle.
Bierzesz aktywo – na przykład stablecoina albo płynny derywat typu eETH (ether.fi) – i dzielisz je. Token PT gwarantuje Ci zwrot kapitału początkowego plus stały procent na koniec okresu (często zaszyte jest tam 15–20% sztywnego APR w stajniach, dotowane przez degenów, którzy skupują tokeny YT pod farming punktów i airdropów).
Jak ulepić z tego wysokodochodowy setup delta-neutral?
- Kupujesz PT eETH na Pendle ze zniżką (discountem). Masz zabetonowane, powiedzmy, 18% stałego APR w ekwiwalencie ETH.
- Twoim jedynym ryzykiem jest teraz cena samego ETH. Żeby je zabić, otwierasz shorta na taką samą ilość ETH na futuresach.
Efekt: kosisz wysoki, stały APR na ETH, ale dzięki shortowi Twoja pozycja jest w 100% zhedgowana do dolara. Twój zysk staje się stały w stablecoinach i masz wywalone na to, w jakiej fazie cyklu jest rynek.
9. Daily checklist do audytu pozycji (Raz na dobę)
Jeśli zarządzasz pozycją ręcznie, każdy poranek zaczynasz od szybkiego przeglądu zdrowia portfela. Skleć sobie arkusz albo dashboard w Grafanie i monitoruj te metryki:
- [ ] Całkowity stan konta (Spot + Margin) w USD. Czy jest rozjazd? (Powinno być stabilnie w granicach +/- 0.5%).
- [ ] Aktualny Funding Rate na giełdzie. Jeśli odwrócił się na minus i trzyma tak przez ponad dwa printy (16 godzin) – czas przeliczyć koszt utrzymania shorta i sprawdzić, czy to się jeszcze opłaca.
- [ ] Health Factor na lendingach. Wszystko poniżej 1.3 to strefa zagrożenia. Trzeba dorzucić zabezpieczenia.
- [ ] Divergence Loss (Impermanent Loss) w pulach LP. Jak daleko cena odpłynęła od punktu wejścia? Czy trzeba na nowo ustawić zakres (range)?
Jeśli chociaż jedno okienko świeci na czerwono – rozbierasz pozycję i składasz na nowo. Delta-neutral farming to nie jest zabawa typu „kup i zapomnij”. To nieustanna walka z ryzykiem, gdzie Twój zysk to po prostu wypłata za żelazną dyscyplinę i techniczny ogarniacz.