Grafici: Performance

Metriche, curva cumulata, rolling returns, fattori, drawdown e correlazione, con le formule dietro ogni numero.

Il tab Performance è la vista di default dopo un backtest ed è il più denso dei cinque: nove grafici, da una tabella riassuntiva a colpo d'occhio fino a una matrice di correlazione. Questa pagina li ripercorre tutti nell'ordine in cui compaiono, con la formula dietro ogni numero dove ne esiste una.

Metriche a colpo d'occhio

Tabella che confronta CAGR, volatilità, Sharpe, Sortino, Calmar, Ulcer Index, max drawdown e VaR fra portafogli

Una tabella con tutte le metriche principali affiancate, una riga per portafoglio: CAGR (o IRR con il PAC), volatilità, Sharpe, Sortino, Calmar, Ulcer Index, Max Drawdown, VaR 95%, VaR 99% e % di mesi positivi. È la barra riassuntiva estesa al set completo, così confronti i portafogli su base risk-adjusted senza doverle cercare più in basso nella pagina.

Le formule, tutte costruite sulla stessa serie di rendimenti mensili (RfR_f è il tasso risk-free, σ\sigma la volatilità annualizzata):

Volatilità, la deviazione standard dei rendimenti mensili, annualizzata:

σ=σmensile×12×100\sigma = \sigma_{mensile} \times \sqrt{12} \times 100

Sharpe, rendimento ottenuto per unità di rischio totale, dove il "rischio" conta allo stesso modo le oscillazioni al rialzo e al ribasso:

Sharpe=CAGRRfσ\text{Sharpe} = \frac{CAGR - R_f}{\sigma}

Sortino, stessa idea, ma il denominatore σd\sigma_d conta solo la volatilità al ribasso (la deviazione standard dei mesi negativi). Un portafoglio con rendimenti irregolari ma sempre positivi può avere uno Sortino molto più alto dello Sharpe:

Sortino=CAGRRfσd\text{Sortino} = \frac{CAGR - R_f}{\sigma_d}

Calmar, rendimento per unità della singola peggior perdita da picco a valle, non per unità di volatilità:

Calmar=CAGRRfMaxDrawdown\text{Calmar} = \frac{CAGR - R_f}{|MaxDrawdown|}

Ulcer Index, la radice quadrata della media dei quadrati della percentuale di drawdown DDiDD_i in ogni istante ii del backtest, non solo nel punto peggiore:

UI=1ni=1nDDi2UI = \sqrt{\frac{1}{n}\sum_{i=1}^{n} DD_i^{\,2}}

Due portafogli possono condividere lo stesso Max Drawdown e avere comunque un Ulcer Index molto diverso: uno che si è ripreso in sei mesi sposta il numero pochissimo, uno che è rimasto sott'acqua per sei anni lo fa salire parecchio. È una misura di profondità e durata insieme, motivo per cui ricompare come voce a sé in Cadute di valore più sotto.

VaR 95% / VaR 99%, storico, non parametrico:

VaR95%=Percentile5(Rmensile)VaR_{95\%} = -\,\text{Percentile}_{5}\bigl(R_{mensile}\bigr)

Il motore ordina ogni rendimento mensile che il backtest ha davvero prodotto e legge il valore al 5° e all'1° percentile. La domanda è "quanto è stato brutto il peggior mese su 20 (o su 100) che è successo davvero", non adattare una curva a campana ed estrapolare la coda.

Performance nel tempo

Grafico del valore cumulato del portafoglio con opzione di scala logaritmica

La curva del valore del portafoglio nel tempo: base 100 per un investimento una tantum, o valore in euro quando il PAC è attivo. Passa il mouse su una linea per data e valore, clicca sul nome di un portafoglio nella legenda per nascondere quella linea (clicca di nuovo per farla ricomparire), e passa alla scala logaritmica per confrontare movimenti relativi fra periodi di grandezza molto diversa.

La scala logaritmica conta più di quanto sembri. Su un grafico lineare, un portafoglio che cresce da 100 a 200 e uno che cresce da 1.000 a 2.000 sembrano completamente diversi, anche se entrambi sono raddoppiati. Su un grafico logaritmico, movimenti percentuali uguali occupano uno spazio verticale uguale, quindi la forma della curva riflette il tasso di crescita e non la distanza percorsa in valore assoluto. Su un backtest di 20 anni, la storia iniziale sembra quasi sempre più piatta di quanto dovrebbe su un grafico lineare, semplicemente perché gli importi in euro coinvolti erano più piccoli.

