Sharpe Ratio per la Misura delle Prestazioni del Trading Algoritmico

Quando si esegue una strategia di trading algoritmico, si pensa che il rendimento annualizzato (annualised return) è la metrica delle prestazioni più utile. Tuttavia, ci sono molti criticità nell’usare solo questo parametro, infatti il calcolo dei profotti per alcune tipologie di  strategie non è semplice e del tutto corretto. Questo è particolarmente vero per le strategie non direzionali come le strategie market-neutral o strategie che sfruttano pesantemente la leva finanziaria. Questi fattori rendono difficile confrontare due strategie considerando esclusivamente i loro rendimenti.

Inoltre, se confrontiamo due strategie che hanno identici payoff, come possiamo individuare quale strategia ha un maggior rischio? In particolare, cosa si intende per “maggior rischio”? Nel settore finanziario, siamo spesso preoccupati della volatilità dei rendimenti e dei periodi di drawdown. Pertanto, se una di queste strategie presenta una maggiore volatilità dei rendimenti, probabilmente la troveremmo meno attraente, anche nel caso di simili (se non identici) rendimenti storici.

Questi aspetti del confronto tra strategie e della valutazione del rischio motivano l’uso del Sharpe Ratio.

Definizione dello Sharpe Ratio

William Forsyth Sharpe è un economista assegnatario di un premio Nobel, ha contribuito a creare il Capital Asset Pricing Model (CAPM) e ha sviluppato il Sharpe Ratio nel 1966 (successivamente aggiornato nel 1994).

Il Sharpe Ratio S è definito come:

\(S = \frac{E(R_a – R_b )}{ \sqrt{Var(R_a – R_b)}}\)

Dove \(R_a\) è il rendimento di di un asset o di una strategia e \(R_b\) è il rendimento di un indice di riferimento a bassissimo rischio.

Il rapporto confronta la media dei excess return, cioè la differenza dei rendimenti dell’attività o della strategia con il benchmark di riferimento, con la deviazione standard di tali rendimenti. Quindi una minore volatilità dei rendimenti porterà ad un maggiore Sharpe Ratio, assumendo identici rendimenti.

Il “Sharpe Ratio” utilizzato maggiormente da coloro che attuano strategie di trading è la Sharpe Annualizzata, il cui calcolo dipende dal periodo di trading per cui vengono misurati i payoff. Supponendo che ci siano N periodi di trading in un anno, la Sharpe annualizzata è calcolata come segue:

\(S =  \sqrt{N}\frac{E(R_a – R_b )}{ \sqrt{Var(R_a – R_b)}}\)

Da notare che lo stesso Sharpe Ratio DEVE essere calcolato in base allo Sharpe ad una  particolare tipologia di periodo temporale. Per una strategia basata sul periodo di trading giornaliero, si considera N = 252 (poiché ci sono 252 giorni di contrattazione in un anno, e non 365) e \(R_a\), \(R_b\) devono essere i profitti giornalieri. Allo stesso modo, in caso di dati orari si N = 252 × 6.5 = 1638, e non N = 252 × 24 = 6048 dato che ci sono solo 6,5 ore di contrattazioni in un giorno.

Scegliere il Benchmark

La formula per Sharpe Ratio prevede l’uso di un benchmark. Un indice di riferimento è usato come “metro di giudizio” o “soglia limite” che una particolare strategia deve superare affinchè valga la pena considerarla. Ad esempio, una semplice strategia long-only basata su titoli azionari statunitensi a grande capitalizzazione dovrebbe mediamente “battere” l’indice S&P500, o almeno pareggiarlo in caso di minore volatilità.

La scelta del parametro di riferimento a volte può non essere semplice. Ad esempio, può l’Exhange Traded Fund (ETF) di un settore essere utilizzato come benchmark di performance per i singoli titoli azionari o per lo stesso S&P500? Perché non usare il Russell3000? Allo stesso modo la strategia di un hedge fund dovrebbe essere confrontata con un indice di mercato o con l’indice di altri hedge fund?

Inoltre c’è anche il vincolo sul “risk free rate”, cioè tasso di rendimento generato da titoli senza rischio. Dovrebbero essere utilizzati i titoli di stato nazionali? Un paniere di obbligazioni internazionali? Contratti a breve o lungo termine? o un mix? Chiaramente ci sono molti modi per scegliere un benchmark di riferimento! Il Sharpe Ratio usa generalmente il free risk rate e spesso, per le strategie sull’azionario, si basa sui treasury governativi a dieci anni.

