520 likes | 845 Views
Direzione Gestioni Quantitative - RAM SGR Es. 2 Teoria delle scelte di portafoglio. Sommario. Richiami sui principi fondamentale tella teoria delle scelte di portafoglio La risoluzione del problema in forma chiusa La risoluzione del problema attraverso procedure numeriche
E N D
Direzione Gestioni Quantitative - RAM SGREs. 2Teoria delle scelte di portafoglio
Sommario • Richiami sui principi fondamentale tella teoria delle scelte di portafoglio • La risoluzione del problema in forma chiusa • La risoluzione del problema attraverso procedure numeriche • La stima degli input: rendimenti attesi e matrice di covarianza • Ottimizzazione su dati simulati • L’errore di stima e le conseguenze sul portafoglio ottimo • Ottimizzazione su dati reali 2
Teoria delle scelte di portafoglio - Richiami • Gli investitori sono razionali: a parità di rendimento atteso, preferiscono asset meno rischiosi • I rendimenti sono distributi normalmente e sono quindi descritti da media e varianza • La funzione di utilità dell’investitore è quadratica • Non ci sono lotti minimi, posso comprare quantità infinitesimali • Gli asset sono perfettamente liquidi • Non ci sono costi di transazione 4
Ottimizzazione Media Varianza • Date le ipotesi, l’investitore sceglie il proprio portafoglio ottimo massimizzando la funzione di utilità attesa: • E’ un problema di programmazione quadratica, la cui soluzione è nota in formula chiusa: • N.B.: per ottenere il portafoglio ottimo, la matrice di COV deve essere invertibile!! 5
Ottimizzazione Media-Varianza in presenza di vincoli 6
Ottimizzazione Media Varianza - I Vincoli di uguaglianza • E’ realistico ipotizzare che il portafoglio ottimo debba soddisfare dei vincoli lineari del tipo Aw = b: • A è una matrice con k righe (il numero dei vincoli) è n colonne (il numero degli asset, b è un vettore n x 1 • I vincoli possono essere di vario tipo: • somma dei pesi unitaria => il portafoglio è totalmente investito e non esiste leva finanziaria (ad es. non si investe in contratti future) • vincoli su insiemi di asset => es. i titoli di un determinato settore devono avere un certo peso • vincoli sui rendimenti attesi => es. Il rendimento atteso del portafoglio ottimo deve essere pari a p • vincoli su fattori di rischio => es. Vincoli su beta 7
Ottimizzazione Media Varianza - Soluzione in presenza di vincoli • In presenza di vincoli il problema è risolto attraverso le espressioni seguenti: 8
Altri vincoli • In generale potremmo voler richiedere che il nostro portafoglio ottimo soddisfi vincoli più complessi di quelli fin qui indicati: • vincoli lineari in forma di diseguaglianza Awb • vincoli di peso minimo o massimo per singolo asset (comprende il caso di esclusione di un asset) • vincoli di tipo non lineare • Il problema in questi casi può essere risolto sfruttando algoritmi numerici di programmazione quadratica che si basano sul metodo di Newton (ricerca dell’ottimo secondo la direzione del gradiente) e successive evoluzioni • In Matlab, ne sono disponibili svariati, richiamabili principalmente tramite le funzioni quadprog, fmincon 9
Altri vincoli (2) • Esistono vincoli ancora più complessi, come: • vincoli a numeri interi (es. il portafoglio deve essere costituito da un numero di titoli compreso tra Nmin e Nmax) • vincoli su condizioni (es. la somma dei titoli che pesano più di x% non deve superare y%) - es. Vincoli Banca d’Italia • In generale la maggiore complessità di questi vincoli richiede la risoluzione attraverso euristiche ed algoritmi di ottimizzazione di tipo stocastico, quali: • genetic algorithm • differential evolutionary algorithm • ... 10
Ottimizzazione Media-Varianza: la stima degli INPUT 11
Definizione degli INPUT e costruzione della frontiera • La costruzione di un portafoglio tramite un modello media varianza richiede la risoluzione di un problema quadratico • E’ necessario fornire: • il coefficiente di avversione al rischio (se poniamo =1, l’utilità rimane invariata se all’aumentare di una unità di rischio il rendimento atteso varia di due unità) • il vettore dei rendimenti attesi • la matrice di varianza e covarianza • La formula indicata fornisce un singolo portafoglio ottimo dato un insieme , , • Per ottenere una frontiera efficiente possiamo: • variare [min, max] • vincolare il portafoglio ad un target di rendimento atteso p[min, max] e variare il rendimento atteso 12
INPUT: i rendimenti attesi • Per stimare i rendimenti attesi possiamo utilizzare varie alternative: • previsioni in base a dati storici: • semplice media campionaria (la media e la varianza campionaria sono stimatori del valore atteso e della varianza della popolazione) • medie calcolate su finestre mobili (moving average) • medie ponderate esponenzialmente su finestre mobili (es. EWMA) • modelli di time series analysis • modelli di stampo macroeconomico (in genere per indici) • building block model (il rendimento atteso è la somma dell’inflazione, del tasso a breve reale, del risk premium obbligazionario, azionario e del cambio) • modelli fondamentali di valutazione della società (dividend discount model) • indicatori tecnici • fornire aspettative soggettive 13
INPUT: la matrice di covarianza • Sulla matrice di varianza e covarianza potrebbe sembrare che le alternative siano minori, ma non è così… • La volatilità non è un concetto definito in modo univoco, ma può essere stimata in molti modi: • direttamente calcolata su rendimenti storici: • semplice covarianza storica • EWMA • GARCH multivariati • matrice derivata da modelli fattoriali (CAPM, APT) • basati su variabili macroeconomiche • basati su variabili statistiche (es. PCA) • mix di stimatori: • stimatori bayesiani 14
INPUT: la matrice di covarianza (2) • E’ noto che variazioni nei rendimenti attesi influenzano le soluzioni ottime molto di più di quanto non lo facciano variazioni delle covarianze • i rendimenti influenzano linearmente l’utilità, mentre la varianza è una grandezza quadratica • Da questo punto di vista le covarianze sono meno importanti, ma... • Bisogna ricordare che: • la soluzione ottima richiede l’inversione di • affinchè la varianza abbia senso deve essere positiva, quindi w’w>=0 • deve essere quindi essere semidefinita positiva • Il modello di stima deve garantire questa proprietà 15
INPUT: la matrice di covarianza (3) • Nei casi in cui vi siano molti asset, il rapporto T/N può diventare pericolosamente piccolo e la matrice di covarianza può non essere semidefinita positiva • Altri problemi possono nascere nel momento in cui: • è generata per simulazione • è stimata: • su serie storiche incomplete (da tappare) • in caso di titoli collineari (es. azioni ordinarie e di risparmio) • E’ quindi sempre richiesta una verifica, utilizzando il noto teorema per cui: • è simmetrica • è semidefinita positiva se e solo se tutti gli autovalori di sono nonnegativi e se almeno uno è positivo. 16
Funzioni di ottimizzazione (home made) • Utilizzando il dataset RendSim.mat (10 asset), scriviamo funzioni per la risoluzione del problema di ottimizzazione: • Nel caso di un solo portafoglio (formula chiusa) • wOpt = SingoloPtfOttimizzato (ExpRet, CovMatrix, lambda) • Nel caso di un solo portafoglio in presenza di vincoli (formula chiusa) • wOpt = SingoloPtfOttimizzatoConVincoli(A, b, ExpRet, CovMatrix, lambda) • Vincoli • somma pesi unitaria • vincoli su blocchi di asset • Nel caso si una frontiera (formula chiusa) • [PortWOpt, PortRisk, PortReturn] = CreaFrontieraEff(Rend, Nport, ExpRet, CovMatrix, lambda) • è importante gestire i vincoli sui rendimenti attesi • valutare le soluzioni 18
Funzioni di ottimizzazione (Matlab) • Matlab, utilizzando un’impostazione simile a quella delineata, offre un ventaglio di funzioni che permettono di costruire portafogli ottimi frontiera efficiente • Queste funzioni appartengono al financial toolbox • Possiamo però scrivere il problema finanziario e utilizzare le funzioni di ottimizzazione di matlab per ottenere la soluzione • La parametrizzazione delle funzioni di ottimizzazione Matlab è ricca e consente di gestire anche vincoli di disuguaglianza lineare, vincoli di minimo e massimo peso del singolo asset (provare ad inserire vincoli) • La funzione utilizzata QUADPROG Quadratic programming. • min 0.5*x'*H*x + f'*x subject to: A*x <= b, LB<=x<=UB • X=QUADPROG(H,f,A,b,Aeq,beq,LB,UB) • (ipotizza lambda 1, attenzione al segno di f) 19
Funzioni di ottimizzazione (Matlab) • Utilizziamo le funzioni Matlab per determinare scrivere una funzione che generi la frontiera in presenza dei seguenti vincoli e dei medesimi input: • somma unitaria dei pesi • nonnegatività dei pesi • [PortWOpt, PortRisk, PortReturn] = CreaFrontieraEff_Matlab(rend, 20, ExpRet, CovMatrix, Lambda); 20
Esempio una frontiera efficiente • dataset RendSim.mat 21
La simulazione di rendimenti distribuiti normalmente 22
INPUT: rendimendi simulati • Per realizzare esercizi di ottimizzazione lavoriamo su dati simulati distribuiti normalmente • Nel caso in cui la simulazione sia univariato, la generazione dei rendimenti è semplice e richiede i seguenti passi: • simulazione rendimenti normali standardizzati => z=randn(T,N) • attribuzione media e standard deviation => • Ipotizziamo di voler generare 3 asset class distribuite nel modo seguente: 23
INPUT: rendimendi simulati- caso multivariato • Nel caso multivariato possiamo ricorrere alla decomposizione di Cholesky della matrice di covarianza: • La decomposizione è possibile solo per matrici semidefinite positive • D è una matrice triangolare • Possiamo quindi simulare rendimenti normali standard e poi riattribuire medie e correlazioni: 24
Dati simulati • Possiamo però verificare che la matrice non è semidefinita positiva • ha un autovalore pari a -0.29… • La matrice non è quindi utilizzabile in un processo di ottimizzazione • Possiamo: • modificare manualmente la matrice fino a trovarne una appropriata... • ricorrere ad una procedura di stabilizzazione che la renda semidefinita positiva senza alterarne eccessivamente i dati • Ricordando che vale la decomposizione in autovalori • possiamo sostituire l’autovalore negativo con un >0, (es. 1e-5), determinare la matrice’, ricomporre la matrice ’ e normalizzare le correlazioni in ’’ • creare funzione OmegaNew = CorrMatrixStabilization(Omega) 25
Analisi dei portafogli ottimi: l’errore di stima 26
L’errore di stima - dati simulati • Costruiamo portafogli ottimizzati in base ai dati costruiti per simulazione • Per valutare le soluzioni fornite dall’ottimizzazione e la sensibilità delle soluzioni alla stima degli input, possiamo: • generare un portafoglio ottimo utilizzando i VERI rendimenti attesi e la VERA matrice di covarianza • generare un portafoglio ottimo utilizzando i VERI rendimenti attesi ed una STIMA della matrice di covarianza • generare un portafoglio ottimo utilizzando una STIMA dei rendimenti attesi e la VERA matrice di covarianza • generare un portafoglio ottimo utilizzando la stima dei rendimenti attesi e la stima matrice di covarianza • in tutti i casi utilizziamo come stimatori la media e la covarianza campionaria • Utilizziamo: • function [] = CreaFrontieraEff() 27
L’errore di stima - dati simulati (2) • I risultati sono particolarmente sensibili all’errore di stima sui rendimenti attesi 28
L’errore di stima - dati simulati (3) • Un’analisi più completa è contenuta nel file videoEstRet.mat che mostra come si posizionano le frontiere nei 4 casi indicati in precedenza, in caso di stime rolling su finestre di 10 giorni, su un dataset casuale di 50 osservazioni per 3 asset • In questo caso lavoriamo con un rapporto T/N=10/3 • In presenza di molti asset questo rapporto è realistico e può anche scendere ulteriormente • (500 asset, 1000 osservazioni è un caso molto frequente) • Nel file videoEstRet2.mat è contenuto un dataset che mostra come allungando il campione (quindi aumentando il rapporto T/N), gli stimatori convergano al vero valore della popolazione, annullando quindi l’errore di stima (principio ergodico) 29
L’errore di stima - letteratura • Chopra, Ziemba (1993) identificano che: • l’errore si stima sui rendimenti attesi è più importante di circa 10 volte riapetto a quello sulle varianze • l’errore sulle varianze è importante circa il doppio rispetto a quellosulle covarianze • Best, Grauer (1991) mostrano che: • i portafogli ottimi sono molto sensibile ai rendimenti attesi • un modesto variazione nel rendimento atteso di un solo asset, influenza la composizione di circa metà del portafoglio, pur lasciando il rendimento atteso e la volatilità del portafoglio sostanzialmente immutata 30
Funzioni di ottimizzazione - dati reali • Possiamo adesso ripetere gli esercizi di ottimizzazione utilizzando un dataset reale, ma contenuto • file: Sector.xls, Sector.mat • contengono le serie storiche dal 01/01/01 al 05/10/05 di 10 indici settoriali dell’area Europa calcolati da Datastream: • EUROPE - DS RESOURCES • EUROPE - DS BASIC INDUSTRIES • EUROPE - DS GEN. INDUSTRIALS • EUROPE - DS CYC. CONS. GOODS • EUROPE - DS NON CYC CONS GDS • EUROPE - DS CYCLICAL SERVICE • EUROPE - DS NON CYC.SERVICES • EUROPE - DS UTILITIES • EUROPE - DS INFORMATION TECH • EUROPE - DS FINANCIALS 32
Funzioni di ottimizzazione - dati reali • [PortWOpt, PortRisk, PortReturn] = CreaFrontieraEff_Matlab(r_sector, 20, mean(r_sector)', cov(r_sector), []); 33
Risultati (2) - blu stima full sample, nero 250 dd, rosso 100 dd 35
Osservazioni sui portafoglio ottimi • Nel file SectorVideo.mat sono contenuti i dati che mostrano come varia la frontiera e le composizioni ripetendo le operazioni di stima e di ottimizzazione su un campione di 250 dati rolling • Anche in questo caso, possiamo verificare che l’errore di stima degli input produce variabilità nei risultati • Altre osservazioni: • E’ opportuno tenere in considerare che gli algoritmi di ottimizzazione sono strumenti molto potenti, producono soluzioni molto accurate in presenza di input precisi • In caso di errore di stima, l’ottimizzazione produce soluzioni corrette numericamente, ma distorte dal punto di vista logico e finanziario • Abbiamo visto che l’errore sui rendimenti attesi influisce maggiormente sulle soluzioni • Un rendimento eccessivamente alto induce l’ottimizzatore a concentrare le soluzioni verso quell’asset: perchè comprarne altri quando quell’asset produrrà il maggior ritorno? • Spostamenti della frontiera producono variazioni nella composizione del portafoglio • Ciò impatta sul turnover e sui costi di transazione • Variazioni ampie dell’allocazione (anche se vi fosse perfect foresight) sono difficilmente realizzabili sul mercato per problemi di liquidità e per market impact 36
Osservazioni sui portafoglio ottimi(2) • Altre osservazioni: • i portafogli ottimi nell’esempio sono costituiti da pochi asset (max 4/10) • questo fenomeno è noto come polarizzazionedelle soluzioni, ed è particolarmente evidente agli estremi della frontiera • le conseguenze dirette della polarizzazione sono: • i portafogli concentrati sono poco credibili (siamo veramente sicuri che un asset con un rendimento atteso negativo, avrà effettivamente una performance negativa) • le stime ci forniscono valori ex-ante, le performance sono costruite ex-post • affidarsi a poche scommesse rinnega il principiop della diversificazione che è insito nella teoria delle scelte diportafoglio • la concentrazione è un fenomeno ancora più evidente quando ho un benchmark di riferimento: • è corretto investire in una piccola frazione dei titoli disponibili, quando il mio obiettivo è realizzare una performance pari o superiore a quella di un indice di riferimento? • l’insieme di questi effetti, induce qualcuno a dire che l’ottimizzazione di portafoglio non è minimizzazione del rischio, ma massimizzazione dell’errore • si pa rla anche del Markowitz Optimization Enigma 37
Alcune soluzioni ai problemi classici dell’ottimizzazione media varianza 38
Possibili soluzioni ai problemi evidenziati • I problemi evidenziati derivano dall’adozione di un processo di ottimizzazione ingenuo ed eccessivamente semplificato • Possiamo adottare degli interventi volti a controllare le soluzioni ottime attraverso: • un approccio euristico: imposizione di vincoli alla percentuale massima detenuta di una asset • generazione di portafogli relativi rispetto ad un benchmark • tecniche statististiche volte a separare il segnale dal rumore (bayesian shrinkage estimator) • tecniche volte a limitare l’impatto dell’errore di stima degli input (resampling) 39
Possibili soluzioni: l’imposizione di vincoli • Un modo semplice per ridurre l’instabilità delle soluzioni ed i fenomeni di polarizzazione è quello di vincolare l’insieme delle soluzioni ammissibili attraverso l’imposizione di vincoli di peso massimo: • implicitamente viene determinato un numero minimo di asset da detenere • si può dimostrare che imporre questi vincoli è analogo all’utilizzo di stimatori di riduzione dell’errore di stima (Jagannathan, Ma 2001) • Riprendendo il dataset Sector.mat, ripetiamo l’esercizio di ottimizzazione imponendo un upper bounds sugli asset, pari al 30% • Il numero di asset lungo la frontiera aumenta per definizione del problema 40
Possibili soluzioni: utilizzo di un benchmark • Posso utilizzare un benchmark come riferimento e costruire un portafoglio rispetto a questo riferimento (tilt) • Possiamo invertire la formula di calcolo del portafoglio ottimo in assenza di vincoli, e calcolare il rendimento atteso data una composizione (reverse engineering). • A questo punto potremmo calcolare degli extra rendimenti attesi rispetto a quelli impliciti nel benchmark e riottimizzare • La soluzione ottimale sarà “nei pressi del bmk”, avrà quindi una composizione simile, elevata numerosità degli asset e sovrappesi/sottopesi rispetto a quei titoli su cui si hanno aspettative di extra-rendimenti positivi/negativi 42
Possibili soluzioni: stimatori shrinkage • Sono basati sul principio bayesiano delle probabilità condizionali, per il quale la probabilità di accadimento di un avvenimento viene modificata sulla base di set informativi noti a priori (prior). • Empiricamente si traducono in medie tra uno stimatore di statistica classica (come la media per il valore atteso) ed un un prior che funge da baricentro equilibratore • L’effetto di questi stimatori è di riportare valori estremi dello stimatore utilizzato (rendimenti attesi particolarmente elevati o particolarmente negativi) verso il baricentro delle attese, con un’intensità dettata dalla matrice di covarianza • Tanto maggiore è la variabilità, tanto maggiore l’attesa è incerta e deve essere quindi riportata verso valori medi • Questi stimatori limitano quindi l’errore di stima, e modificano sia la cardinalità che l’ordinalità dei valori 43
Possibili soluzioni: stimatori shrinkage (2) • Uno degli stimatori più utilizzati è quello di Bayes-Stein: • In questo caso il prior è costituito dalla media globale del sistema. • Quanto più i rendimenti attesi stimati sono lontani da questa media e quanto maggiore e la standard deviation dello stimatore, tanto maggiore è l’effetto di shrikage 44
Possibili soluzioni: il portfolio resampling • Come visto nei precedenti esempi, l’errore di stima rende la frontiera instabile e variabile nel tempo • L’idea del portfolio resampling è quella di considerare la frontiera come una variabile stocastica, che è circondata da una regione statisticamente non distinguibile (statistical equivalent region) • La frontiera statisticamente può essere quindi considerata un’area, che comprende più portafogli la cui composizione non è statisticamente differente • Ogni volta in cui generiamo una frontiera stiamo di fatto osservando una realizzazione di una medesima, che è soggetta all’errore di stima • Generando per simulazione n frontiere, genero un’area di frontiere e prendendo una media delle composizioni, otteniamo una frontiera meno soggetta all’errore di stima e quindi più stabile. 46
Possibili soluzioni: il portfolio resampling(2) • Possiamo prendere in considerazione il Gaussian Resampling, che può essere schematizzato attraverso le seguenti fasi: • Selezione del periodo di analisi • Stima di parametri di rendimenti attesi e matrici di covarianze (si può passare anche attraverso una fase di stabilizzazione degli stimatori) • Simulazione di rendimenti distribuiti normalmente secondo i parametri stimati • Costruzione della frontiera per ognuno dei dataset simulati • Calcolo della composizione media su tutte le frontiere • Esistono versioni non paraametriche del portfolio resampling che limitano l’assunzione di ipotesi restrittive, quali la normalità 47
L’estensione al caso di portafogli di grande dimensione 48
Portafogli di grande dimensione • Tutti i problemi evidenziati diventano ancora più gravi in presenza di ottimizzazione con portafogli composti da centinaia di titoli: • le matrici di covarianza possono avere molti autovalori negativi • modelli multivariati per la stima dei rendimenti possono diventare impossibili da stimare (centinaia o migliaia di parametri da stimare in base a campioni finiti) • le serie storiche sono incomplete e devono essere rettificate dagli effetti derivanti da corporate actions (es. dividendi straordinari) • alcune serie storiche sono illiquide e manifestano volatilità non realistiche che poi si traducono in jump improvvisi • sui singoli titoli esistono i lotti minimi (es. mercati del pacifico) e problemi di liquidità 49
Portafogli di grande dimensione(2) • Di fronte a questi problemi si possono ricercare delle soluzioni: • ricorrerendo a strutture di semplificazione dei dati attraverso procedure di fattorizzazione (CAPM, APT e modelli multifattoriali) • utilizzando processi a più stadi: • clusterizzazione dei titoli in gruppi • ottimizzazione nei gruppi • ottimizzazione tra gruppi • utilizzando modelli di riattribuzione della volatilità agli asset illiquidi • ... 50