Tocmai ai rulat din nou strategia ta pe contracte perpetue BTC, iar Sharpe net a scăzut cu o treime. Semnalele sunt identice. Execuțiile sunt identice. Ai schimbat un singur lucru: grila de comisioane folosește acum volumul cumulat al contului din ultimele 30 de zile, iar contul începe testul sub nivelul atins în producție.
Înainte să rescrii semnalul, separă două întrebări: cât ar fi plătit strategia aceasta la un comision fix și ce comision ar fi plătit efectiv acest cont în fiecare moment? Sunt experimente diferite. Dacă le amesteci, strategia poate părea mai bună fiindcă tranzacționează suficient cât să obțină o reducere, iar apoi acea reducere e tratată ca și cum ar fi gratuită.
Începe cu grila de comisioane, nu cu o singură rată
Majoritatea paginilor burselor cu comisioane prezintă un tabel: rate maker și taker pentru fiecare nivel de volum, uneori cu reguli separate pentru spot și derivate. Backtestul tău are nevoie de grila efectivă și de regula care determină nivelul. Volumul se măsoară pe ultimele 30 de zile? Pe luna calendaristică? Bursa cumulează spotul și contractele futures? Reducerea în funcție de soldul tokenurilor se adaugă peste nivelul de volum?
Notează aceste reguli ca intrări datate. Pentru un exemplu simplificat, să presupunem că o platformă stabilește rata pentru ziua următoare pe baza volumului de contracte futures executate în ultimele 30 de zile:
| Volum cumulat pe ultimele 30 de zile | Comision maker | Comision taker |
|---|---|---|
| Sub $1 million | 0.020% | 0.050% |
| $1 million–$10 million | 0.016% | 0.040% |
| Peste $10 million | 0.012% | 0.035% |
Valorile sunt orientative; grilele burselor și regulile de eligibilitate se schimbă. Detaliul important este momentul aplicării: execuțiile de ieri pot influența comisionul de mâine, dar execuțiile de azi nu pot obține retroactiv reducerea de azi.
Contul din backtest are nevoie de un istoric al volumului
Să presupunem că strategia ta rulează un volum de $80,000 pe zi, toate ordinele fiind taker. La nivelul inițial, o tranzacție dus-întors de $100,000 costă aproximativ $50: un volum noțional de $100,000 cumulat la intrare și ieșire, înmulțit cu 0.050%. La nivelul intermediar costă $40. Diferența de zece dolari pare mică, până când faci tranzacția dus-întors de 800 de ori. Atunci ajunge la $8,000 pe perioada testată, iar nivelul comisioanelor s-ar putea să se fi schimbat tocmai datorită volumului generat de aceleași tranzacții.
Această buclă de feedback este reală, dar creează o capcană de modelare. Dacă inițializezi strategia la nivelul intermediar fiindcă l-a atins la sfârșitul backtestului, ai introdus în trecut activitatea viitoare a contului. Pornește de la un volum anterior declarat, actualizează fereastra mobilă după fiecare execuție eligibilă și aplică fiecare schimbare de nivel numai când prevăd regulile platformei.
Ține separat trei valori: volumul noțional tranzacționat de strategie, volumul eligibil al contului folosit la calcularea nivelului și comisionul aplicat efectiv fiecărei execuții. Pot fi diferite dacă platforma exclude anumite produse, ia în calcul doar o parte a unor tranzacții sau oferă o reducere în funcție de solduri pe care nu le-ai modelat.
Rulează un test cu rată fixă alături de cel care ține cont de cont
Ai nevoie de două rezultate. Mai întâi, rulează din nou întreaga strategie cu o singură rată taker fixă și conservatoare. Astfel afli cât de sensibilă este ideea la costurile de execuție, fără să-i permiți propriului volum tranzacționat să schimbe criteriile. Apoi, rulează grila care ține cont de cont, folosind soldul inițial și istoricul volumului documentate. Asta estimează parcursul pe care l-ar fi putut avea acest cont în particular, conform regulilor declarate.
Apoi compară costul total al comisioanelor, volumul tranzacționat, P&L net și drawdown-ul. Dacă se îmbunătățește doar rezultatul care ține cont de cont, întreabă-te cât din îmbunătățire vine dintr-o trecere plauzibilă la alt nivel și cât depinde de istoricul inițial, volumul cumulat între produse sau de o reducere pentru care contul tău s-ar putea să nu fie eligibil. Dacă ambele rezultate își pierd avantajul, probabil că nivelul comisioanelor nu era problema principală.
Și nu atribui execuțiilor maker cea mai bună rată dacă modelul tău de execuție presupune tacit că fiecare ordin pasiv a fost executat. Grila de comisioane poate fi exactă, în timp ce ipotezele despre execuții rămân fanteziste. Verifică-le separat.
Fă rezultatul reproductibil
Salvează versiunea grilei, perioada de referință pentru nivel, momentul resetării, produsele eligibile și volumul inițial împreună cu backtestul. Include un registru zilnic simplu: volumul mobil de la începutul zilei, execuțiile adăugate, nivelul aplicat și comisioanele plătite. Când rezultatul se schimbă după ce o bursă revizuiește ratele, vei ști dacă s-a schimbat strategia, parcursul contului sau ipotezele.
Încerci să răspunzi la o întrebare restrânsă și utilă: cât a plătit strategia aceasta în baza unei grile de comisioane și a unui istoric al contului pe care le poți descrie concret? Dacă nu poți reconstrui nivelul aplicat într-o anumită zi, încă nu știi ce înseamnă rezultatul net al backtestului tău.
← Toate articolele


