Un Portafoglio con Asset Allocation 60 40

Un Portafoglio con asset allocation 60/40

Sommario

SCRIVIMI SU TELEGRAM

Per informazioni, suggerimenti, collaborazioni...

Se è la prima volta che atterri su DataTrading, BENVENUTO!

Lascia che mi presenti. Sono Gianluca, ingegnere, trekker e appassionato di coding, finanza e trading. Leggi la mia storia.

Ho creato DataTrading per aiutare le altre persone ad utilizzare nuovi approcci e nuovi strumenti, ed applicarli correttamente al mondo del trading.

DataTrading vuole essere un punto di ritrovo per scambiare esperienze, opinioni ed idee.

TUTORIAL

In un recente articolo abbiamo introdotto l’asset allocation tattica sistematica (TAA) come esempio di strategia di trading quantitativo a bassa frequenza.

Le strategie TAA possono essere un’ottima scelta per coloro che stanno muovendo i primi passi nel trading sistematico, vogliono introdurre il trading sistematico come parte della loro piano di investimento o semplicemente desiderano ridurre al minimo il quotidiano lavoro per la gestione di una strategia.

Nonostante l’apparente semplicità come meccanismo di trading sistematico, la TAA è il nucleo alla base di alcune delle implementazioni più complesse. Molte, se non tutte, le strategie TAA si basano su una buona comprensione delle tendenze macroeconomiche e sulla consapevolezza del comportamento a lungo termine delle varie classi di asset. La tipica frequenza di ribilanciamento mensile di queste strategie permette al trader di dedicare più tempo alla ricerca e meno tempo alla gestione operativa delle strategie.

In questo e nei successivi articoli iniziamo ad approfondire alcuni di questi temi. Vogliamo fornire una solida panoramica del TAA tramite alcune strategie di esempio, che possono essere usate come “strumento” nella cassetta degli attrezzi di ogni trader sistematico e, potenzialmente, per diversificare il portafoglio delle strategie da quelle a frequenza più elevata.

Oltre ad apprendere nuove possibilità di investimento, testiamo queste strategie tramite l’implementazione python con il nostro motore di backtesting open source DataInvestor. Questo framework è stato progettato “a moduli” in modo da essere facile da usare e da integrare con altre funzionalità evolute, consentendo una semplice implementazione delle strategie TAA. Tutti gli approcci di asset allocation descritti nei nostri articoli sono stati testati tramite backtest completi di grafici interattivi che ci aiutano a determinare se tale strategia può essere aggiunta al nostro portafoglio.

Benchmark della strategia

Molte strategie TAA consistono in semplici asset allocation statiche che vengono periodicamente ribilanciate. Alcuni usano sofisticati metodi per la costruzione del portafoglio in modo da pesare tatticamente le allocazioni con frequenza più elevata.

Come per tutte le forme di investimento, è necessario valutare il costo opportunità dell’allocazione del capitale su una strategia o portafoglio rispetto ad altro. Se dobbiamo considerare l’esecuzione di una strategia TAA complessa con regole di pesi non banali, è necessario chiedersi se possiamo ottenere prestazioni simili o migliori tramite semplici allocazioni statiche.

Per questo motivo è utile capire il concetto di benchmark della strategia. Un benchmark è la scelta di uno specifico portafoglio al fine di fornire un meccanismo di confronto con un’altra strategia di trading. Si può pensare al benchmark come alla “scelta di default”. In particolare, per un determinato insieme di opzioni rischio/rendimento dell’investitore, se il benchmark non può essere battuto con una complessa strategia attiva, allora perché dedicare tempo operativo alla sua implementazione?

La scelta di un benchmark non è così semplice come sembra. Si consideri una strategia attiva long-only sull’azionario gestita da un grande fondo istituzionale. Il solito benchmark “go to” è un indice geografico pesato per la capitalizzazione di mercato, come l’S&P500 per gli Stati Uniti o l’FTSE MIB per l’italia. Tuttavia, il benchmark potrebbe anche essere un indice che aggrega la performance di altri fondi azionari istituzionali di lunga durata. Questo può sembrare un confronto più sensato, dal momento che un investitore sta scegliendo effettivamente tra più aziende piuttosto che investire direttamente in un indice di mercato.

In particolare, quando si considerano strategie di asset allocation statiche e attive, l’investitore dispone di un’ampia gamma di potenziali classi di asset e opzioni geografiche. Pertanto, ha meno senso l’uso di un unico strumento di asset class geograficamente dipendente come un indice del mercato interno. Un tale metodo non terrà conto del potere diversificante di più classi di attività o aree geografiche.