In un caso particolare, per le strategie market-neutral rispetto al mercato, vi è una criticità relativa all’utilizzo del risk-free rate come parametro di riferimento. Lo stesso indice di mercato non dovrebbe essere utilizzato in quanto la strategia è, per definizione, neutrale rispetto al mercato. La scelta corretta per una strategia di questo tipo  non può quindi considerare il free risk rate perché questo è “autofinanziato”. Dato che si ottiene un profitto da interessi, Rf, dal possesso di un margine, il calcolo effettivo dei rendimenti corrisponde a:\((R_a + R_f) – R_f = R_a\). Quindi per le strategie neutrali non si considera realmente il free risk rate.

Limitazioni

Nonostante l’ampio utilizzo del Sharpe Ratio all’interno della finanza quantitativa, sono presentia alcune limitazioni.

Innanzitutto, il Sharpe Ratio è retrospettivo. Rappresenta solo la distribuzione dei rendimenti storici e la volatilità, non quelli che si verificano in futuro. Quando si effettuano valutazioni basate sullo Sharpe Ratio, si presume implicitamente che il passato sarà simile al futuro. Evidentemente questo non è sempre corretto, in particolare nel caso di variazioni delle condizioni del mercato.

Il calcolo dello Sharpe Ratio presuppone che i rendimenti utilizzati siano normalmente distribuiti (cioè gaussiani). Sfortunatamente, i mercati spesso soffrono di una  curtosi superiore alla distribuzione gaussiana. Essenzialmente la distribuzione dei rendimenti ha “code più grasse” (fat tail) e quindi è più probabile che si verifichino eventi estremi di quanto una distribuzione gaussiana ci potrebbe far credere. Quindi, il Sharpe Ratio è carente nel caratterizzare il “tail risk”.

Questo può essere visto chiaramente in strategie che sono molto inclini a tali rischi. Ad esempio, la vendita di opzioni call (dette anche “penny under a steam roller”). Un flusso costante di premi di opzione sono generati dalla vendita di opzioni call nel corso del tempo, portando a una bassa volatilità dei rendimenti, con un forte eccesso rispetto a un benchmark. In questo caso la strategia avrebbe un elevato Sharpe Ratio (basato su dati storici). Tuttavia, non tiene conto del fatto che tali opzioni possono essere called, portando a significative ed improvvise drawdown (o addirittura al wipeout) nella curva di equity. Quindi, come con qualsiasi misura delle performance di una strategia di trading algoritmico, non si può utilizzare solamente il Sharpe Ratio.

Sebbene questo punto possa sembrare ovvio per alcuni, i costi di transazione DEVONO essere inclusi nel calcolo del Sharpe Ratio, affinchè sia ​​realistico. Ci sono innumerevoli esempi di strategie di trading che hanno elevati Sharpes (e quindi una probabilità di grande redditività) che poi diventano strategie con Sharpe ridotto e bassa redditività, una volta che sono stati calcolati i costi e le commissioni. Quindi è assolutamente necessario considerare i rendimenti netti quando si calcola la differenza con il benchmark. Pertanto, i costi di transazione devono essere considerati a monte del calcolo del coefficiente di Sharpe.

Uso Pratico ed Esempi

Una domanda rimasta finora senza risposta all’interno di questo articolo è “Qual è un buon Sharpe Ratioper una strategia?”. Pragmaticamente, dovresti ignorare qualsiasi strategia che possieda uno Sharpe annualizzato S < 1 dopo aver incluso i costi di transazione. I fondi speculativi quantitativi tendono a ignorare tutte le strategie che possiedono Sharpe S < 2. Un importante hedge fund quantitativo che conosco non prenderebbe in considerazione nemmeno le strategie che hanno rapporti di Sharpe S <3. Come trader algoritmico retail, se riesci a ottenere un Sharpe Ratio S> 2, è già un ottimo risultato. Generalmente il Sharpe Ratio aumenta con l’aumentare della frequenza di trading. Alcune strategie ad alta frequenza hanno a volte  Sharpe Ratio a doppia cifra, in quanto possono essere redditizi quasi ogni giorno e certamente ogni mese. Queste strategie raramente soffrono di rischi catastrofici e quindi riducono al minimo la volatilità dei loro rendimenti, questo causa percentuali di Sharpe così elevate.

