Jak obliczać P&L na odwrotnym kontrakcie perpetual?
W przypadku standardowego odwrotnego kontraktu perpetual o stałej wartości nominalnej w dolarach na kontrakt obliczamy wynik transakcji na podstawie odwrotności cen. Otrzymujemy wynik w walucie rozliczeniowej. Pomnożenie zmiany ceny przez stałą ilość BTC oznaczałoby inny instrument.
Załóżmy, że hipotetyczny odwrotny kontrakt BTC ma wartość nominalną $1. Kupujesz 100,000 kontraktów po $50,000 za BTC i zamykasz całą pozycję po $55,000. Przed uwzględnieniem opłat i finansowania:
Q = signed contract count; positive for a long
C = dollar face value per contract
P&L_BTC = Q × C × (1 / entry_price − 1 / exit_price)
= 100,000 × $1 × (1 / $50,000 − 1 / $55,000)
= 0.18181818 BTC
P&L_USD_at_exit = 0.18181818 × $55,000
= $10,000
Pozycja ma wartość nominalną $100,000. Jej równowartość w BTC zmienia się wraz z ceną: 2 BTC przy otwarciu i około 1.818182 BTC przy zamknięciu. Właśnie dlatego chcę mieć specyfikację kontraktu obok kodu księgowego. Kolumna o nazwie size to zaproszenie do spędzenia piątkowego wieczoru na ustalaniu, jaką jednostkę ktoś miał na myśli.
Sprawdź mnożnik stosowany przez platformę, walutę rozliczeniową i zasady zaokrąglania. „Odwrotny” opisuje sposób obliczania wypłaty; nie gwarantuje, że wszędzie jeden kontrakt oznacza jednego dolara.
Dlaczego saldo rachunku rośnie w dolarach bardziej, niż zarobiła transakcja?
Bo zabezpieczenie też ma swoją cenę.
Zacznijmy od zabezpieczenia w wysokości 1 BTC, wartego $50,000, i przeprowadźmy opisaną wyżej transakcję. Załóżmy, że nie ma wpłat, wypłat, opłat ani finansowania, a depozyt zabezpieczający przez cały czas jest wystarczający. Po zamknięciu pozycję stanowi 1.18181818 BTC. Przy cenie $55,000 za BTC daje to $65,000.
| Składnik | Obliczenie | Zmiana w dolarach |
|---|---|---|
| Początkowe zabezpieczenie | 1 BTC × ($55,000 − $50,000) | +$5,000 |
| P&L instrumentu pochodnego, wycenione przy zamknięciu | 0.18181818 BTC × $55,000 | +$10,000 |
| Łączna wartość kapitału na rachunku | $65,000 − $50,000 | +$15,000 |
Rejestr transakcji i krzywa kapitału rachunku odpowiadają na różne pytania. Jeśli raport przypisuje całe $15,000 wynikowi strategii, strategia dostaje zasługę za utrzymywanie zabezpieczenia podczas wzrostu rynku.
Działa to również w drugą stronę. Strategia może gromadzić BTC, a jednocześnie tracić na wartości wyrażonej w dolarach. Żaden z tych wykresów sam w sobie nie jest błędny. Błąd polega na przechodzeniu między nimi bez wyjaśnienia.
Czy stopy zwrotu z backtestu mierzyć w BTC czy w USD?
Wybierz walutę raportową przed porównaniem strategii i zachowaj dostęp do obu ujęć. W przypadku tego rachunku stopa zwrotu w BTC wynosi 18.18%, a w dolarach 30%. To dwa pomiary tego samego wyniku.
Porównując amerykańskie akcje, kontrakty futures rozliczane w stablecoinach i kontrakty rozliczane w kryptowalucie, zazwyczaj jako wspólną serię raportową przyjmuję kapitał rachunku wyrażony w dolarach. W przypadku strategii badawczej nastawionej na gromadzenie BTC równie ważne jest ujęcie w BTC. Wybór zmienia rozkład stóp zwrotu, obsunięcia i współczynnik Sharpe’a.
Uwzględnij benchmark pasywnego utrzymywania zabezpieczenia. W tym przykładzie samo zachowanie początkowego 1 BTC dałoby 10% stopy zwrotu w dolarach. W tym okresie rachunek osiąga wynik lepszy od benchmarku o 20 punktów procentowych. To odejmowanie opisuje ten przykład; nie dowodzi uzyskania alfy ani nie uwzględnia ekspozycji na instrument pochodny przyjętej po drodze.
Uwzględnij jednostkę w nazwie pola. Używaj nazw equity_btc, equity_usd i pnl_btc. Sama nazwa equity staje się niebezpieczna, gdy tylko w jednym raporcie pojawią się dwa rodzaje kontraktów.
Jak backtest powinien księgować opłaty i finansowanie płacone w BTC?
Zapisuj faktyczny przepływ kryptowaluty w chwili, gdy następuje. Opłata w BTC pomniejsza saldo portfela BTC; wpływ z finansowania w BTC je zwiększa. Obliczaj te kwoty zgodnie z właściwymi zasadami kontraktu i historycznymi stawkami.
Następnie rozdziel przypisanie kosztu transakcji od wyceny rachunku. Opłata w wysokości 0.001 BTC zapłacona, gdy BTC kosztuje $50,000, ma w chwili płatności wartość $50. Jeśli później cena BTC wzrośnie do $55,000, na rachunku będzie o $55 mniej niż na identycznym rachunku, który tej opłaty nie zapłacił. Dodatkowe $5 wynika z późniejszej zmiany ceny kryptowaluty, która opuściła rachunek.
Obie wartości mogą być przydatne. Dodanie historycznych przepływów pieniężnych wycenionych w dolarach do początkowego kapitału w dolarach pominie ten efekt walutowy, o ile nie zostanie on jawnie uzgodniony.
Wolę przyjąć rejestr kryptowalut jako podstawę księgowania, a wyceny w dolarach wyprowadzać z niego. Przy każdym odczycie wyceniaj saldo portfela powiększone o niezrealizowany P&L w kryptowalucie, używając udokumentowanej ceny przeliczeniowej z odpowiednim znacznikiem czasu. Zapisuj każdą zamierzoną różnicę między ceną wyceny kontraktu a ceną przeliczeniową na potrzeby raportowania.
Jakie testy wykrywają błędy w księgowaniu odwrotnych kontraktów?
Zaczynam od krótkich syntetycznych scenariuszy, których wynik można policzyć na kartce. Historia rynkowa wyjątkowo skutecznie ukrywa błędy jednostek w wiarygodnie wyglądającej krzywej kapitału.
| Test bez uwzględnienia kosztów | Oczekiwany wynik |
|---|---|
| Otwarcie i zamknięcie po tej samej cenie | Zerowy P&L instrumentu pochodnego w BTC |
| Odwrócenie znaku pozycji przy identycznym przebiegu cen | Znak P&L instrumentu pochodnego zmienia się dokładnie na przeciwny |
| Utrzymywanie 1 BTC bez pozycji na instrumencie pochodnym; cena rośnie z $50,000 do $55,000 | Kapitał w BTC pozostaje na poziomie 1; kapitał w dolarach rośnie o $5,000 |
| Zamknięcie przykładowej pozycji przy bieżącej cenie wyceny | Niezrealizowany P&L trafia do portfela bez zmiany łącznego kapitału |
Ostatni test wykrywa podwójne liczenie: silnik dopisuje zrealizowany P&L, ale zapomina odjąć kwotę niezrealizowaną. Przetestuj też częściowe zamknięcie. Rozliczyć należy P&L tylko zamkniętych kontraktów; pozostała część musi zachować właściwą cenę bazową zgodnie z zasadami księgowania stosowanymi przez platformę.
Co agent badawczy AI powinien raportować dla strategii opartej na odwrotnym kontrakcie?
Liczbę kontraktów i mnożnik, walutę rozliczeniową, początkowe zabezpieczenie, przepływy kryptowaluty oraz kapitał w zadeklarowanej walucie raportowej. Obok krzywej strategii pokaż krzywą pasywnego utrzymywania zabezpieczenia i uzgodnij różnicę między nimi.
W autonomicznym procesie badawczym uzgodnienie tych wartości uczyniłbym warunkiem zaakceptowania backtestu. Optymalizator może uszeregować dowolne liczby, które mu podasz. Jeśli wzrost wartości bilansu BTC zostanie przypisany sygnałowi transakcyjnemu, optymalizator z zapałem zoptymalizuje ten błąd księgowy.
Dobry raport potrafi wyjaśnić, dlaczego ta transakcja przyniosła $10,000, podczas gdy saldo rachunku wzrosło o $15,000, aż do ostatniej pozycji rozliczeniowej. Taki wynik inny badacz może rzeczywiście skontrolować.
← Wszystkie wpisy