Uno dei benchmark più comuni utilizzati per le strategie TAA è l’allocazione statica 60/40 – azioni/obbligazioni. In questo articolo descriviamo il portafoglio 60/40 e la sua implementazione in DataInvestor come una “strategia di trading”. Cercheremo di capire, sulla base dell’attuale clima macroeconomico, perché finora è stata un’allocazione interessante ma potrebbe non fornire le stessa prestazioni in futuro.

Che cos’è il 60/40?

Il tradizionale portafoglio 60/40 è un’allocazione del 60% del capitale in azioni e del 40% in obbligazioni. Questa allocazione è periodicamente ribilanciata (di solito una volta al mese) al fine di mantenere questa proporzione man mano che ciascuna classe di asset aumenta o diminuisce tra i ribilanciamenti.

Il 60/40 è spesso implementato come un portafoglio interamente nazionale, ad esempio con azioni esclusivamente statunitensi e un misto di Treasury e obbligazioni societarie statunitensi. Può anche essere implementato come strategia globale che utilizza le azioni mondiali (sviluppate e non) e una combinazione di obbligazioni globali (sovrane e societarie).

Il suo principale vantaggio risiede nella diversificazione offerta dalla natura parzialmente non correlata tra azioni e obbligazioni. L’effetto è quello di abbassare i drawdown massimi rispetto a un portafoglio interamente investito in azioni.

Gli ETF a basso costo consentono alla strategia (e alle sue varianti) di essere implementata direttamente dai trader retail sistematici, con nient’altro che un foglio di calcolo elabaorato una volta al mese.

Tuttavia, in questo articolo descriviamo il portafoglio 60/40 come strategia di asset allocation benchmark che è usata come “metro” di confronto per tutte le altre strategie di asset allocation tattica sistematica descritte negli articoli futuri.

I Vantaggi dello 60/40

Nonostante la sua metodologia di allocazione apparentemente semplice, il mix 60/40 possiede alcuni utili vantaggi:

  • Diversificazione – Il presupposto alla base della tesi di investimento è che le azioni e le obbligazioni sono (in una certa misura) non correlate. Pertanto, aggiungendo un’allocazione verso le obbligazioni si ottiene un utile vantaggio di diversificazione.
  • Rischio/Rendimento – Il 60/40 è progettato per fornire “rendimenti simili alle azioni con una volatilità simile alle obbligazioni”. L’aggiunta di obbligazioni dovrebbe quindi aumentare il rendimento aggiustato per il rischio (e quindi lo Sharpe Ratio).
  • Attuazione – La strategia è estremamente semplice da implementare. Richiede solo un riequilibrio mensile o annuale. Utilizza strumenti ETF liquidi di facile accesso che lo rendono adatto ai trader retail sistematici che desiderano ridurre al minimo i costi di negoziazione a lungo termine.
  • Tassazione – Sebbene questo particolare vantaggio dipenda fortemente dalla posizione dell’investitore, la rarità di realizzare guadagni a causa degli scarsi riequilibri rende la strategia interessante dal punto di vista fiscale.

I Svantaggi dello 60/40

Il 60/40 soffre anche di alcuni significativi svantaggi. Questi contribuiscono al suo utilizzo come “benchmark” inceve che come “strategia” per la maggior parte degli asset allocatori sistematici:

  • Geografia – Il portafoglio tradizionale 60/40 utilizza asset esclusivamente statunitensi, implementati in questo articolo tramite gli ETF SPY e AGG . Un’alternativa è utilizzare ETF che catturano azioni e obbligazioni globali.
  • Drawdown – Come si può vedere dai risultati del backtest sottostanti, il portafoglio soffre di un drawdown massimo del 35% in un periodo di 27 mesi durante la crisi finanziaria globale. Sebbene questo sia certamente superiore a quello di un’allocazione del 100% a SPY, che avrebbe visto un calo di circa il 50% nello stesso periodo di tempo, sarebbe comunque difficile da tollerare per la maggior parte degli investitori.
  • Data d’inizio – La performance della strategia è molto sensibile alla data iniziale a causa dell’ampia allocazione ai titoli e alle loro successive valutazioni. Se le azioni sono “costose” (sulla base del PE) all’inizio della strategia, ciò può avere un impatto drammatico sui rendimenti complessivi. Vedi la versione di Meb Faber [2] per una discussione più dettagliata.
  • Rischio – Sebbene solo il 60% del valore in dollari del portafoglio sia in azioni, in base alla volatilità, in questa classe di asset è effettivamente collocato molto più rischio. In articoli futuri descriviamo il concetto di pesatura della volatilità o di parità di rischio , ideato per mitigare questo effetto.
  • Performance futura – Nonostante il 60/40 abbia avuto una buona performance negli ultimi 30 anni, l’aspettativa tra i partecipanti al mercato (vedi [2], [3], [5] e [7]) è un’inferiore performance futura. Una combinazione della comparsa di rendimenti obbligazionari negativi e titoli costosi significa che 60/40 avrà difficoltà anche a battere l’inflazione nei prossimi 10 anni.