Con l'inflazione attiva ottieni due curve per portafoglio, reale e nominale; con il PAC attivo compare anche la linea dei depositi cumulativi, per vedere versamenti e crescita separatamente.

Andamento dei singoli asset

Grafico che mostra l'andamento di prezzo di ogni ETF separatamente dalla curva combinata del portafoglio

L'andamento di prezzo di ogni singola posizione, separato dalla curva combinata del portafoglio qui sopra. Utile per la domanda a cui il grafico cumulato da solo non risponde: quale asset ha determinato il risultato? La curva di un 60/40 ti dice che la combinazione ha reso il 6% l'anno; questo grafico ti dice se è stata la parte azionaria a fare il lavoro mentre l'obbligazionaria frenava, o viceversa. Compare solo se il portafoglio contiene più di un asset.

È anche qui che un effetto del ribilanciamento si nasconde in bella vista: se la curva di un singolo asset ha superato di gran lunga quella del portafoglio, il ribilanciamento periodico ha venduto il vincitore lungo il percorso per finanziare chi restava indietro, che è esattamente quello che una strategia ad allocazione fissa deve fare. Su questo grafico sembra un costo, e compare come un beneficio nei termini risk-adjusted.

Heatmap dei rendimenti

Griglia heatmap dei rendimenti con anni in riga e mesi in colonna

Il rendimento di ogni singolo mese disposto in griglia: righe per anno, colonne per mese, una cella per ogni mese di calendario nel backtest. I colori più intensi segnalano i movimenti più forti; le celle positive e negative aiutano a individuare a colpo d'occhio le fasi favorevoli e quelle difficili, oltre a un'eventuale stagionalità fra i mesi. Con più anni di storico, espandila con Mostra tutti gli anni.

È una semplice variazione percentuale mese su mese, niente di rolling o annualizzato, quindi ogni cella risponde a una sola domanda: come è andato esattamente quel mese. Scorri una riga per un anno negativo e di solito scoprirai che dipende da due o tre celle rosse, non da dodici mesi mediocri, ed è proprio questo il valore reale della heatmap: mostra se una perdita è stata uno shock secco o una lenta erosione.

Rolling returns

Grafico dei rolling returns con pulsanti per la metrica, menu dell'orizzonte e selettore della vista

Il grafico da studiare se ne studi uno solo: mostra una media mobile sull'orizzonte che scegli tu, invece del singolo numero che la curva cumulata restituisce per il periodo esatto che hai selezionato.

  • Metrica: il menu a tendina sceglie fra CAGR, Volatilità e Sharpe.
  • Orizzonte: il menu a tendina (1Y, 3Y, 5Y…) imposta la lunghezza della finestra rolling.
  • Vista: Continua disegna una linea nel tempo; Annuale mostra barre anno per anno (solo valori di dicembre); Distribuzione disegna un istogramma di tutti i valori.

Sotto al grafico: nella vista Continua o Annuale con più di un portafoglio, ognuno ha un pannello testa a testa con la sua media di sovraperformance e la percentuale di vittorie contro gli altri; nella vista Distribuzione trovi invece una tabella con media e mediana.

Il motivo per cui questo conta più della curva cumulata: quella curva racconta la storia di chi è entrato esattamente il primo giorno. I rolling returns ti dicono quanto sarebbe cambiato il risultato se fossi entrato un anno dopo, o cinque. Un backtest con un ottimo rendimento cumulato ma un CAGR rolling a 5 anni che oscilla fra −3% e +18% è un portafoglio molto diverso da tenere rispetto a uno il cui CAGR rolling a 5 anni resta sempre fra il 5% e il 9%, anche se i numeri finali coincidono.

Fattori di rischio

Tabella dell'esposizione ai fattori Fama-French, una riga per portafoglio

Esposizione ai fattori Fama-French (market, size, value, profitability, investment) più il momentum, una riga per portafoglio. Una regressione OLS multivariata stima ogni beta dai rendimenti mensili in eccesso del portafoglio e da tutte e sei le serie fattoriali insieme. Valori positivi indicano esposizione lunga a quel fattore, negativi esposizione corta. Seleziona un fattore nell'app per vedere come cambia il suo beta in regressioni rolling di 60 mesi (cinque anni); la linea tratteggiata è il beta dell'intero periodo. Vedi Formule e metriche per il modello e le sue avvertenze.