Esempi di Sharpe Ratio

Finora questo articolo è stato abbastanza teorico, quindi è giunto il momento di “sporcarci” le mani con  alcuni esempi reali. Si considera inizialmente una semplice strategia di buy-and-hold long-only di un singolo titolo azionario, e successivamente si considera una strategia market-neutral. Entrambi questi esempi sono stati implementati utilizzanzo la libreria di analisi dei dati Pandas, di Python.

Il primo compito è quello di acquisire effettivamente i dati e inserirli in un oggetto DataFrame di Pandas. Nell’articolo sull’implementazione dei Securities Master in Python e MySQL abbiamo sviluppato un sistema per raggiungere questo obiettivo. In alternativa, possiamo utilizzare un  codice più semplice per acquisire direttamente i dati da Yahoo Finance e inserirli direttamente in un DataFrame. Nella parte inferiore di questo script ho creato una funzione per calcolare il rapporto Sharpe annualizzato in base a un flusso di rendimenti:

import datetime
import numpy as np
import pandas as pd
from pandas_datareader import data as pdr


def get_historic_data(ticker,
                      start_date=(2000, 1, 1),
                      end_date=datetime.date.today().timetuple()[0:3]):
    """
    Obtains data from Yahoo Finance and adds it to a pandas DataFrame object.

    ticker: Yahoo Finance ticker symbol, e.g. "GOOG" for Google, Inc.
    start_date: Start date in (YYYY, M, D) format
    end_date: End date in (YYYY, M, D) format
    """

    start = datetime.datetime(start_date[0], start_date[1], start_date[2])
    end = datetime.datetime(end_date[0], end_date[1], end_date[2])


    pdf = None
    # Try connecting to Yahoo Finance and obtaining the data
    # On failure, print an error message
    try:
        pdf =  pdr.get_data_yahoo(ticker, start, end)
    except Exception as e:
        print("Could not download Yahoo data: {}".format(e))

    return pdf


def annualised_sharpe(returns, N=252):
    """
    Calculate the annualised Sharpe ratio of a returns stream
    based on a number of trading periods, N. N defaults to 252,
    which then assumes a stream of daily returns.

    The function assumes that the returns are the excess of
    those compared to a benchmark.
    """
    return np.sqrt(N) * returns.mean() / returns.std()

Ora che abbiamo implementato le funzionalita per scaricare i dati da Yahoo Finance e calcolare direttamente il Sharpe Ratio annualizzato, possiamo verificare una strategia di buy-and-hold per due titoli azionari. Useremo Google (GOOG) e Goldman Sachs (GS) dal 1° gennaio 2000 al 31 dicembre 2016.

E’ anche possibile creare un’ulteriore funzione di supporto che permette di verificare rapidamente il Sharpe buy-and-hold su più azioni per lo stesso periodo (codificato):

def equity_sharpe(ticker):
    """
    Calculates the annualised Sharpe ratio based on the daily
    returns of an equity ticker symbol listed in Yahoo Finance.

    The dates have been hardcoded here for the QuantStart article
    on Sharpe ratios.
    """

    # Obtain the equities daily historic data for the desired time period
    # and add to a pandas DataFrame
    pdf = get_historic_data(ticker, start_date=(2000,1,1), end_date=(2016,12,31))

    # Use the percentage change method to easily calculate daily returns
    pdf['daily_ret'] = pdf['Adj Close'].pct_change()

    # Assume an average annual risk-free rate over the period of 5%
    pdf['excess_daily_ret'] = pdf['daily_ret'] - 0.05/252

    # Return the annualised Sharpe ratio based on the excess daily returns
    return annualised_sharpe(pdf['excess_daily_ret'])

Per Google, il Sharpe Ratio della strategia buy-and-hold è pari a 0.7019, mentre per Goldman Sachs è 0.2404:

>>> equity_sharpe('GOOG')
0.7019360529562169

>>> equity_sharpe('GS')
0.24035938143368338

Successivamente è possibile provare provare lo stesso calcolo per una strategia market-neutral. L’obiettivo di questa strategia è isolare completamente le prestazioni di un particolare titolo azionario dal mercato in generale. Il modo più semplice per raggiungere questo obiettivo è quello di ottenere una somma equivalente (in dollari) di un Exchange Traded Fund (ETF) concepito per seguire un tale mercato. La scelta più ovvia per il mercato azionario statunitense a grande capitalizzazione è l’indice S&P500, che è tracciato dall’ETF SPDR, con il ticker di SPY.