Regole della strategia

La logica di questa strategia prevede che alla chiusura dell’ultimo giorno di negoziazione del mese si calcola l’equity totale del portafoglio. Si verifica che il 60% del valore in dollari sia allocato all’ETF SPY e il 40% all’ETF AGG, effettuando eventuali operazioni di ribilanciamento se necessarie.

Strumenti utilizzati

  • SPY – SPDR S&P500 ETF Trust, che replica l’indice S&P500 del mercato azionario statunitense a grande capitalizzazione. Gli ETF alternativi includono IVV e VOO.
  • AGG – iShares Core US Aggregate Bond ETF, che replica un indice di obbligazioni investment grade statunitensi. Un ETF alternativo è BND.

Implementazione con DataInvestor

Il backtest di questa strategia è stato effettuando con l’ultima versione di DataInvestor. Al fine di favorire la replica di questi test, elenchiamo i parametri usati:

  • Dati – I dati storici OHLCV giornalieri di SPY e AGG scaricati da YahooFinance
  • Data di inizio 1 – 30 settembre 2003
  • Data di fine – 3 dicembre 2019
  • Pesi target – SPY 60%, AGG 40%
  • Riserva di cassa 2 – 1%
  • Conto iniziale – $ 1 MM
  • Costi di transazione – Nessuno modello
  • Ribilanciamento – Una volta al mese nell’ultimo giorno di calendario, le operazioni sono eseguite alla successiva apertura del mercato disponibile, senza buffering
  • Frequenza di aggiornamento – Le statistiche sono state raccolte quotidianamente alla fine della giornata di mercato
L’implementazione di questa strategia prevede la creazione di un script sixty_fourty.py dove vengono inizializzate le classi dei moduli necessari ed eseguiti insieme in una sessione di backtest:
				
					import os

import pandas as pd
import pytz

from datainvestor.alpha_model.fixed_signals import FixedSignalsAlphaModel
from datainvestor.asset.equity import Equity
from datainvestor.asset.universe.static import StaticUniverse
from datainvestor.data.backtest_data_handler import BacktestDataHandler
from datainvestor.data.daily_bar_csv import CSVDailyBarDataSource
from datainvestor.statistics.tearsheet import TearsheetStatistics
from datainvestor.trading.backtest import BacktestTradingSession

from datainvestor import settings


def run():
    testing = False
    config_file = settings.DEFAULT_CONFIG_FILENAME
    config = settings.from_file(config_file, testing)

    start_dt = pd.Timestamp('2003-09-30 14:30:00', tz=pytz.UTC)
    end_dt = pd.Timestamp('2019-12-31 23:59:00', tz=pytz.UTC)

    # Costruisce i simboli e gli asset necessari per il backtest
    strategy_symbols = ['SPY', 'AGG']
    strategy_assets = ['EQ:%s' % symbol for symbol in strategy_symbols]
    strategy_universe = StaticUniverse(strategy_assets)

    # Per evitare di caricare tutti i file CSV nella directory,
    # impostare l'origine dati in modo che carichi solo i simboli forniti
    csv_dir = config.CSV_DATA_DIR
    data_source = CSVDailyBarDataSource(csv_dir, Equity, csv_symbols=strategy_symbols)
    data_handler = BacktestDataHandler(strategy_universe, data_sources=[data_source])

    # Costruisce un modello Alpha che fornisce semplicemente
    # allocazioni statiche a un universo di asset
    # In questo caso 60% SPY ETF, 40% AGG ETF,
    # ribilanciato alla fine di ogni mese
    strategy_alpha_model = FixedSignalsAlphaModel({'EQ:SPY': 0.6, 'EQ:AGG': 0.4})
    strategy_backtest = BacktestTradingSession(
        start_dt,
        end_dt,
        strategy_universe,
        strategy_alpha_model,
        rebalance='end_of_month',
        long_only=True,
        cash_buffer_percentage=0.01,
        data_handler=data_handler
    )
    strategy_backtest.run()

    # Costruisce gli asset di riferimento (buy & hold SPY)
    benchmark_assets = ['EQ:SPY']
    benchmark_universe = StaticUniverse(benchmark_assets)

    # Costruisce un modello Alpha di riferimento che fornisce
    # un'allocazione statica al 100% all'ETF SPY, senza ribilanciamento
    benchmark_alpha_model = FixedSignalsAlphaModel({'EQ:SPY': 1.0})
    benchmark_backtest = BacktestTradingSession(
        start_dt,
        end_dt,
        benchmark_universe,
        benchmark_alpha_model,
        rebalance='buy_and_hold',
        long_only=True,
        cash_buffer_percentage=0.01,
        data_handler=data_handler
    )
    benchmark_backtest.run()

    # Output delle Performance
    tearsheet = TearsheetStatistics(
        strategy_equity=strategy_backtest.get_equity_curve(),
        benchmark_equity=benchmark_backtest.get_equity_curve(),
        title='60/40 US Equities/Bonds'
    )
    tearsheet.plot_results()

				
			

