Options
Ottimizazione del portafoglio con strategie passive:un'applicazione degli algoritmi di threshold accepting.
Bjelanovic, Karla
2008-04-14
Contributor(s)
Invernizzi, Sergio
Abstract
Per una comprensione pi`u immediata del problema in questione, in questa
tesi si `e scelto di ridurre al minimo le variabili, escludendo in tal modo elementi
secondari quali ad esempio i costi di transazione ed i lotti minimi. La
stuttura del lavoro svolto tuttavia lascia aperta la possibilit`a, in un secondo
tempo, di considerare nel calcolo anche tali variabili.
Considerata la complessit`a del problema in oggetto, la scelta di un algoritmo
euristico come strumento di risoluzione `e risultata obbligata. I pi`u efficaci
tra i diversi tipi di algoritmi euristici sono risultati essere gli algoritmi genetici
(cf J.E. Beasley et al., An evolutionary heuristic for the index trackingproblem, European Journal of Operational Research 148: 621–643, 2003) e
l’algoritmo di threshold accpeting (cf. Gilli, M. and E. K¨ellezi 2001., Threshold
Accepting for Index Tracking: University of Geneva, Switzerland). Di
conseguenza, seguendo in particolare Gilli, si `e deciso di adottare, per la risoluzione
numerica del problema di ottimizzazione il threshold accepting (TA).
La definizione delle linee guida di questo algoritmo sono state ricalcate da
quelle elaborate da Gilli e Winker (cf. Gilli, M. e P. Winker 2007., Heuristic
optimization Methods in Econometrics: University of Geneva, Switzerland
and University of Giessen, Germany.), con l’introduzione di alcune varianti
che si sono dimostrate particolarmente significative.
L’algoritmo euristico, infatti `e stato raffinato aggiugendo una parte finale
che consiste nell’applicazione di un metodo classico di ottimizzazione locale.
Questa operazione ci ha consentito di raggiungere il primo risultato principale
della tesi. In pratica, l’ottimizzazione locale ha consentito di individuare
il fenomeno dei minimi che si trovano sul bordo dell’insieme ammissibile. La
conclusione che si evince `e la seguente: nella costruzione di un portafoglio
ridotto di titoli che ha il fine di replicare un determinato indice non sempre
risulta efficace l’inclusione di un insieme allargato di elementi; al contrario
si `e verificato che l’aggiunta di un titolo poco significativo pu`o peggiorarne
l’azione di tracking dello stesso indice. Viene confermata, quindi, matematicamente
la supposizione di alcuni analisti (cf. Elton, E. J. e Gruber M. J.,
Brown, S. J. and Goetzmann, W. N. 2003., Modern Portfolio Theory and
Investment Analysis: Wiley and Sons, Inc., Hoboken, NJ, 6th edn.) che la
diversificazione del portafoglio pu`o essere raggiunta con un numero piuttosto basso dei titoli se questi sono ben scelti. In altre parole, la diversificazione
del portafoglio non dipende dalla quantit`a dei titoli al suo interno, ma dalla
loro “qualit`a”.
Il secondo risultato ottenuto `e rappresentato dalla capacit`a dell’algoritmo
nel determinare se all’interno di un indice oggetto vi siano delle componenti
dominanti: una componente di un indice `e dominante se, intuitivamente, si
trova sempre presente nei portafogli di cardinalit`a bassa che riproducono l’indice.
In tal caso per giungere alla loro individuazione `e sufficiente verificare
la loro presenza ed il loro peso nei vari portafogli prodotti dall’algoritmo.
Ad esempio il fatto che l’indice azionario Hang Seng (Borsa di Hong Kong),
sia dominato da alcune sue componenti (HSBC e China Mobile) `e ben noto
agli analisti,che riconducono al comportamento dinamico di questi titoli la maggior parte dei movimenti dell’indice. L’output grafico rappresentato
nella Figura 1, ottenuto utilizzando i risultati dell’elaborazione dell’algoritmo
threshold accepting per replicare l’indice Hang Seng con soli 7 titoli, evidenzia
il concetto delle componenti dominanti. Questo grafico rappresenta una matrice
“a barre” di 500 righe e 38 colonne. Le colonne da 1 a 38 corrispondono
ordinatamente alle 38 componenti di Hang Seng utilizzate per l’esecuzioni
dell’algoritmo. Ogni riga corrisponde ad una esecuzione del programma e
rappresenta in un codice-colore il portafoglio ottimo con numero titoli n = 7
fornito da quella esecuzione. Le 31 componenti assenti (cio`e le componenti
con peso uguale a 0) sono rappresentate nello sfondo verde, le 7 componenti
scelte con una barra in una scala di grigio proporzionale al suo peso (pi`u
scuro = pi`u peso). Le esecuzioni sono ordinate per valori crescenti della funzione
obiettivo, per cui il portafoglio ottimo fornito dal complesso delle 500
esecuzioni `e quello della riga uno. Si nota come al decrescere della funzione
obiettivo si evidenziano sempre pi`u le bande delle componenti dominanti
numero 28 e 38.
L’istogramma del peso medio, nella Figura 2, rappresenta il peso medio delle
38 componenti nelle migliori 100 delle 500 esecuzioni. Le componenti sono
elencate in ascissa per peso medio decrescente. Si osserva come le componenti
dominanti cio`e le componenti 28 e 38 abbiano nelle migliori 100 esecuzioni
un peso medio rispettivamente del 24.42% e del 15.41%, dove con esecuzioni
migliori si intendono quelle con funzione obiettivo pi`u bassa. Le successive 5
componenti pi`u pesanti sono le componenti numero 30, 35, 26, e 21 con pesi
rispettivi 5.58%, 4.47%, 3.86%, 3.26% e 3.15%.
Non sono state rilevate componenti dominanti nell’indice S&P 100, mentre
lle analisi sembrano indicare che ce ne siano nel MIB 30, meno significative
rispetto al caso di Hang Seng.
Durante la stesura della tesi, discutendo con alcuni gestori di Allianz
S.p.A., si `e evidenziato che questo algoritmo potrebbe avere anche delle applicazioni
utili nella gestione attiva. Nelle fasi di mercato particolarmente
volatile, la maggior parte dei gestori preferisce assumere una posizione pi`u in
linea con il mercato evitando, quindi, esposizioni concentrate su particolari
titoli con il rischio di subire maggiori perdite. Con questo tipo di strumento a disposizione, vi sarebbe la possibilit`a di implementare tale strategia difensiva
allocando gran parte del capitale in un numero ridotto di titoli altamente
correlati con il mercato, senza necessariamente coprire tutte le posizioni del benchmark.
TA `e un algoritmo euristico di ottimizzazione di recente introduzione,
ed `e sostanzialmente una versione modificata e semplificata dell’algoritmo di
simulated annealing. Come tutti gli euristici, anche TA parte da una soluzione
ammissibile e cerca di migliorarla esplorandone un opportuno intorno.
L’algoritmo termina quando non `e pi`u possibile trovare delle soluzioni migliori
nell’intorno della soluzione corrente, ovvero dopo un prefissato tempo
di calcolo o un prefissato numero di operazioni. Per sfuggire alle trappole
dei minimi soluzioni locali, durante l’esecuzione dell’algortimo, TA “accetta”
anche i movimenti in direzione opposta a quella della minimizzazione (uphill
moves) purch´e non superino una certa “soglia” (da cui il nome threshold
accepting).Come linguaggio di programmazione `e stato scelto il pacchetto statistico
R (www.r-project.org). Il pacchetto statistico R sta diventando lo standard
per la analisi dei dati in ambito accademico (e non solo). La sua caratteristica
di essere liberamente disponibile ed open–source fa s`ı che i risultati
di un lavoro di ricerca sviluppato in R siano verificabili da chiunque intenda
effettuare un controllo per dare una valutazione del lavoro. A svantaggio,
va riportato che di norma R richiede pi`u tempo di cpu rispetto a linguaggi
come C++, ma, a posteriori, questo svantaggio `e minimo in quanto come
si vedr´a i tempi tipici di esecuzione sono dell’ordine dell’ora (la workstation
usata da J.E. Beasley et al. aveva tempi simili). In sostanza si `e privilegiata
la trasparenza e la comprensibilit`a del codice rispetto alla sua efficienza (che
`e un obiettivo che pu`o essere raggiunto in seguito).
L’implementazione effettiva ha utilizzato tre indici di riferimento. Il primo
indice scelto `e S&P 100 (meno volatile,composto da n = 100 titoli,
ticker Bloomberg OEX Index). Il secondo indice `e Hang Seng (pi`u volatile,
4 composto da n = 40 titoli, ticker Bloomberg HSI Index). Il terzo indice
scelto `e MIB 30 (media volatilit`a, 5 composto da n = 30 titoli, ticker Bloomberg
MIB30 Index). I dati utilizzati sono i prezzi settimanali medi del 2006
e 2007 come scaricati da Bloomberg. Nell’implementazione, usando i dati
di tutto il 2006 (in–sample) viene selezionato, utilizzando il codice in R, un
portafoglio con un ridotto numero k di componenti (tipicamente 5 <= k <= 10)
appunto per ridurre i costi di transazione. Si immagina poi di investire un
capitale fissato convenzionalmente pari a 1000 in data 01/01/2007. Poi, con
i dati del 2007, viene confrontato l’andamento di questo portafoglio rispetto
all’indice (out–sample). I risultati appaiono molto confortanti in quanto, secondo la simulazione, il ribilanciamento del portafoglio selezionato andrebbe
di norma effettuato dopo il primo trimestre 2007, ma basterebbe per questo
far rigirare il programma.Il codice `e stato per scrupolo provato sutre tipi diversi di sistemi operativi (Mac OSX, Windows XP, Solaris 10) che
supportano R. L’output `e di tipo testuale (viene fornita la composizione del
portafoglio “ottimo”), ma anche grafico. Per un esempio di output grafico si
veda Figura 3.
Durante tutta la stesura della tesi `e stato fatto un notevole lavoro di ricerca
bibliografica. Essendo il tema di ricerca relativamente recente, il materiale
bibliografico necessario non era facilemente reperibile, soprattutto per i due
testi fondamentali. Uno di questi (cf. Maringer, D. 2005. Portfolio Management
with Heuristic Optimization), del quale esistono solo due copie in Italia,
`e stato ottenuto con il prestito interbibliotecario di Ateneo. L’altro, invece,(cf. Winker, P. 2001. Optimization Heuristics in Econometrics: Application
of Threshold Accepting) `e stato acquistato a Londra.
Subjects
Insegnamento
Publisher
Università degli studi di Trieste
Languages
it
File(s)