Per calcolare il Sharpe Ratio annualizzato di tale strategia otterremo i prezzi storici di SPY e calcoleremo i rendimenti percentuali in modo simile ai titoli precedenti, con l’eccezione che non useremo il benchmark senza rischio. Si calcola i rendimenti giornalieri netti come la differenza tra i rendimenti long e short e dividendo per 2, poiché ora abbiamo il doppio del capitale. Di seguito il codice Python / Pandas che implementa questa logica:

def market_neutral_sharpe(ticker, benchmark):
    """
    Calculates the annualised Sharpe ratio of a market
    neutral long/short strategy inolving the long of 'ticker'
    with a corresponding short of the 'benchmark'.
    """

    # Get historic data for both a symbol/ticker and a benchmark ticker
    # The dates have been hardcoded, but you can modify them as you see fit!
    tick = get_historic_data(ticker, start_date=(2000, 1, 1), end_date=(2016,12,31))
    bench = get_historic_data(benchmark, start_date=(2000, 1, 1), end_date=(2016,12,31))

    # Calculate the percentage returns on each of the time series
    tick['daily_ret'] = tick['Adj Close'].pct_change()
    bench['daily_ret'] = bench['Adj Close'].pct_change()

    # Create a new DataFrame to store the strategy information
    # The net returns are (long - short)/2, since there is twice
    # trading capital for this strategy
    strat = pd.DataFrame(index=tick.index)
    strat['net_ret'] = (tick['daily_ret'] - bench['daily_ret']) / 2.0

    # Return the annualised Sharpe ratio for this strategy
    return annualised_sharpe(strat['net_ret'])

Per Google, il Sharpe Ratio della strategia market-neutral long-only è pari a 0.6679, mentre per Goldman Sachs è 0.2809:

>>> market_neutral_sharpe('GOOG', 'SPY')
0.6679282132106448

>>> market_neutral_sharpe('GS', 'SPY')
0.28097410604210993
Nonostante il Sharpe Ratio sia utilizzato quasi ovunque nel trading algoritmico, dobbiamo considerare altre metriche di performance e rischio. Negli articoli successivi discuteremo i drawdown e di come influenzano la decisione di eseguire o meno una strategia.

Misurazione delle Prestazioni di un Trading System

La misurazione delle prestazioni è una componente assolutamente cruciale del trading algoritmico. Senza una valutazione delle prestazioni, insieme a una solida tenuta dei registri, è difficile, se non impossibile, determinare se i profitti di una strategia sono dovuti alla fortuna o a causa di un certo margine sul mercato.

Per avere successo nel trading algoritmico è necessario essere consapevoli di tutti i fattori che possono influenzare la redditività del trading e in ultima analisi le strategie. Si deve costantemente cercare di migliorare tutti gli aspetti dello stack trading algoritmico. In particolare, si deve sempre cercare di minimizzare i costi di transazione (commissioni, spread e slippage), migliorare il software e l’hardware, migliorare la pulizia dei feed di dati e cercare continuamente nuove strategie da aggiungere ad un portafoglio.

In definitiva, il trading algoritmico riguarda la generazione di profitti. Quindi è imperativo misurare le prestazioni, su più livelli di granularità, del sistema e quindi capire come  e perché il sistema stia producendo questi profitti. Ciò motiva la valutazione della performance a livello di trade, strategie e portafogli.

In particolare vogliamo verificare:

  • Se le regole sistematiche codificate dalla strategia producono effettivamente un rendimento consistente e se la strategia possiede prestazioni positive nel backtesting.
  • Se una strategia mantiene questa prestazione positiva nel trading live o se deve essere fermata.
  • La capacità di confrontare più strategie / portafogli in modo tale da ridurre il rischio  associato all’assegnazione di una quantità limitata del capitale.