Risultati

Di seguito si riportano i risultati del backtest dal 30 settembre 2003 al 3 dicembre 2019:

trading-algoritmico-quanttrader-sixty-fourty-tearsheet

Il portafoglio 60/40 ha prodotto un CAGR del 7,25% con una volatilità annualizzata del 10%, ha avuto uno Sharpe Ratio rispettabile (il tasso giornaliero privo di rischio) di 0,74. Dalla curva di equity è evidente che dopo la crisi finanziaria globale del 2008 il portafoglio 60/40 ha registrato una buona performance, anche corretta per l’inflazione.

Tuttavia, questa performance è stata in gran parte ottenuta grazie ad una combinazione di fattore macroeconomici, come programmi di quantitative easing della banca centrale e un contesto di bassa inflazione negli Stati Uniti. I titoli azionari statunitensi hanno registrato ottime performance in questo periodo.

Questo può essere spiegato dal fatto che, poiché i rendimenti delle obbligazioni sono diminuiti a causa della riduzione dei tassi di interesse, gli investitori sono entrati in una fase di “risk on” e hanno acquistato azioni, aumentandone “artificialmente” i prezzi. Purtroppo l’aspettativa è che i futuri rendimenti azionari diminuiranno nei prossimi 10 anni, in parte a causa delle loro valutazioni attualmente elevate. Inoltre, i rendimenti dei Treasury statunitensi a 10 anni sono costantemente diminuiti, passando da circa il 4% nel 2003 a meno del 2% nel 2019, esercitando ulteriore pressione sulle future aspettative di performance 60/40.

Dato che l’inflazione negli Stati Uniti è attualmente intorno al 2-3%, il portafoglio 60/40 avrà probabilmente problemi anche a generare un rendimento positivo in termini reali. Non vi è inoltre alcuna garanzia che la bassa correlazione storica tra le due asset class (azioni e obbligazioni) persisterà. Se la correlazione aumenta (come sembra stia facendo) mina in primo luogo una delle tesi di investimento alla base del 60/40.

Nonostante questi venti contrari, rimarrà probabilmente per qualche tempo la scelta primaria di benchmark per le strategie basate su TAA, anche se con un’implementazione globale piuttosto che con la tradizionale metodologia solo per gli Stati Uniti.

Prossimi passi

Negli articoli successivi descriviamo strategie TAA più complesse che tentano di mitigare gli effetti della concentrazione geografica, della correlazione tra asset class e dei problemi di gestione del rischio sopra descritti, nel tentativo di migliorare i nostri rendimenti aggiustati per il rischio a lungo termine.

Riferimenti

  • [1] Can a 60/40 split portfolio deliver better outcomes? – Schroders
  • [2] Chapter 2: The Benchmark Portfolio 60/40 – Meb Faber
  • [3] Why Morgan Stanley Says the 60/40 Portfolio Is Doomed – Investopedia
  • [4] Destroying The 60/40 Portfolio Myth – Forbes
  • [5] What a downbeat forecast for 60/40 portfolios means for alternatives- Portfolio Adviser
  • [6] What Is the 60/40 Portfolio (And Should You Have One)? – SmartAsset
  • [7] Asset Allocation: The 60/40 question – IPE

Note a piè di pagina

1. La durata del backtest è relativamente breve rispetto a molti altri effettuati nell’ambito dell’asset allocation. Ciò è dovuto alla data di inizio dell’ETF AGG. Nel presente articolo abbiamo scelto di non creare un “asset sintetico” per coprire la performance prima della data di avvio di AGG al fine di migliorare la trasparenza e favorire la riproducibilità.

2. Attualmente DataInvestor non simula il margine e quindi non consentirà ai nuovi acquisti di superare il saldo di cassa del conto corrente. Per tenere conto delle variazioni di prezzo tra il ribilanciamento alla chiusura e l’acquisto alla successiva apertura successiva, è necessario mantenere un piccolo buffer di cassa target nel conto. Abbiamo utilizzato un valore dell’1% nel precedente backtest. Ciò significa che il restante 99% del capitale del conto viene allocato con un obiettivo del 60% SPY e del 40% AGG in ogni periodo di ribilanciamento.

Torna su