Il calcolo del Draw Down in un Portafoglio

Nell'analisi dell’andamento di un portafoglio di strategie, una delle maggiori complessità da affrontare è legata al calcolo del draw down. Questo articolo è un pò più tecnico del solito, e alcuni passaggi potrebbero non risultare subito così immediati, ma serve a mostrare come certe metriche, quando calcolate su un portafoglio e non più sulla singola strategia, debbano essere ripensate (e a comprendere più a fondo le differenze che ci sono fra queste diverse valorizzazioni del drawdown di portafoglio). 

La complessità del calcolo del Draw Down di Portafoglio ha una radice comune: i differenti time frame e sottostanti su cui i trade di ogni strategia, da aggregare nel portafoglio, sono stati generati.

Se tutte le strategie fossero applicate allo stesso dataset (per esempio Mini S&P500 Future a 60m), sarebbe possibile assumere le stesse ipotesi che rendono possibile un calcolo preciso e realistico del draw down come avviene nel caso del backtest di una strategia singola.

Se la serie storica su cui opera ogni singola startegia è la stessa, allora è ovvio dare per garantita la simultaneità dei massimi e dei minimi interni ad ogni barra.

In caso di sottostanti diversi, anche a parità di time frame (ad es. 60 min), questo portroppo non è più possibile farlo. Il minimo interno a una barra di uno strumento potrebbe essere stato eseguito nel momento in cui l’altro strumento, nella stessa barra, toccava il massimo, oppure mentre era anch’esso al minimo o in una qualsiasi altra zona del range.

E questo ha 2 implicazioni non di poco conto:

1) Se si vuole eseguire un calcolo del draw down che non sia figlio di assunzioni forti e non verificabili, l’unico prezzo utilizzabile per valorizzare l'open P/L di ogni trade è quello di chiusura di ogni barra, in quanto l’orario in cui quel dato è stato registrato è un’informazione nota. Questo ci permette di valorizzare correttamente l'open P/L di portafoglio in quel preciso orario di chiusura di barra. Il risultato sarà però una misura tendenzialmente non conservativa, in quanto non viene tenuto conto dei massimi e dei minimi verificatisi da una chiusura di barra all'altra, che, nella realtà, avrebbero potuto amplificare (o ridurre) il draw down.

2) Per avere una misura più conservativa del rischio diventa necessario fare alcune ipotesi sulla collocazione temporale dei massimi e dei minimi interni ad ogni barra (ma si tratta, appunto, di ipotesi).

Per queste ragioni, esistono diverse maniere per calcolare il Draw Down di Portafoglio senza appiattire l'analisi sulla semplice valorizzazione a fine giornata degli open P/L delle singole strategie (che non terrebbe conto di ciò che è successo durante quella giornata). In Portfolio Builder effettuiamo 5 diverse valorizzazioni del draw down del portafoglio (il cui risultato spesso converge su valori simili, ma in situazioni un pò particolari, alcune di queste modalità di calcolo possono metterci davvero in guardia su cosa dovremmo aspettarci):

1) Max DD (Deterministic)

2) Max DD (Peak to Valley)

3) Max DD (IntraDay MAE - Maximum Adverse Excursion)

4) Max DD (Close To Close)

5) Max DD (Daily) 

Ora vediamo come questi valori vengono calcolati, e perchè possono portare a differenti valorizzazioni del Draw Down di Portafoglio.  

1. Max DD (Det)

Il Max DD Detailed è calcolando aggregando i trade del portafoglio utilizzando la loro evoluzione interna valorizzata sui prezzi di chiusura delle barre. Se un trade, per esempio, ha avuto una vita di 15 barre, qui consideriamo i 15 valori di Open Profit calcolati sui 15 prezzi di chiusura delle barre.

Generalmente i trade su sottostanti diversi non saranno stati eseguiti su barre dello stesso time frame. E anche se il time frame fosse lo stesso le barre potrebbero non essere sincronizzate.

Di seguito spieghiamo il modello di aggregazione di trade temporalmente sovrapposti che abbiamo utilizzato su Portfolio Builder.

Si assuma di dover aggregare due trade su due sottostanti differenti, il primo con time frame a 20 minuti, il secondo con timeframe a 30 minuti. Si assuma inoltre che le sessioni di entrambi gli strumenti comincino con l’ora tonda.

Questo è un esempio dell’evoluzione dei due trade, calcolata alle chiusure di barra e rappresentati in un grafico:

Come si poteva intuire dalla tabella dei valori, e come si vede dal grafico successivo, solo alcune delle quotazioni sono temporalmente allineate. Nell’aggregare questi due trade, la prima cosa di cui bisogna rendersi conto è che andrà creata una stima del valore del portafoglio per ognuno degli orari disponibili: sia in quelli in cui quotano entrambi i trade, ma anche in quelli in cui solo uno dei due trade presenta una valorizzazione dell’open profit.