Serve almeno un triennio di storico comune per una stima affidabile, e l'app avvisa esplicitamente quando l'allocazione non azionaria di un portafoglio (obbligazioni, liquidità) rende la regressione poco significativa: l'esposizione fattoriale è un modello sulla componente azionaria, non sull'intero portafoglio, quindi le esposizioni fattoriali di un 60/40 descrivono l'inclinazione della parte azionaria, non le obbligazioni accanto.

Il motivo è che i fattori Fama-French (mercato, value, momentum, ecc.) spiegano i rendimenti delle azioni, non quelli di bond, oro o crypto, che seguono logiche diverse (tassi, inflazione, domanda/offerta) e non sono descritti da quei fattori. Con una quota rilevante di asset non azionari la regressione produce comunque un numero, ma il risultato mescola cose non confrontabili: da usare solo come indicazione molto approssimativa, o da ignorare.

Cadute di valore

Grafico del drawdown che mostra il declino dai massimi precedenti nel tempo

Quanto il portafoglio è sceso rispetto al massimo precedente, in ogni istante: la prima serie è disegnata ad area, i portafogli aggiuntivi come linee. È il grafico che vale davvero la pena studiare, perché la variabile che le persone sottovalutano non è "quanto ho perso" ma "per quanti anni ho guardato un numero rosso": il tempo di recupero, non solo la profondità.

La tabella sotto al grafico lo rende esplicito con una colonna di durata massima del drawdown accanto al drawdown massimo e medio. Due portafogli possono registrare lo stesso −30% nel peggiore dei casi ed essere comunque investimenti molto diversi: uno che è rimasto sott'acqua 18 mesi prima di un nuovo massimo chiede molto meno di uno che ci ha messo 6 anni. Se di questo grafico devi ricordare un solo numero, che sia la durata, non la profondità.

Perdite per periodo di detenzione

Due grafici a barre: peggior perdita storica e probabilità di successo per orizzonte

Due viste costruite su tutte le finestre storiche rolling del backtest, per orizzonte (1, 3, 5, 10, 15, 20 anni):

  • Perdita massima: il drawdown più profondo osservato per una detenzione di quella durata.
  • Probabilità di successo: la quota di finestre storiche di quella durata chiuse in positivo.

Leggili insieme: il grafico a sinistra dice il peggior scenario vissuto per ogni orizzonte, quello a destra dice quante volte, storicamente, quell'orizzonte è andato bene. La perdita massima qui è una misura diversa dal Max Drawdown sopra: il drawdown segue il declino da un massimo storico indipendentemente da quando sei partito, mentre questo grafico chiede "partendo da un punto qualsiasi della storia, qual è il peggior rendimento totale che avrei potuto ottenere tenendo per esattamente N anni." Una perdita può comparire qui anche senza un drawdown profondo, se la finestra parte in alto e finisce in basso senza che succeda molto nel mezzo.

Matrice di correlazione

Heatmap della matrice di correlazione fra le holding del portafoglio

Quanto i rendimenti di due holding si muovono insieme, su una scala da −100% a +100%.

  • +100% (correlazione perfetta): le due si muovono sempre della stessa misura, quindi tenerle entrambe non riduce il rischio.
  • 0% (correlazione nulla): i movimenti sono indipendenti, quindi combinarle abbassa la volatilità senza rinunciare al rendimento.
  • −100% (correlazione inversa perfetta): quando una sale l'altra scende esattamente della stessa percentuale, ideale per copertura, raro nella pratica.

Passa il mouse su una cella per il valore esatto e i nomi completi dei due asset; clicca per fissare il focus su una coppia. Compare solo quando un portafoglio contiene almeno due asset. La correlazione è misurata sulla stessa serie di rendimenti mensili di tutto il resto di questa pagina, il che vale la pena ricordare quando una coppia che "sulla carta" dovrebbe essere scorrelata (poniamo, due aree azionarie diverse) compare a +85%: durante i crolli improvvisi, le correlazioni fra quasi tutto tendono a salire insieme, e una matrice costruita su un periodo che include il 2008 o il 2020 lo rifletterà.