Le principali indici che estrapolano le informazioni più importanti sull’andamento di un trading quantitativo, e quindi da prendere in considerazione per le nostre valutazioni, sono i seguenti:

  • Returns – L’aspetto più visibile di una strategia di trading è la percentuale di profitto rispetto al capitale iniziale, in un ambiente di backtesting o di live trading. Le due principali misure di performance in questo ambito sono il Total Return e il Compound Annual Growth Rate (CAGR).
  • Drawdowns –  il DrawDown  rappresenta l’intensità della riduzione di valore del capitale in termini percentuali o assoluti, riferito ad un singolo ordine oppure all’intera strategia, e può essere definito come la differenza tra il massimo (picco) relativo e il successivo minimo (valle) relativo della curva equity di un portafoglio, quindi un calo di prestazioni della nostra strategia.
  • Risk – il rischio comprende molte aree ed è oggetto di ampi approfondimenti e studi, ma generalmente si riferisce sia al rischio di perdita di capitale, come ad esempio i drawndown, che alla volatilità dei returns (profitti). Quest’ultima solitamente viene calcolato tramite la deviazione standard annualizzata dei returns.
  • Risk/Reward Ratio – Il Rapporto Rischio / Rendimento rappresenta i profitti normalizzati rispetto al rischio. Poiché una maggiore volatilità può spesso generare maggiori rendimenti a scapito di maggiori drawdown, è fondamentale valutare quanto rischio viene assunto per unità di rendimento. Di conseguenza, è stata inventata una serie di indici e misure per quantificare questo aspetto delle prestazioni di una strategia, in particolare il Shape Ratio, il Sortino Ratio e il CALMAR Ratio, tra gli altri. Inoltre out of sample Sharpe è spesso la prima metrica che viene osservata quando si valuta le performance di una strategia.
  • Trade Analysis – le precedenti misure sono tutte applicabili sia alle strategie che ai portafogli. Inoltre è utile osservare le prestazioni dei singoli trade ed esistono molte misure per caratterizzare le loro prestazioni. In particolare, è fondamentale quantificare il rapporto tra i trade vincenti / perdenti, l’Average Profit per Trade e il Win/Loss Ratio.
 

I trade effettuati sono l’aspetto più granulare di una strategia algoritmica, quindi è utile iniziare a descrivere la trade analysis.

Trade Analysis

Il primo passo per analizzare qualsiasi strategia è considerare l’andamento effettivo delle operazioni concluse. Tali parametri possono variare notevolmente tra una strategia e l’altra. Un classico esempio è la differenza nelle metriche prestazionali di una strategia trend-following rispetto a una strategia di mean-reverting. Le strategie trend-following consistono di solito in molte operazioni in perdita, ognuna caratterizza da pochissimo capitale.

Il minor numero di trade proficui si verifica quando la strategia “calvalca” un trend in formazione, quindi le performance derivate da questi trade positivi può superare significativamente le perdite causate dalla maggioranza delle operazioni. Le strategie di mean-reverting mostrano invece una caratteristica opposta, perchè si basano su molti piccoli trade positivi. Tuttavia, se una serie non si adatta al mean-reverting nel modo previsto, la natura long/short della strategia può portare a perdite considerevoli. Questo potrebbe potenzialmente annullare i profiti derivati dai molti trade positivi.

È essenziale essere consapevoli della natura del profilo di trading della strategia e del proprio profilo psicologico, in quanto dovranno essere allineati. Altrimenti scoprirai che potresti non avere la “resistenza” per affrontare un periodo di esteso drawdown. Esaminiamo ora le statistiche che ci interessano come livello di trading.

Statistiche Riepilogative

Quando analizziamo i nostri trade, siamo interessati al seguente insieme di statistiche. Da notare che per “periodo” si riferisce al periodo di tempo coperto dalla singola candela / barra che contenente i dati OHLCV. Per le strategie a lungo termine si usano principalmente le barre quotidiane. Per le strategie a maggior frequenza potremmo essere interessati a barre orarie o al minuto.

  • Total Proftt/Loss (PnL) – Il PnL totale indica semplicemente se un particolare trade è stato proficuo o meno.
  • Average Period PnL – Il periodo medio di PnL indica se una barra, in media, genera un profitto o una perdita.
  • Maximum Period Profit – Indica il maggiore profitto per periodo di barra realizzato finora dal singolo trade. • 
  • Maximum Period Loss – Indica la maggiore perdita per periodo di barra realizzata finora dal singolo trade. Da notare che questo valore non dice nulla sulle future perdite del periodo! In futuro una perdita potrebbe essere anche molto più grande.
  • Average Period Profit – Indica la media della vita dei trade per tutti i  periodi in profitto.
  • Average Period Loss – Indica la media della vita dei trade per tutti i  periodi in perdita.
  • Winning Periods – Indica il totale di tutti i periodi in profitto.
  • Losing Periods – Indica il totale di tutti i periodi in perdita. 
  • Percentage Win/Loss Periods – Indica la percentuale di tutti i periodi vincenti rispetto ai periodi in perdita. Differisce notevolmente tra le strategie di tipo trend-following e mean-reverting.

 