In poche parole, sebbene non accada per le singole strategie, il portafoglio dovrà avere una valorizzazione che tenga conto dei singoli orari disponibili per i due trade.

Per mettere in risalto questo fatto nella seguente tabella si vede sulla sinistra l’unione degli orari disponibli con le relative quote dove presenti. Nel grafico abbiamo messo in risalto la collocazione temporale delle quote. Sia nella tabella che nel grafico le quote temporalmente allineate sono mostate in nero.

Ora, per poter completare l’aggregazione è necessario porre un valore, nella tabella, al posto dei trattini visualizzati dove manca la quotazione.

La scelta da noi adottata è stata quella di utilizzare l’ultima quota disponibile. Una volta collocato un valore da utilizzare dove non originariamente presente, eseguire l’aggregazione di portafoglio diventa un semplice esercizio di somme orizzontali. Segue una tabella con il risultato, e i relativi grafici: uno con, e uno senza il portafoglio risultante.

Il caso preso in esame è un caso piuttosto particolare, infatti i due trade risultavano avere un periodo sincrono di 2 a 3. Un caso più generale potrebbe presentare centinaia di trade aperti contemporaneamente, con nemmeno una valorizzazione contemporanea. Un caso molto particolare sarebbe quello di trade eseguiti su strumenti con identica sessione e identico timeframe.

Questo metodo di aggregazione permette di estrarre il portafoglio somma da un’insieme qualsiasi di trade senza che l’utente sia vincolato all’utilizzo di particolari timeframe o sessioni.

Si noti come sia presente una valorizzazione del portafoglio per ogni barra in cui ognuno dei trade è stato quotato.
Una volta estratta l’equity line di portafoglio così generata (Da noi chiamata Detailed per distizione dall’Equity Line Daily che presenta una sola quotazione a fine giornata, tenendo conto degli open P/L), ne viene calcolato il Maximum Draw Down, che sarà quindi il Max DD Detailed.

La principale criticità di questo metodo di aggregazione è che vengono ignorati i massimi e i minimi interni alla singola barra. Tralasciare queste informazioni potrebbe (non sempre - e vedremo nel prossimo paragrafo perchè) generare una sottostima del Max DD effettivo che, seguendo quel portafoglio, si sarebbe verificato in passato.

Questo ci ha indotto a costruire stime più conservative del Max DD storico. Ora, nella prossima sezione, vedremo come abbiamo introdotto nel calcolo del portafoglio i massimi e i minimi intrabarra.

2. Max DD (Peak to Valley)

Prima di vedere con quale modalità abbiamo introdotto i massimi e i minimi intrabarra nel calcolo del draw down vale la pena fare una premessa.

Nel caso di una strategia singola, l’introduzione di massimi e minimi non può che alzare il maximum draw down. Lo stesso non vale nel caso di una simulazione di portafoglio a causa della presenza di più trade aperti contemporaneamente su strumenti diversi.

L’introduzione di un massimo interno a un trade, infatti, potrebbe compensare la perdita di un altro trade che andava a registrare il Max DD nello stesso momento. Introdurre l’informazione su quel massimo, dunque, ha, di fatto, ridotto il draw down di portafoglio.

E’ evidente che si tratterà di un numero minoritario di casi, ma non c’è da stupirsi se, in qualche occasione, capitasse di leggere un Draw Down Peak to Valley inferiore al Draw Down Detailed.

Introdurre i massimi e i minimi intrabarra è un’operazione che, per poter essere eseguita con successo, richede un'informazione non disponibile. Tale informazione, in quanto non disponibile, andrà sostituita con delle ipotesi.
L’informazione mancante è quella relativa al collocamento temporale dei massimi e dei minimi: noi non sappiamo quando, e neppure in che ordine, essi si sono verificati.

Prendiamo il trade della Strategia 1 dell’esempio precedente, e aggiungiamo l’informazione sulla valorizzazione del trade ai minimi e ai massimo delle barre barre che ne compongono l’evoluzione.

Ora vediamone una rappresentazione grafica utilizzando un grafico a candele. Attenzione, qui non è rapresentato l’andamento di uno strumento finanziario (che è ciò a cui di solito associamo un grafico a candele): qui è rappresentato l’andamento di un trade (quindi il suo open P/L).

Come si vede dalla tabella, ai massimi e ai minimi è associato l’orario di chiusura di barra. Questo rende necessario fare delle ipotesi sulla loro collocazione nel tempo, altrimenti questa informazione non risulterebbe utilizzabile ai fini di un’aggregazione tra più trade.

In poche parole dobbiamo trasformare una barra composta da massimo, minimo e chiusura associati a uno stesso orario, in una serie di punti successivi associati a orari diversi.

