Come si calcola il P&L su un perpetual inverso?
Per un perpetual inverso standard con un valore nominale in dollari fisso per contratto, calcola il P&L di trading usando i prezzi reciproci. Il risultato è espresso nella coin di regolamento. Moltiplicare la variazione di prezzo per una quantità fissa di BTC produce un altro strumento.
Supponiamo che un ipotetico contratto inverso su BTC abbia un valore nominale di $1. Compri 100,000 contratti a $50,000 per BTC e chiudi l'intera posizione a $55,000. Al lordo di fee e funding:
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
La posizione ha $100,000 di valore nominale in contratti. Il suo equivalente in BTC cambia con il prezzo: 2 BTC all'ingresso, circa 1.818182 BTC all'uscita. Questa conversione variabile è il motivo per cui voglio le specifiche del contratto accanto al codice di contabilità. Una colonna chiamata size è un invito a passare la serata di venerdì a scoprire quale unità qualcuno intendesse.
Verifica il moltiplicatore dell'exchange, la valuta di regolamento e le regole di arrotondamento. "Inverso" descrive una convenzione di payoff; non garantisce che un contratto equivalga a un dollaro ovunque.
Perché il mio conto guadagna più dollari di quanti ne abbia fatti il trade?
Perché anche il collaterale ha un prezzo.
Parti con 1 BTC di collaterale, del valore di $50,000, ed esegui il trade descritto sopra. Assumi nessun deposito, prelievo, fee o funding, e margine sufficiente per tutta la durata. Dopo la chiusura, il conto detiene 1.18181818 BTC. A $55,000 per BTC, sono $65,000.
| Componente | Calcolo | Variazione in dollari |
|---|---|---|
| Collaterale iniziale | 1 BTC × ($55,000 − $50,000) | +$5,000 |
| P&L del derivato, valutato all'uscita | 0.18181818 BTC × $55,000 | +$10,000 |
| Equity totale del conto | $65,000 − $50,000 | +$15,000 |
Il registro dei trade e la curva di equity del conto rispondono a domande diverse. Se il tuo report etichetta l'intero importo di $15,000 come P&L del segnale, attribuisce alla strategia il merito di aver mantenuto il collaterale durante un mercato in rialzo.
E vale anche il contrario. Una strategia può accumulare BTC mentre la sua equity in dollari scende. Nessuno dei due grafici è di per sé sbagliato. Il bug è passare dall'uno all'altro senza dichiararlo.
Dovrei misurare i rendimenti del backtest in BTC o in USD?
Scegli la valuta di reporting prima di confrontare le strategie, poi mantieni disponibili entrambe le viste. Per questo conto, il rendimento in BTC è del 18.18%; il rendimento in dollari è del 30%. Sono due misurazioni dello stesso risultato.
Per confronti tra azioni USA, futures regolati in stablecoin e contratti regolati in coin, generalmente uso l'equity del conto in dollari come serie di reporting comune. Per un mandato di ricerca definito attorno all'accumulo di BTC, la serie in BTC merita pari rilevanza. La scelta cambia la distribuzione dei rendimenti, i drawdown e lo Sharpe ratio.
Includi un benchmark passivo di collaterale. In questo caso, semplicemente mantenere l'1 BTC iniziale avrebbe prodotto un rendimento in dollari del 10%. Il conto batte quel benchmark di 20 punti percentuali in questo intervallo. Quella sottrazione descrive questo esempio; non stabilisce l'alpha né tiene conto dell'esposizione al derivato assunta lungo il percorso.
Scrivi l'unità di misura nel nome del campo. Usa equity_btc, equity_usd e pnl_btc. Una colonna equity nuda diventa pericolosa nel momento in cui due tipi di contratto entrano nello stesso report.
Come dovrebbe un backtest registrare fee e funding pagati in BTC?
Registra il movimento effettivo di coin nel momento in cui avviene. Una fee in BTC riduce il wallet in BTC; un incasso di funding in BTC lo aumenta. Deriva questi importi usando le regole contrattuali applicabili e i tassi storici.
Poi distingui l'attribuzione della transazione dalla valutazione del conto. Una fee di 0.001 BTC pagata quando BTC tratta a $50,000 ha un valore di $50 al momento del pagamento. Se BTC raggiunge poi $55,000, il conto detiene $55 in meno rispetto a un conto altrimenti identico che non ha mai pagato quella fee. I $5 in più sono la successiva variazione di prezzo sulla coin uscita dal conto.
Entrambe le cifre possono essere utili. Sommare i flussi di cassa storici valutati in dollari all'equity in dollari iniziale non coglierà quell'effetto valutario a meno che tu non lo riconcili esplicitamente.
La mia preferenza è un registro in coin come fonte contabile, con le valutazioni in dollari derivate da esso. A ogni istantanea, valuta il saldo del wallet più il P&L non realizzato in coin usando un prezzo di conversione documentato e allineato temporalmente. Registra ogni differenza deliberata tra il prezzo di marking del contratto e il prezzo di conversione usato per il reporting.
Quali test individuano i bug contabili nei contratti inversi?
Comincio con piccoli percorsi sintetici le cui risposte stanno su un foglio di carta. La storia dei mercati è sorprendentemente brava a nascondere un errore di unità dentro una curva di equity plausibile.
| Test, al netto dei costi | Risultato atteso |
|---|---|
| Entra ed esci allo stesso prezzo | P&L del derivato pari a zero in BTC |
| Inverti il segno della posizione sullo stesso percorso | Il P&L del derivato cambia segno esattamente |
| Detieni 1 BTC senza posizione in derivati; il prezzo sale da $50,000 a $55,000 | L'equity in BTC resta a 1; l'equity in dollari sale di $5,000 |
| Chiudi la posizione dell'esempio al suo mark corrente | Il P&L non realizzato si sposta nel wallet senza cambiare l'equity totale |
Quest'ultimo test individua il doppio conteggio: il motore accredita il P&L realizzato ma dimentica di rimuovere l'importo non realizzato. Testa anche una chiusura parziale. Solo i contratti chiusi dovrebbero regolare il loro P&L; il resto deve mantenere la base di ingresso corretta secondo la convenzione contabile dell'exchange.
Cosa dovrebbe riportare un agente di ricerca AI per una strategia inversa?
Numero di contratti e moltiplicatore, valuta di regolamento, collaterale iniziale, flussi di cassa in coin ed equity nella valuta di reporting dichiarata. Accanto alla curva della strategia, mostra la curva del collaterale passivo e riconcilia la differenza.
In un workflow di ricerca autonomo, farei di quella riconciliazione una condizione per accettare un backtest. Un optimizer può classificare qualsiasi numero gli venga fornito. Se un bilancio in BTC crescente viene attribuito al segnale di trading, ottimizzerà allegramente quell'errore contabile.
Il report utile riesce a spiegare perché questo trade ha fatto $10,000 mentre il conto ha guadagnato $15,000, fino all'ultima voce di regolamento. È un risultato che un altro ricercatore può davvero verificare.
← Tutti gli articoli