Fortunatamente, è facile ottenere queste informazioni dal portafoglio, quindi è completamente eliminata la necessità di compilare i registri manuali. Tuttavia, questo porta al pericolo di non fermarsi ad analizzare con attenzione i dati! È fondamentale che le prestazioni siano valutate almeno una o due volte al mese. Questo è un utile sistema di rilevamento che può aiutare a identificare quando le prestazioni della strategia iniziano a peggiorare. Spesso è molto meglio che considerare semplicemente il PnL cumulativo.

Analisi della Strategia e del Portafoglio

L’analisi a livello di trade è estremamente utile nelle strategie a lungo termine, in particolare con strategie che operano su strumenti complessi, come quelli che coinvolgono derivati. Per le strategie con maggiore frequenza, si è meno interessati alle statistiche sui singoli trade ma è più significativo considerare le statistiche sul rendimento della strategia. Ovviamente anche per le strategie a lungo termine, è ugualmente necessario analizzare le prestazioni complessive della strategia.

In particolare l’analisi delle performance della strategia si suddivise in tre aree fondamentali:

  • Returns Analysis – I ritorni (o profitti) di una strategia incapsulano il concetto di redditività. Negli ambienti istituzionali sono generalmente quotati al netto delle tasse e quindi forniscono un quadro reale di quanto denaro è stato generato a partire dal capitale investito. I ritorni possono essere difficili da calcolare, in particolare con i flussi di cassa in entrata / uscita.
  • Risk/Reward Analysis – in genere, la prima considerazione che i trader valutano in una strategia è il out of sample Sharpe Ratio. Questo è una misura standard (de facto) che tenta di caratterizzare il profitto ottenuto per unità di rischio.
  • Drawdown Analysis – In un contesto istituzionale, questo è probabilmente il più importante dei tre aspetti. Il profilo e l’entità dei drawdown di una strategia, di un portafoglio o di un fondo sono i  componenti fondamentali per la gestione del rischio. Definiremo i drawdown di seguito.

 

Nonostante è stato sottolineato la loro importanza per le performance istituzionali, queste metriche sono fondamentali anche per i trader retail e, con un’adeguata gestione del rischio, costituiscono la base del processo di valutazione continua delle strategie.

Analisi dei Profitti

Le metriche maggiormente analizzate quando si parla del rendimento di una strategia, sia in ambito istituzionale che retail, sono principalmente il total return, il annual returns e il monthly returns. È molto comune leggere una newsletter sulle prestazioni degli hedge fund con una “griglia” di rendimento mensile. Inoltre, tutti vorranno sapere qual è il “ritorno” della strategia.
Il rendimento totale è relativamente semplice da calcolare, almeno in un contesto di trading retail, senza investitori esterni o flussi di cassa in entrata / uscita. In termini percentuali è semplicemente calcolato come:

\(r_t = (P_f – P_i)/P_i \times 100\)

Dove \(r_t\) è il rendimento totale, \(P_f\) è il valore finale del portafoglio in dollari e \(P_i\) è il valore iniziale del portafoglio. Siamo principalmente interessati al rendimento totale netto, vale a dire il valore del portafoglio / del fondo dopo che sono stati sottratti tutti i costi e le commissioni.

Si noti che questa formula è applicabile solo ai portafogli “solo long” e “senza leva”. Se desideriamo aggiungere le vendite allo scoperto o le operazioni in leva finanziaria, dobbiamo modificare il modo in cui calcoliamo i rendimenti perché tecnicamente operiamo su un portafoglio in prestito più ampio di quello utilizzato inizialmente. Questo è detto margin portfolio.
Ad esempio, si consideri il caso in cui una strategia di trading abbia aperto una posizione long di 1.000 USD su un asset e poi una posizione short di 1.000 USD su un altro asset. Questo è un portafoglio neutrale e il totale nozionale negoziato è di 2.000 USD. Se queste operazioni generano un profitto di 200 USD, il rendimento lordo su tale nozionale è del 10%. Diventa più complesso quando si prendono in considerazione i costi di prestito e i tassi di interesse per finanziare il margin. Il factoring in questi costi porta al rendimento totale netto, che è il valore che viene spesso indicato come “rendimento totale”.