Le assunzioni da noi utilizzate sono le stesse effettuate da piattaforme come Multicharts e TradeStation (in assenza di queste informazioni), e sono le seguenti

1) Se la chiusura di questa barra è superiore alla chiusura della barra precedente (barra verde), il minimo ha preceduto il massimo. Se la chiusura di questa barra è inferiore alla chiusura della barra precedente (barra rossa) il massimo ha preceduto il minimo. In poche parole consideriamo il percorso più efficiente:

2) La spaziatura temporale è suddivisa in 3/3. In questo modo il massimo e il minimo si pongono a 1/3 e a 2/3 della vita temporale del trade, sulla base dell’ordine stabilito dall’assunzione 1.

Utilizzando queste due ipotesi è possibile ricreare la storia del trade in modo che comprenda anche massimi e minimi. Vediamo il risultato che si ottiene applicando questa metodologia al trade dell’esempio e confrontiamolo con il trade valorizzato alle sole chiusure.Nella tabella i dati sono incasellati a triplette. Ogni tripletta contiene i dati relativi a una barra, il colore della tripletta mostra la natura ascendente o discendente della barra.

Nel grafico le linee verticali rappresentano le chiusure di barra, ancora una volta il colore della barra codifica la direzione della stessa.

Come si vede il risultato è un discreto arricchimento dell’informazione disponibile. Chiaramente questo arricchimento non è gratis, e il suo costo è quello di aver dovuto fare assunzioni per poter itrodurlo, assunzioni che, soprattutto nel caso di trade della durata di poche barre, potrebbero generare una serie storica non aderente alla realtà.

Il vantaggio risiede nel fatto che, in questa nuova serie, compaiono sia il MAE che l’MFE, due dati importanti per il calcolo del Max DD.

Quando l’evoluzione interna di ogni trade è stata arricchita dei massimi e minimi con la procedura appena mostrata, essi vengono aggregati in modo analogo a come mostrato alla sezione 1. Max DD (Det). Terminata l’aggregazione viene calcolato il Max DD del portafoglio risultante, il Max DD (Peak to Valley).

3. Max Daily DD

Il Max Daily DD non è mostrato nel pannello Metrics di Portfolio Builder, ma direttamente nel grafico in basso nel pannello Equity.

L’equity line mostrata in questo pannelo è ricavata attraverso un processo di aggregazione differente rispetto a quello illustrato alla sezione 1. Max DD (Det).

In questo caso viene prima ricavata un’equity daily per ognuna delle strategie, ovvero una valorizzazione alla mezzanotte di ogni giorno del periodo della simulazione. Avendo già rettificato i risulati di ogni strategia caricata in portafiglio per tenere conto dei diversi fusi orari (oltre che delle doverse valute), ci ritroviamo già con serie composte da valorizzazioni a orari identici e la loro aggregazione si ottiene ora con una semplice somma.

La risultante è il portafoglio mostrato al pannello Equity. Il DD nel grafico inferiore è quindi una valorizzazione daily del DD. Il valore del Max Daily DD è mostrato direttamente sul grafico all’altezza della linea rossa orizzontale.

4. Max DD (IntraDay MAE)

Il Max DD IntraDay MAE (Maximum Adverse Excursion) è elaborato ipotizzando che, in un dato giorno, i trade aperti dalle diverse strategie raggiungano il punto peggiore (MAE) contemporaneamente.

All’inizio di giornata il portafoglio parte da una situazione di draw down ereditata dallo storico di portafoglio valorizzato fino a quel punto. La domanda che ci si pone è la seguente: quanto è il richio assumento che tutti i trade aperti oggi perdano denaro contemporaneamente?

Per eseguire la stima di questo rischio vengono sommati i MAE di tutti i trade che aprono e chiudono posizioni in giornata. Se una strategia apre e chiude più di un trade nell’arco della giornata, essendo che è impossibile che questi siano aperti contemporaneamente, si prende solo quello con il MAE più negativo.

Per i trade che invece si estendono overnight viene considerata l’escursione peggiore possibile all’interno della giornata di riferimento. Tutti questi valori vengono poi sommati al draw down daily registrato al giorno precedente. 

Questa è probabilmente la modalità più conservativa di calcolo del Draw Down di Portafoglio, ma non necessariamente la più precisa e veritiera (dato che le posizioni aperte in ogni giornata potrebbero non registrare tutte il peggior open loss nello stesso momento). 

5. Max DD CtC

Il Max DD Close to Close è il massimo draw down risultante dall’equity line prodota a operazioni chiuse. I trade del portafoglio vengono riordinati per data di chiusura, e seguendo quest’ordine ne vengono progressivamente cumulati i net profit.

