17 września 2026 · księgowość

Jak backtestować odwrotny kontrakt perpetual, nie myląc BTC z dolarami?

Jak backtestować odwrotny kontrakt perpetual, nie myląc BTC z dolarami?

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ładnikObliczenieZmiana w dolarach
Początkowe zabezpieczenie1 BTC × ($55,000 − $50,000)+$5,000
P&L instrumentu pochodnego, wycenione przy zamknięciu0.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ówOczekiwany wynik
Otwarcie i zamknięcie po tej samej cenieZerowy P&L instrumentu pochodnego w BTC
Odwrócenie znaku pozycji przy identycznym przebiegu cenZnak 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,000Kapitał w BTC pozostaje na poziomie 1; kapitał w dolarach rośnie o $5,000
Zamknięcie przykładowej pozycji przy bieżącej cenie wycenyNiezrealizowany 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ć.

odwrotne kontrakty perpetualbacktestingkontrakty futures na kryptowalutyksięgowanie P&L
← Wszystkie wpisy