Curva di Equity
La curva di equity è sicuramente una delle caratteristiche più enfatizzate del report delle performance di una strategia – presupponendo che la strategia stia dando risultati positivi! Rappresenta l’andamento del valore del portafoglio nel tempo. In sostanza, viene utilizzato per mostrare la crescita del capitale durante il periodo preso in considerazione (sia in backtesting che in live trading).

Allo stesso modo, viene utilizzato per mostrare la crescita del patrimonio netto nel tempo. La seguente immagine mostra il classico grafico di una curva equity:

Fig - Esempio del grafico di una curva di equity

Qual è il vantaggio di tale grafico? In sostanza dà una “rapprentazione” alla volatilità (passata) della strategia, oltre a un’indicazione visiva del fatto che la strategia abbia sofferto di prolungati periodi di plateau o addirittura di drawdown. In altre parole fornisce delle risposte su come sia stato raggiunto il valore totale del rendimento della strategia, calcolato alla fine del periodo di trading.

In una curva equity stiamo cercando di determinare in che modo gli eventi “imprevisti” hanno plasmato la strategia. Ad esempio, una classica domanda è la presenza o meno di un’eccessiva volatilità della strategia. Un’altra domanda potrebbe riguardare la costanza dei rendimenti.

Bisogna essere estremamente cauti nell’interpretazione delle curve equity, poiché quando vengono rappresentate graficamente hanno generalmente un andamento come una “linea inclinate verso l’alto”. Elementi interessanti possono essere evidenziati tramite il troncamento di tali curve, in modo da enfatizzare periodi di intensa volatilità o di drawdown prolungato che potrebbero non sembrare così gravi se si considerati all’interno dell’intero periodo di tempo. Pertanto, è necessario considerare una curva equity nel contesto di altre analisi, in particolare analisi del rischio / rendimento e analisi del drawdown.

Analisi Rischio/Rendimento

Come accennato in precedenza, il concetto di analisi rischio-rendimento è estremamente importante. Questo  significa che un trader retail non può ignorare questo concetto. Si deve  prestare particolare attenzione alle metriche di rischio / rendimento per qualsiasi strategia in quanto avranno un impatto significativo sui drawdown, la leva e tasso di crescita complessivo.
Questi concetti sono approfonditi in una seria di specifici articoli sul Risk e Money Management. Per ora è sufficiente introdurre le metriche più comuni, e in particolare il Sharpe Ratio, che è onnipresente come misura comparativa nella finanza quantitativa. Dato che è tenuto in così grande considerazione dal trading quantitativo istituzionalizzato, è necessario approfondirne i dettagli.

Sharpe Ratio

Consideraimo uno scenario dove abbiamo due diverse strategie con gli stessi identici rendimenti. Nel settore finanziario, si pone maggiore attenzione alla volatilità dei rendimenti e ai  periodi di drawdown. Quindi, se ona di queste due strategie presenta una grande volatilità dei rendimenti, probabilmente è una strategia poco attraente, nonostante il fatto che i rendimenti storici delle due strategie potrebbero essere simili se non identici. Questi problemi di confronto tra diverse strategie e la valutazione del rischio motivano l’uso del Sharpe Ratio.
Il rapporto di Sharpe S è definito dalla seguente relazione:

\(S = \frac{E(R_a – R_b )}{ \sqrt{Var(R_a – R_b)}}\)

Dove Ra è il rendimento dell’asset o della strategia, in uno determinato  periodo, e Rb è il rendimento di uno specifico benchmark a bassissimo rischio, come un indice economico.

Sortino Ratio
Il Sortino Ratio è motivato dal fatto che il Sharpe Ratio cattura, nel suo denominatore, sia la volatilità verso l’alto che verso il basso. Tuttavia, gli investitori (e i gestori di hedge fund) non sono generalmente troppo preoccupati quando si ha una significativa volatilità verso l’alto! Ciò che effettivamente interessa da un punto di vista della gestione del rischio è la volatilità al ribasso e i periodi di drawdown.
Quindi il Sortino Ratio è definito come il rendimento positivo medio diviso per la deviazione media al ribasso:

\(Sortino = \frac{E(R_a – R_b )}{ \sqrt{Var(R_a – R_b)_d}}\)