Si nota che in questo caso le dinamiche dovute alla contemporaneità dei trade vengono completamente perdute. Per questo motivo, sebbene impossibile nel caso di una strategia singola, il Max DD CtC di portafoglio potrebbe risultare maggiore del Max DD (Peak to Valley) in quanto, nella valorizzazione barra per barra le dinamiche interne dei trade potrebbero generare compensazioni tra profitti e perdite e mitigare il massimo draw down. Perdendo queste sinergie, il massimo draw down close to close potrebbe risultare maggiore.

Per dare un’idea di ciò che potrebbe accadere, si immagini un trade della durata di un mese che chiude con un largo profitto. Si ponga poi che, prima della chiusra di questo trade, siano stati aperti e chiusi da un’altra strategia 5 trade della durata di un’ora, tutti negativi.

Ponendo i trade in ordine di data di chiusura, l’equity line CtC vedrebbe cinque segmenti calanti più uno crescente sul finale.

Un’aggregazione puntuale barra per barra, invece, seguirebbe un’andamento crescente della durata di un mese, con 5 sezioni in cui alla crescita del trade mensile si contrappone il calo dei trade orari.

Se il calo dei trade orari è compensato dalla crescita del trade mensile, l’equity line peak to valley potrebbe non mostrare draw down, ma solo periodi in cui è piatta. Mentre l’equity CtC mostrerà un draw down in prossimità delle 5 operazioni chiuse negative, prima della contabilizzazione dell’operazione mensile.

Nel grafico che segue è mostrata una situazione idealizzata a scopo esplicativo: la linea blu mostra l’andamento regolare crescente della strategia in cui è aperto il trade mensile.

Durante questo lungo trade vengono aperrte 5 operazioni negative da un’altra strategia, mostrata in arancione. Si vede come il portafoglio risultante non è mai in draw down:

La seguente invece è l’equity line CtC, come si vede realizza un draw down in quanto il contributo positivo del trade mensile viene registrato tutto in una volta alla sua chiusura. La perdita dell’informazione sulle sinergie interne ai trade contemporanei fa si che l’equity generi un draw down.

Questo approfondimento sulle diverse modalità di calcolo del Draw Down di Portafoglio, andava nella direzione di sensibilizzare il lettore circa il cambio di prospettiva necessario quando si passa dall'analisi di una singola strategia all'analisi di un portafoglio di strategie. Una semplice valorizzazione degli open P/L a fine giornata (come potremmo effettuare rapidamente su Excel o MatLab o Python) restituirebbe una valorizzazione del Draw Down di portafoglio un pò troppo semplificata e ottimistica, facendoci perdere di vista le interazioni, durante la giornata borsistica, fra più strategie che si trovano in posizione negli stessi momenti. 

Un portafoglio non è una semplice aggregazione di equity line daily di singole strategie: i ragionamenti dietro queste diverse modalità di calcolo del drawdown di portafoglio, dovrebbero far intuire quanto possa essere complesso realizzare piattaforme di analisi di portafogli come Portfolio Builder. Abbiamo cercaro di presentare le principali funzionalità di questa piattaforma di costruzione e analisi di portafogli di strategie su Futures, Azioni, Forex e Opzioni in questa pagina

Sabato 16 Febbraio è prevista la presentazione ufficiale di questa piattaforma, in una giornata in aula dedicata all'analisi di portafogli: ai partecipanti sarà offerta anche la possibilità di utilizzarla in sala e provarla per i succesivi 30 giorni, per coglierne le potenzialità. In questa pagina trovate tutti i dettagli se desiderate partecipare (attenzione: le iscrizioni si chiudono a metà settimana) 

Spesso si pensa che "la parte difficile" di questo lavoro sia codificare ed effettuare un backtest di una strategia e trovare qualcosa che ha funzionato negli ultimi dieci anni: questo è, tutto sommato, abbastanza facile! ...meno facile è individuarne le fragilità e misurarne la robustezza, per scartare subito ciò che ha poche probabilità di continuare a performare così anche in futuro. Sabato 25 Maggio torniamo a parlare proprio di questo, ed in particolare delle tecniche per Validare una strategia e per misurarne la Robustezza, lavorando su 5 Trading System che mettiamo a disposizione, a codice aperto, ormai da diversi anni. Questo è il programma dettagliato del corso TRADING AUTOMATICO.

E quando avrai sviluppato dozzine di trading system, inizierai a interrogarti sulla maniera migliore di costruire un Portafoglio e capirai che queste scelte di selezione e bilanciamento delle strategie è ciò che fa davvero la differenza... ne riparliamo nel corso PORTAFOGLI DI TRADING SYSTEM (di cui puoi vedere fin da subito la registrazione dell'ultima edizione che si è svolta lo scorso dicembre).

...noi lavoriamo così: buon trading!