Il Sortino è talvolta citato anche nel contesto istituzionale, ma non è certamente così diffuso come il Sharpe Ratio.

CALMAR Ratio

Si potrebbe sostenere che gli investitori / operatori economici sono interessati unicamente alla massima estensione del drawdown, piuttosto che al drawdown medio. Ciò motiva il rapporto CALMAR (CALifornian Managed Accounts Reports), noto anche come Drawdown Ratio, che fornisce un rapporto tra il rendimento medio e il drawdown massimo:

\(CALMAR = \frac{E(R_a – R_b )}{ max. drawdown}\)

Anche in questo caso, il CALMAR non è così ampiamente utilizzato come il Sharpe Ratio.

Analisi dei Drawdown

A mio parere, il concetto di drawdown è l’aspetto più importante per l’analisi della performance di un sistema di trading algoritmico. In poche parole, se il tuo patrimonio netto viene spazzato via, nessuna delle altre metriche sul rendimento ha importanza! L’analisi del drawdown riguarda la misurazione dei cali del patrimonio netto nei precedenti high water mark. Un high water mark è definito come l’ultimo picco del patrimonio netto raggiunto sulla curva equity.

In un contesto istituzionale, il concetto di drawdown è particolarmente importante in quanto la maggior parte degli hedge fund viene remunerata solo quando l’equity del conto crea continuamente nuovi high water marks. Cioè, un gestore di fondi non riceve una commissione di performance mentre il fondo rimane “sott’acqua”, cioè il conto è in un periodo di drawdown.

La maggior parte degli investitori sarebbe preoccupata di un drawdown del 10% e probabilmente riscatterebbe il proprio investimento una volta che le perdite supererano il 30%. In un ambiente retail la situazione è molto diversa. È probabile che i singoli trader siano in grado di gestire drawdown più profondi nella speranza di ottenere rendimenti più elevati.

Drawdown massimo e durata

Le due metriche fondamentali per il drawdown sono il drawdown massimo e la durata del drawdown. Il primo descrive il calo più elevato (in percentuale)  da un picco precedente al minimo attuale o precedente del patrimonio netto dell’account. Viene spesso citato in un contesto istituzionale quando si cerca di publicizzare un fondo. Anche i piccoli trader dovrebbero prestare particolare attenzione a questa valore. Il secondo descrive la durata effettiva del drawdown. Questo valore viene solitamente indicato in giorni, ma le strategie ad alta frequenza elevata potrebbero utilizzare un periodo di tempo più granulare.

Nei backtest queste misure forniscono un’idea di come una strategia potrebbe funzionare in futuro. La curva equity del conto potrebbe sembrare allettante, tuttavia, una curva rialzista può facilmente mascherare la reale dimensione dei precedenti periodi di drawdown.

Quando una strategia inizia a scendere sotto il 10% del patrimonio, o addirittura al di sotto del 20%, è necessaria una significativa forza di volontà per continuare ad operare con questa  strategia, nonostante il fatto che la strategia abbia  storicamente, almeno nei backtest, attraversato periodi simili. Questo è un problema costante con il trading algoritmico e il trading sistematico in generale. Naturalmente questo motiva la necessità di stabilire limiti al drawdown e regole specifiche, come uno “stop loss” a livello di account che verrà eseguito in caso di un drawdown che superi questi livelli.

Curva dei Drawdown

Mentre è importante essere consapevoli del drawdown massimo e alla  durata del drawdown, è significativamente più istruttivo analizzare un grafico delle serie temporali del drawdown della strategia su tutta la durata del trading.

La figura seguente mostra abbastanza chiaramente che questa particolare strategia ha sofferto di un periodo di drawdown relativamente sostenuto che inizia nel terzo trimestre del 2010 e termina nel secondo trimestre del 2011, raggiungendo un drawdown massimo del 14,8%. Mentre la strategia stessa ha continuato a essere significativamente redditizia nel lungo termine, questo particolare periodo sarebbe stato molto difficile da sopportare. Inoltre, questo è il limite massimo storico che si è verificato fino ad oggi. La strategia potrebbe essere soggetta a un drawdown ancora maggiore in futuro. Pertanto, è necessario considerare le curve di drawdown, come con altre misure prestazionali storiche, nel contesto in cui sono state generate, in particolare tramite i dati storici e non futuri.

Fig - Esempio del grafico di una curva di Drawdown