2. LUIGI PIVA
EDUCATION
University of Bologna , Degree in Applied Economics and Econometrics
Dissertation: “Pricing interest rate futures: applying models to the
BTP futures “
CQF-Certificate in Quantitative Finance – 7City-London
Dissertations:
“Uncertain volatility with static hedge by Finite Difference: pricig
vanilla and binary options ”
“Multivariate Financial Time Series Analysis: energy futures”
PUBLISHED WORKS
2004
Analisi tecnica efficace applicata ai trading systems [Effective
technical analysis
applied to trading systems]
Forlì: Experta Editrice
2005
Trader Magazine. Digest 2005-2006,
• FORLÌ: EXPERTA EDITRICE
2010
2011
Borsa italiana Milano (Italian Stock Exchange) : High
Frequency Trading: market microstructure
Borsa italiana Milano (Italian Stock Exchange): quantitative
basis for Energy commodities trading
2
3. LUIGI PIVA
WORK EXPERIENCE
Since September 2012 Quantlab Limited – Quant Strategies
Consultant - London, UK Having the IP of the strategies , I brought them with me in Quantlab and I worked closely
with IT professionals to automate every aspect of the trading process.I've been
working on my strategies, which already had produced excellent results, to improve
them and to extend the range of derivatives we can trade using the strategies,
always in a fully automated way.
Since June 2013 Finanza&Previdenza Sicav – Quant Risk
consultant - Bologna Monitornig VAR and other Risk Measures for the portfolio managers.
2007-2012
Equity Line Solutions Ltd – Quantitative Researcher Investment Manager –Shareholder- London, UK
Profitably managed a Prop Shop invested in energy stocks , futures and
options. The Personal performance from January 2008 to September
2012 showed an amazing +183% growth.
Developed HFT algorithms ,based on econometric studies (Statistical
Arbitrage) to trade futures (EUREX,CME, CBOT, NYMEX, IDEM) and
models (stochastic volatility jump diffusion,...) (Schwartz-Ross,...) to
trade futures , options and crack spread (futures and options) .
3
4. Programma Giorno 1:
Financial Toolbox
-1) Introduzione e funzionalità chiave.
-2) Pricing dei Derivati
-3) Senstivity Models
-4) Modelli per Vanilla e American Options
-5) Monte Carlo simulations
-6) Modelli per Digital e Asian Options
-7) Finite Difference
-8) Modelli avanzati per il Pricing di Futures sul Natural Gas
-9) Costruzione di un Portfolio di Opzioni "Greek-Neutral"
-10) Analisi serie stroriche finanziarie
-11) Modelli di Studio e Previsione della Volatilità
-12) Regressione e stima con dati mancanti
-13) Analisi di Correlazione, Autocorrelazione, Causalità e
Cointegrazione
4
5. Programma Giorno 2:
Optimization Toolbox
Funzionalità chiave
Definizione di un Portfolio di Assets
Definizione, soluzione e valutazione di problemi di
ottimizzazione:
Definirzione di objective functions e costrains
Settarggio delle opzioni d'ottimizzazione
Programmazione non lineare
Ottimizzazione multi-obiettivo
Minimi quadrati , fitting dei dati ed equazioni non lineari
Linear Programming
Programmazione quadratica
Risoluzione di problemi di ottimizzazione usando il calcolo
parallelo
5
6. Introduzione:
MATLAB è un linguaggio ad alto rendimento per la
computazione tecnica. In esso sono integrati il calcolo, la
visualizzazione e la programmazione in un ambiente di
facile impiego, in cui i problemi e le soluzioni sono
espressi in una notazione matematica familiare.
Con MATLAB si possono svolgere le seguenti attività:
Matematica e calcolo
Modellistica e Simulazioni
Analisi dei dati, esplorazione e visualizzazione
Sviluppo di applicazioni e costruzione grafica
dell’interfaccia utente (GUI)
6
7. Introduzione:
MATLAB è un sistema interattivo in cui l’elemento base è
l’Array . Questo permette la risoluzione di molti problemi di
calcolo tecnico, in particolare quelli con formulazioni vettoriali
e matriciali. I problemi affrontati attraverso algoritmi sono
molto più semplici rispetto ad un linguaggio scalare come C .
È possibile utilizzare le funzioni incorporate per risolvere
Problemi potenzialmente complessi ma standard, oppure si
possono creare i propri programmi scrivendoli come M-file,
cioè, come file di testo con sequenze di istruzioni scritte
in un linguaggio matrice-orientato ad alto livello.
Inoltre, MATLAB ha un ricco set di capacità grafiche, tra cui
la capacità di sviluppare rapidamente interfacce grafiche.
la sconosciuta
7
8. Introduzione:
Il nome MATLAB corrisponde all’acronimo del termine
«Matrix Laboratori» In ambiente universitario è lo
strumento didattico standard per affrontare corsi
introduttivi e avanzati di matematica, ingegneria e
scienza.
Alcuni problemi numerici classici vengono prontamente risolti
con
funzioni di MATLAB, essi comprendono:
Risoluzione di sistemi di equazioni lineari
Risoluzione di equazioni non lineari con una variabile non
nota
Trovare massimi e minimi di funzioni a variabile singola
Calcolare integrali definiti
Risolvere equazioni alle differenze ordinarie e semplici
PDEs
8
9. Introduzione:
MATLAB è caratterizzato dalla presenza di soluzioni specifiche a
problemi applicativi denominate Toolboxes.
Molto utili per la maggiore parte degli utenti, forniscono le basi
per applicare tali strumenti alla tecnologia specialistica.
Le Toolboxes rappresentano collezioni complete di funzioni di
MATLAB (denominate M-files) che estendono l’ambiente per
risolvere problemi particolari.
Per esempio, l’ Optimization Toolbox è necessaria per
risolvere problemi di ottimizzazione complessi, che coinvolgono
diverse variabili decisionali con vincoli complesso, nonché per
sistemi di equazioni non lineari. Un altro toolbox rilevante per la
finanza è ila Statistics Toolbox.
9
10. Introduzione:
Sulla base della Statistical e dell’Optimization Toolboxe, alcuni
anni fa è stato ideata Financial Toolbox , che comprende
diversi gruppi di funzionalità.
Alcune erano funzioni di basso livello finalizzate alla
manipolazione di date e del calendario o grafici tipici della
finanza, che sono blocchi-base per applicazioni concrete, altre
funzionalità riguardano ottimizzazione del portafoglio e il
pricing dei derivati .Dopo questa prima Toolbox , sono state
introdotte altre che sono direttamente collegate alla finanza:
GARCH Toolbox
Financial time Series Toolbox
Financial Derivatives Toolbox
Fixed-Income Toolbox
10
11. Metodologie Numeriche:
E’ prassi assai diffusa associare le idee di metodi numerici
e «number crunching» a problemi nel campo della scienza e
dell'ingegneria, piuttosto che della finanza.
Questo punto di vista i è contraddetto dal numero relativamente
elevato di libri e riviste scientifiche dedicati alla Finanza
Computazionale o Quantitativa.
Questi metodi non sono confinati al mondo accademico, ma
sono in uso nella vita reale. Come risultato, vi è stato un
aumento costante del numero di programmi accademici dedicati
alla finanza quantitativa.
Inoltre professionisti con una preparazione a sfondo quantitativa
o numerica hanno iniziato a lavorare nel campo della finanza, tra
cui ingegneri, matematici e fisici.
11
12. Metodologie Numeriche:
Infatti, come il termine ingegneria finanziaria può suggerire, la
finanza computazionale è un campo in cui culture diverse si
incontrano.
Tutta la trattazione di questi giorni si può riassumere in questi
due semplici punti:
1. In ingegneria finanziaria abbiamo bisogno di metodi
numerici
2. Abbiamo bisogno di ambienti di calcolo numerici
sofisticati e «user-friendly», come MATLAB
12
13. Metodologie Numeriche:
Probabilmente, il risultato più noto di ingegneria finanziaria è la
formula di Black-Scholes per il prezzo di opzioni su azioni, che
vedremo ampiamente in seguito.
Le opzioni sono una categoria di derivati, vale a dire, le attività
finanziarie il cui valore dipende da un altro bene, chiamato
sottostante.
Il sottostante può essere anche una attività non finanziaria,
come una merce (Commodities) , o di un quantità arbitraria, che
rappresenta un fattore di rischio per qualcuno, come il tempo (in
senso metereologico) , in modo tale per cui la creazione di un
mercato per il trasferimento dei rischi ha senso per i partecipanti
a tali mercato.
13
14. Metodologie Numeriche:
Le opzioni sono contratti con regole ben precise per l’emissione,
il trading, e la contabilità. Per esempio, un'opzione call in stile
europeo su un titolo conferisce al titolare il diritto, ma non
l'obbligo, di acquistare una determinata azione in un dato
momento (maturità, denotato da T), per un prezzo
predeterminato (strike price, indicato con K).
Analogamente, un'opzione put dà il diritto di vendere l'attività
sottostante ad un predeterminato prezzo di esercizio.
In derivati in stile europeo, il diritto specificato nel contratto può
essere esercitato solo alla scadenza T, in derivati di tipo
americano, si può esercitare il suo diritto in qualunque momento
prima T, che in questo caso gioca il ruolo del data di scadenza
dell'opzione.
14
15. Metodologie Numeriche:
Nel caso di un'opzione call in stile europeo, se il prezzo
dell'attività alla scadenza è S(T), allora il payoff è :
max {S (T) - K, 0)
La logica è che, sotto ipotesi ideali sui mercati finanziari, il
titolare dell'opzione può acquistare l'attività sottostante al
prezzo S (T) e venderel’opzione immediatamente a prezzo K.
Chiaramente, il titolare dell'opzione lo farà solo se questo si
traduce in un profitto.
In realtà, le imperfezioni del mercato, come ad esempio i costi di
transazione , impediscono un tale trading ideale. Anche se S (T)
è l'ultimo prezzo quotato, non vi è alcuna garanzia che il titolare
dell'opzione possa effettivamente acquistare le azioni al quel
prezzo. Noi qui trascureremo tali questioni, che sono legati alla
micro-struttura dei mercati finanziari.
15
16. Metodologie Numeriche:
Se ci troviamo in un istante di tempo t <T, vorremmo assegnare
un valore, o un prezzo, per l'opzione. Tuttavia, ciò che sappiamo
è
solo il prezzo dell'attività sottostante corrente S (t), mentre il suo
prezzo S (T) alla scadenza non è noto.
Se costruiamo un modello matematico per la dinamica del
prezzo S (t) come funzione del tempo, si può considerare S (T)
come una variabile casuale.
Sia f (S (t), t) il prezzo dell'opzione al tempo t se il prezzo
corrente del sottostante è S (t), per semplificare le notazioni,
di solito si scrive come f (S, t).
16
17. Metodologie Numeriche:
Si può dimostrare che, sotto opportune ipotesi, il valore del
contratto dipende davvero solo su T e S, e soddisfa la seguente
equazione differenziale parziale (PDE):
dove r è il tasso di interesse risk-free, cioè, il tasso di interesse
che si può guadagnare nell’investire in un conto sicuro e sigma è
un parametro relativo al volatilità del prezzo dell'attività
Sottostante.
L’equazione sopra, con l'aggiunta di opportune condizioni al
contorno legato al tipo di opzione, può, in alcuni casi essere
risolta analiticamente.
17
18. Metodologie Numeriche:
Ad esempio, se indichiamo la funzione di distribuzione cumulativa
della distribuzione normale standard con N (z) , dove Z è una
variabile normale standard, il prezzo C di un’opzione call europea
al tempo t è:
18
19. Metodologie Numeriche:
Questa formula è facile da valutare, ma in generale non siamo
così fortunati. la complessità delle PDEs o di alcune condizioni
supplementari, che dobbiamo imporre a caratterizzare
completamente una specifica opzione, possono richiedere metodi
numerici.
Noi vedremo metodi numerici relativamente semplici per risolvere
PDEs , sulla base delle differenze finite o metodi Monte Carlo
con applicazioni al prezzo delle opzioni.
Vedremo anche quando una opzione complessa non può essere
valutata analiticamente.
Nella valutazione delle opzioni con simulazione Monte Carlo
le formule di pricing analitico possono produrre convergenze
utili per ridurre la varianza della stima di prezzo
19
20. Metodologie Numeriche:
La distinzione tra metodi numerici ed analitici a volte è
abbastanza futile. Può succedere che formule analitiche siano
piuttosto complicate, come la seguente:
che è la formula per la valutazione di una Call di tipo europeo
quando i «salti» di prezzo sono inclusi nel modello.
La formula di Black-Scholes assume la continuità dell’andamento
dei prezzi del sottostante.
Qui Merton generalizza aggiungendo una componente che
considera i salti accadano secondo un processo di Poisson.
E’ una modifica della formula di Black-Scholes con l’aggiunta di
una variabile casuale Xn legata a lambda, il numero atteso di salti
per unità di tempo.
Anche senza addentrarci nei dettaglia, è intuitivo che la
valutazione della formula richiede una qualche approssimazione
computazionale.
20
21. Metodologie Numeriche:
In altri contesti problematici, dobbiamo approssimare una
funzione definita da un integrale. Per esempio, si consideri una
funzione g (x, y) e definiamo una funzione di x come:
Tale situazione si verifica spesso in ottimizzazione stocastica,
quando x è una variable decisionale che influenza il risultato, che
è solo in parte sotto il nostro controllo perché dell'effetto di un
"disturbo" casuale Y. Dato che il calcolo degli integrali è così
importante, ce ne occuperemo ancora. Più che i metodi di
integrazione deterministici, affronteremo estensivamente i metodi
di campionamento casuali note come integrazione Monte Carl
o di simulazione Monte Carlo, che hanno un’ ampia gamma di
applicazioni, includendo il pricing dei derivati e la gestione del
Rischio.
21
22. Metodologie Numeriche:
Un altro importante tema del corso è l'ottimizzazione. Modelli e
metodi di ottimizzazione svolgono molti ruoli diversi in finanza.
Nel contesto option pricing, l'ottimizzazione è usata per il pricing
di opzioni di stile americano. Dal momento che le opzioni di tipo
americano possono essere esercitati, in qualsiasi momento prima
della scadenza, strategie ottimali di esercizio deve essere
Per esempio, in una opzione call in stile americano, si sarebbe
tentati di esercitare l'opzione, non appena si arriva in-the-money,
cioè quando S (t)> K per un'opzione call e si potrebbe
guadagnare un profitto immediato.
Tuttavia, ci si dovrebbe chiedere anche se potrebbe essere
meglio
aspettare un'occasione migliore. questo è non è un problema
banale, soprattutto nel caso di un titolo che paghi dividendi prima
della scadenza.
22
23. Metodologie Numeriche:
Un altro metodo di applicazione dell’ottimizzazione è la gestione
del portafoglio. Dato un insieme di attività in cui si può investire
un certo patrimonio, dobbiamo decidere quanto deve essere
assegnato a ciascuna attività, dando una caratterizzazione
all'incertezza del rendimento di un attività.
Il modello di ottimizzazione di portafoglio più noto si basa
sull'idea di minimizzare la varianza del rendimento del portafoglio
(una misura di rischio), nel rispetto di un vincolo sul suo
Rendimento atteso.
Questo porta alla teoria di portafoglio media-varianza proposto da
Harry Markowitz nel 1950. Anche se un po 'idealizzato,
questo modello aveva un enorme impatto pratico e teorico per lo
stato dell’arte del tempo, garantendo a Markowitz un premio
Nobel per l'economia e posando uno dei pilastri della finanza
quantitativa. Da allora sono stati sviluppati molti approcci diversi
all'ottimizzazione di portafoglio (per.es modelli multifattoriali)
23
24. Financial Toolbox :
USO DI MATRICI IN FINANZA
Molte procedure di analisi finanziaria coinvolgono insiemi di
numeri, ad esempio, un portafoglio di titoli a vari prezzi e
rendimenti.
Matrici, funzioni di matrice, e matriciali sono i modi più efficaci
per analizzare insiemi di numeri e le loro relazioni. I fogli di
calcolo si concentrano su singole celle e sui rapporti tra celle .
Invece si può pensare ad un insieme di celle del foglio di calcolo
(un intervallo di righe e colonne) come matrice, un tool
orientato alle matrici come MATLAB manipola insiemi di numeri in
modo più rapido, semplice e naturale.
24
25. Financial Toolbox :
DEFINIZIONI CHIAVE
Una Matrice è un Array rettangolare di quantità numeriche o
algebriche soggette a operazioni matematiche, con una
formazione regolare di elementi in righe e colonne.
Una matrice descritta come "m-by-n" ha m righe ed n colonne.
La descrizione è sempre "riga per colonna. Per esempio, di
seguito vediamo una matrice 2 per 3 di due obbligazioni (le file)
con valori di rimborso, tassi e frequenza di pagamento annuale
della cedola:
Bonds = [ 100 0.06 2
100 0.055 4]
Un Vettore è una matrice con una sola colonna del tipo
Cash = [ 1500 4470 5280 -1299 ]
25
26. Financial Toolbox :
Referenziare gli elementi della Matrice:
Per referenziare gli elementi si usa la notazione (riga.colonna):
Bonds (1.2)
e invio…
Cash (3)
e invio…
Le matrici si possono allargare usando piccole matrici o vettori
come elementi della matrice. Per esempio:
AddBonds = [ 100 0.065 2 ]
Bonds = [ Bonds ; AddBonds ]
Aggiunge una riga allla matrice «Bonds»
26
27. Financial Toolbox :
Grafici Finanziari:
Ecco come plottare i dati finanziari e produrre grafici di
qualità in modo rapido e semplice.
Lavoriamo qui con funzioni MATLAB standard che disegnano gli
assi, definiscono l’aspetto, e aggiungono etichette e titoli.
Facciamo alcuni esempi di plotting: un agrafico High-Low-Close
del Crude Oil con dati giornalieri e un grafico delle bande di
Bollinger dei dati stessi.
Carico i dati da un file excel quindi richiamo le funzioni
utilizzando sottoinsiemi del dati. Crude Oil è una matrice a 4
colonne in cui ogni riga è dati un giorno di trading e dove le
colonne 2, 3 e 4 contengono i prezzi High, Low, e Close
rispettivamente.
27
28. Financial Toolbox :
Grafici Finanziari:
Di seguito vediamo come la funzione dellaToolbox «Bolling»
plotta
le bande di Bollinger usando i prezzi di chiusura della matrice dei
prezzi del Crude Oil.
Il grafico quindi plotta il grafico a barre dei prezzi , insieme ad
altri tre bande . Quella superiore è due deviazioni standard
sopra la media mobile; la banda inferiore è di due deviazioni
standard sotto questa media mobile, e banda centrale è la media
mobile stessa. In questo esempio utilizziamo una media a 15
periodi (giorni).
Vediamo un altro esempio, come fare un grafico con le chiusure
giornaliere e le relative medie mobili esponenziali a 5 e 20 periodi.
28
29. Financial Toolbox :
Prezzare I Derivati
In alcuni casi, un approccio analitico di valutazione delle opzioni
può portare a utili formule per ottenere dei prezzi approssimati.
In generale, comunque: abbiamo bisogno di ricorrere a procedure
numeriche. Ci sono fondamentalmente tre approcci numerici per
prezzare uno strumento derivato:
Risolvere un’equazione alle differenze parziali, per esempio
con un’approssimazione di differenze finite
La simulazione Monte Carlo
Alberi Binomiali o Trinomiali
29
30. Financial Toolbox :
Albero Binomiale:
Consideriamo un singolo step temporale di lunghezza delta t.
Conosciamo il prezzo dell'attività S0 all'inizio dello step
Il prezzo S1 alla fine del periodo è una variabile casuale.
Il modello più semplice che possiamo pensare specifica solo due
possibili valori, considerando, ad esempio, la possibilità di un
aumento ed una diminuzione il prezzo delle azioni.
30
31. Financial Toolbox :
Albero Binomiale:
Si comincia con un prezzo S0, all’ stante successivo si assume
che
il prezzo può assumere i valori uS0 o dS0, dove d<u , con
probabilità pari a pu e pd, rispettivamente.
Ora, immaginiamo un opzione il cui valore sconosciuto ora è
indicata da fo. Se l'opzione può essere esercitata solo dopo
delta t, è facile trovare il valore dell’opzione fu e fd
corrispondenti a i due risultati.
Sono semplicemente i payoff delle opzioni, che sono determinati
Dal tipo di contratto.
Come trovare f0 ? Possiamo ancora sfruttare il principio di non
arbitraggio. Cerchiamo di impostare un portafoglio composto da
due asset: un obbligazione priva di rischio, con il prezzo iniziale
BO = 1 e prezzo futuro B1 = exp{r-delta t} , e la attività
sottostante con valore iniziale SO.
31
32. Financial Toolbox :
Albero Binomiale:
Indichiamo il numero di quote azionarie nel portafoglio con
DELTA
e il numero di BONDS da PSI. Il valore iniziale di questa
portafoglio è:
E il suo valore futuro, a seconda dello stato realizzato, sarà:
Ora costruiamo un portafoglio che replica esattamente il payoff
dell’opzione:
32
33. Financial Toolbox :
Albero Binomiale:
risolvendo il sistema di due equazioni lineari in due variabili,
otteniamo:
Ma per potere evitare arbitraggi, il valore del portafoglio deve
essere uguale ad f0:
Importante notare come questa relazione NON dipende dalle
probabilità pu e pd, in questa scrittura, il prezzo dell’opzione non
è il valore atteso del payoff scontato
33
34. Financial Toolbox :
Albero Binomiale:
Pensando al pricing di contratti Forward, possiamo interpretare l
’equazione precedente come un valore atteso. Infatti se noi
Settiamo i valori pi :
E abbiamo che :
La somma dei due valori è uguale a uno.
Sono entrambi positivi se d< exp { r –delta t} < u , che
succede se non ci sono possibilità di arbitraggio tra gli
assets, quindi possiamo interpretare i due valori come
probabilità.
Il prezzo dell’opzione può essere interpretato come il valore
atteso
del payoff scontato sotto quelle probabilità
34
35. Financial Toolbox :
Albero Binomiale:
Il prezzo dell’opzione può essere interpretato come il valore
atteso
del payoff scontato sotto quelle probabilità:
Il valore atteso di S1 sotto le probabilità pi (u) e pi (d) è:
Le probabilità pi (u) e pi (d) sono chiamate neutrali al rischio.
Quello che abbiamo trovato è coerente con i metodi per il pricing
di un contratto forward e suggerisce che anche i derivati
possono essere valutati prendendo le aspettative nell'ambito di
una misura neutrale al rischio.
35
36. Financial Toolbox :
Albero Binomiale:
La misura oggettiva di probabilità non svolge qui alcun ruolo,
siccome il payoff dell’opzione può essere perfettamente
replicato dal due beni "primari ", l’azione e l’obbligazione
Quando una serie di attività "primarie" ci permette di replicare
un payoff arbitrario, diciamo che il mercato è completo, non
mancano attività finanziarie che soddisfino ogni esigenza.
Può essere dimostrato che una misura neutrale al rischio esiste
se l'arbitraggio è impossibile ed è unica se il mercato è
completo.
Il principio di valutazione neutrale verso il rischio ha conseguenze
di vasta portata , rimandiamo alla bibliografia per una analisi
più approfondita.
Quello che abbiamo visto è un tipico argomento di pricing a base
di replica (di un portafoglio) .
36
37. Financial Toolbox :
Albero Binomiale:
Il modello binomiale per il prezzo delle opzioni o di altri derivati
azionari assume quindi che la probabilità, nel corso del
tempo ,di ogni prezzo possibile, segua una distribuzione
binomiale.
Il presupposto di base è che i prezzi possono muovere solo
verso due valori, uno su e uno giù, in un periodo di tempo
breve.
Tracciare i due valori, e poi i successivi due valori, e poi i
successivi due valori e così via nel tempo, è un
procedimento noto come la "costruzione di un albero
binomiale."
Questo modello è particolarmente valido per le opzioni
americane, che possono essere esercitate in qualsiasi
momento fino alla data di scadenza. Per quanto riguarda le
opzioni europee, si tende a non usare i modelli ad albero.
37
38. Financial Toolbox :
Albero Binomiale:
Vediamo ora quindi un esempio per i prezzi di una Call americana
con un modello binomiale.
il prezzo dell'azione è 100,00 dollari, il prezzo di esercizio è
95,00 dollari, l'interesse privo di rischio tasso è del 10%, e la
vita residua è di 0,25 anni.
Si calcola l'albero in incrementi di 0,05 anni, quindi ci sono
0.25/0.05 = 5 periodi nell'esempio. La volatilità è pari a 0.50,
questa è una Call (flag = 1), il tasso sul dividendo è pari a 0,
e si paga un dividendo di 5,00 dollari dopo tre periodi (data di
stacco del dividendo).
In MATLAB:
[optionpr, optionval] = binprice(100, 95, 0.10, 0.25, 0.05, ...
0.50, 1, 0, 5.0, 3);
38
39. Financial Toolbox :
Albero Binomiale:
Otteniamo i valori del prezzo del titolo e dell’opzione
In questo caso l’output è un albero binomiale con
ricongiungimento.
39
40. Financial Toolbox :
Albero Trinomiale:
L'idea di un albero trinomiale si pone naturalmente come una
generalizzazione dell’albero binomiale.
Ogni nodo ha tre successori, corrispondenti al prezzo in
salita, in discesa o invariato (quest’ultima in realtà è solo una
scelta possibile). L’albero è calibrato in modo tale da
consentire la ricombinazione e la coincidenza dei primi due
momenti della variabile casuale
Un albero trinomiale può essere particolarmente utile è nel
pricing di un'opzione a barriera, in tal caso può essere utile
che il prezzo di barriera sia sull’albero .
40
41. Financial Toolbox :
Albero Trinomiale:
Nel corso di un piccolo passo temporale delta-t, ci possiamo
spostare in tre direzioni corrispondenti agli incrementi +delta
t,
-delta t e 0 del logaritmo del prezzo
Le tre alternative si verificano con probabilità neutrali al rischio p u
, pd e pm rispettivamente.
Data la solita equazione :
Scriviamo l’equazione che fa coincidere i primi due momenti:
41
42. Financial Toolbox :
Albero Trinomiale:
Risolviamo il sistema di equazioni:
dove si vede che si lascia un ulteriore grado di libertà per
scegliere delta x .
Si scopre che non si possono scegliere delta x e delta t
liberamente. Una regola comune è:
Dobbiamo anche notare che una scelta erronea può provocare
probabilità negative.
42
43. Financial Toolbox :
Albero Trinomiale:
Come esempio, consideriamo di prezzare una call option
Eiuropea su un azione che non paga dividendi , con:
S0 = 100;
K= 100;
r= 0.06;
T = 1;
sigma = 0.3
Se costruiamo un albero in tre fasi, con delta x = 0.2 si ottiene, il
reticolo in figura:
dove p u= 0,3878 p m = 0,2494
p d = 0,3628
43
44. Financial Toolbox :
Black-Scholes:
Nel modello binomiale visto prima, siamo in grado di prezzare
un'opzione assumendo che il prezzo futuro del sottostante
prenderà uno dei due valori. Quindi, utilizzando
solo due beni, siamo in grado di replicare qualsiasi payoff.
Ma usare solo due stati rende il modellare l’incertezza
piuttosto superficiale e grezzo. E se volessimo poi usare
una migliore distribuzione di probabilità?
Un'alternativa è quella di considerare la negoziazione a
tempi intermedi. Dobbiamo modellare prezzi delle attività non
solo ora e alla scadenza, ma anche lungo tutto il percorso.
Questo può essere fatto utilizzando schema binomiale
ricorsivo ed elaborare una completa ricombinazione
binomiale; questo percorso produce interessanti schemi
numerici che vedremo in seguito.
Gli alberi binomiali multistadio sono modelli a stati discreti e
tempo discreto.
44
45. Financial Toolbox :
Black-Scholes:
E se volessimo tenere conto di una distribuzione continua dei
prezzi futuri, come ad esempio la distribuzione log-normale
associato con moto browniano geometrico?
La risposta è che dovremmo permettere la negoziazione, in
teoria infinita, che prevede un modello a tempo continuo.
Curiosamente, questo che sembra un modello complesso
può produrre semplici soluzioni in forma esplicita.
Si consideri una opzione call in stile europeo scritta su un’azione
che non paga dividendo, il cui prezzo S (t) segue un moto
browniano geometrico.
Poiché gli incrementi nel processo di Wiener sono
indipendenti, possiamo dire che la storia futura non dipende
dal passato. E possiamo anche dimostrare che il valore
dell'opzione in un tempo t prima scadenza dipende solo dal
tempo (più precisamente, il tempo di scadenza) e il prezzo
corrente del sottostante.
45
46. Financial Toolbox :
Black-Scholes:
se noi denotiamo questo valore con f (S (t), t) che soddisfa
l’equazione differenziale stocastica:
Quello che sappiamo è che , a maturità, il valore dell’opzione è il
payoff:
E quello che vogliamo sapere è il giusto prezzo dell’opzione ora,
f(S(0),0). L’equazione differenziale non suggerisce un modo
immediato per trovare il prezzo dell'opzione, ma potrebbe
sembrare un po’ più familiare senza il termine casuale in Ds .
Ricordiamo che usando l’argomento di non arbitraggio, abbiamo
ottenuto relazioni deterministiche nonostante la casualità
coinvolta. (Forward)
46
47. Financial Toolbox :
Black-Scholes:
Per sbarazzarsi della casualità, possiamo cercare di utilizzare
opzioni e azioni per la costruzione di un portafoglio il cui
valore è deterministico, proprio come abbiamo fatto nella
semplice impostazione binomiale.
Si consideri un portafoglio composto da una posizione corta su
un'opzione e una posizione lunga in un certo numero,
diciamo Delta , di quote azionarie. Il valore di questo
portafoglio sarà:
Derivando e sostituendo otteniamo:
Possiamo eliminare il rischio scegliendo:
47
48. Financial Toolbox :
Black-Scholes:
Semplificando, abbiamo una equazione deterministica alle
derivate parziali che descrive il valore di una opzione
f (S, t). Questa equazione vale per qualsiasi opzione il cui
payoff dipende solo dal prezzo corrente dell'attività
sottostante, o il suo prezzo alla scadenza.
Tipicamente le equazioni alle derivate parziali bisogno di
boundary e condizioni iniziali per ottenere una soluzione
esplicita.
Nel nostro caso abbiamo condizioni finali. Per una Call
europea abbiamo un condizione finale al tempo T:
Per una Put:
48
49. Financial Toolbox :
Black-Scholes:
Una caratteristica notevole e contro-intuitiva dell'equazione di cui
sopra è che il drift dell'attività sottostante non gioca alcun
ruolo. Solo il tasso di interesse privo di rischio r è coinvolto.
Questa in realtà non è una sorpresa, dato quello che abbiamo
visto per un'opzione sotto il modello binomiale a step singolo,
ed è un altro esempio del principio generale e di valutazione
risk-neutral.
In generale, un'equazione differenziale parziale è troppo difficile
da maneggiare per ottenere un soluzione in forma esplicita e
deve essere risolta con approcci numerici;
La difficoltà deriva in parte dalla equazione stessa e in parte dalle
condizioni boundary .
Tuttavia, ci sono alcuni i casi in cui l'equazione sopra può essere
risolta analiticamente.
49
50. Financial Toolbox :
Black-Scholes:
Una caratteristica notevole e contro-intuitiva dell'equazione di cui
sopra è che il drift dell'attività sottostante non gioca alcun
ruolo. Solo il tasso di interesse privo di rischio r è coinvolto.
Questa in realtà non è una sorpresa, dato quello che abbiamo
visto per un'opzione sotto il modello binomiale a step singolo,
ed è un altro esempio del principio generale e di valutazione
risk-neutral.
In generale, un'equazione differenziale parziale è troppo difficile
da maneggiare per ottenere un soluzione in forma esplicita e
deve essere risolta con approcci numerici;
La difficoltà deriva in parte dalla equazione stessa e in parte dalle
condizioni boundary .
Tuttavia, ci sono alcuni i casi in cui l'equazione sopra può essere
risolta analiticamente.
50
51. Financial Toolbox :
Black-Scholes:
Il caso più celebre è dovuto a Black e Scholes, che sono stati in
grado di dimostrare che la soluzione per una Call europea è:
dove:
e N è la funzione di distribuzione per la Normale Standard:
Usando la Put-Call Parity:
51
52. Financial Toolbox :
Black-Scholes:
E 'anche possibile dare un valore al numero di azioni Delta che
dovremmo vendere allo scoperto per costruire il portafoglio
privo di rischio II:
Per una generica opzione di valore f(S,t):
Misura la sensistivity del prezzo dell’opzione a piccole variazioni
nel prezzo dell’azione. Possono essere ottenute altre misure
di sensitivity, definite in genere le «greche» di un’opzione:
52
53. Financial Toolbox :
Black-Scholes in Matlab:
Implementare la formula di Black-Scholes in MATLAB è
abbastanza facile. possiamo
sfruttare la funzione «normcdf» fornite dalla Statistic Toolbox
per
calcolare la funzione di distribuzione cumulativa della
distribuzione normale standard.
Dalla semplice traduzione delle equazioni otteniamo:
d1= (log(SO/K)+(r+sigma^2/2)*T) / (sigma * sqrt(T));
d2 = dl - (sigma*sqrt(T));
C = SO * normcdf(d1) - K * (exp(-r*T)*normcdf(d2));
P = K*exp(-r*T) * normcdf (-d2) - SO * normcdf (-dl);
Prima inseriamo i valori di
S0: il prezzo del titolo al periodo corrente
K= Strike Price
r= tasso risk-free
T= time to expiry (year)
sigma= volatility
q= dividend yeld
53
54. Financial Toolbox :
Black-Scholes in Matlab:
La funzione della Financial Toolbox «blsprice» implementa queste
formule con un paio di estensioni. Prima, può prendere un
vettore argomenti per calcolare un insieme di prezzi
un'opzione
i in una sola volta, in secondo luogo, si può tener conto di un
tasso di dividendo continuo q (il cui valore di default è zero).
S0=50;
K= 52;
r= 0.1;
T= 5/12;
sigma= 0.4;
q= 0;
[ C P] = blsprice(S0,K,r,T, sigma,q)
54
55. Financial Toolbox :
Black-Scholes in Matlab:
È interessante tracciare il valore di un'opzione, diciamo una Call
europea, per diversi valori del prezzo corrente, mentre si
avvicina la maturità.
Eseguendo il codice dello script si ottiene il diagramma che
evidenzia come cambia la trama quando il tempo
progredisce.
S0 = 30:1:70;
K = 50;
r = 0.08;
sigma = 0.4;
for T=2:-0.25:0
plot (S0 ,blsprice (S0 ,K, r ,T, sigma)) ;
hold on;
end
axis( [30 70 -5 35]) ;
grid on
55
56. Financial Toolbox :
Black-Scholes in Matlab:
Le Greche:
Le greche possono essere usatie per approssimare la variazione
di un valore delle opzioni con riferimento ai fattori di rischio,
come accade per la durata e la convessità per un portafoglio
obbligazionario, dove il principale fattore di rischio è
l'incertezza dei tassi di interesse.
Per esempio, consideriamo la variazione del prezzo di una
opzione Call a causa di un aumento del prezzo del titolo
sottostante. Utilizzando lo un sviluppo di Taylor del secondo
ordine,
otteniamo la seguente approssimazione di questa variazione:
56
57. Financial Toolbox :
Black-Scholes in Matlab:
Le Greche:
In MATLAB possiamo utilizzare una tale approssimazione
sfruttando le funzioni «blsdelta» e «blsgamma». È importante
notare che blsgamma restituisce solo un argomento, come si
può vedere è o stesso per una Call e una Put. Un semplice
snapshot MATLAB mostra che l'approssimazione è
abbastanza buona:
57
58. Financial Toolbox :
Black-Scholes in Matlab:
Le Greche:
Le greche come abbiamo detto, possono svolgere un ruolo nella
copertura, e Delta e Gamma giocano lo stesso ruolo di
duration e convessità delle obbligazioni.
Possiamo costruire strategie per la costruzione di portafogli di
opzioni che sono Delta-neutrali, il che significa che il valore
complessivo del portafoglio non cambierà per i piccoli
cambiamenti nel prezzo del sottostante.
In realtà, da un punto di vista pratico, è probabilmente meglio
avere una copertura imperfetta per le grandi perturbazioni nei
pezzi che una copertura perfetta per perturbazioni
infinitesimali.
Copertura a parte, dobbiamo notare che le Greche hanno
anche un ruolo nella gestione rischio. Si consideri la stima del
Value at Risk per un portafoglio di opzioni in cui si usa
l’approssimazione Delta-Normal.
58
59. Financial Toolbox :
Black-Scholes in Matlab:
Ancora sulle Greche:
Delta:
Delta di un titolo derivato è il tasso di variazione del prezzo
rispetto variazione di prezzo dell'attività sottostante. È la
derivata prima della curva a cui si riferisce il prezzo del
derivato per il prezzo del titolo sottostante. Quando il delta è
grande, il prezzo del derivato è sensibile a piccole variazioni
del prezzo di il titolo sottostante.
Gamma:
Gamma di un titolo derivato è il tasso di variazione del delta
rispetto al prezzo dell'attività sottostante, cioè la derivata
seconda del prezzo dell'opzione rispetto al prezzo del titolo.
Questa misura della sensibilità è importante per decidere
come per regolare una posizione in hedging.
Lambda
Lambda, noto anche come l'elasticità di una opzione,
rappresenta la percentuale variazione del prezzo di
un'opzione relativa a una variazione dell'1% nel prezzo del
titolo sottostante
59
60. Financial Toolbox :
Black-Scholes in Matlab:
Ancora sulle Greche:
Rho
Rho è il tasso di variazione del prezzo dell'opzione rispetto al
variare del tasso di interesse privo di rischio.
Theta
Theta è il tasso di variazione del prezzo di un titolo derivato
rispetto al tempo. Theta è generalmente molto piccolo o
negativa poiché il valore di un'opzione tende a scendere
mentre si avvicina la maturità.(Time Decay)
Vega
Vega è il coefficiente di variazione del prezzo di un titolo
derivato rispetto al cambiamento della volatilità del titolo
sottostante. Quando Vega è grande l’opzione è sensibile alle
piccole variazioni di volatilità. («the bastard greek»)
60
61. Financial Toolbox :
Black-Scholes in Matlab:
Ancora sulle Greche:
Spesso il trader in opzioni deve decidere se acquistare una
opzione per coprirsi da Vega o da Gamma. La copertura
scelta, di solito dipende da quanto spesso uno riequilibra
detta copertura
e anche dalla variazione del prezzo dell'attività sottostante (la
volatilità). Se la volatilità sta cambiando rapidamente, la
copertura da Vega è generalmente preferibile.
Volatilità implicita
La volatilità implicita di un'opzione è la volatilità che, inserita
nella formula di Black-Scholes , fa ottenere il prezzo di
un'opzione Call pari al prezzo di mercato. (Calibration)
Esso è utilizzato per determinare una stima di mercato per la
volatilità futura di un’azione e fornisce la volatilità di ingresso
(quando necessario) alle altre funzioni di Black-Scholes.
61
62. Financial Toolbox :
Black-Scholes in Matlab:
Ancora sulle Greche:
Per illustrare le funzioni di Black-Scholes toolbox, questo esempio
calcola la Call
e i prezzi di una opzione europea e del suo delta, gamma,
lambda, e implicita volatilità.
Il prezzo dell'attività è 100,00 dollari, il prezzo di esercizio è 95,00
dollari, il tasso di interesse risk-free è del 10%, il time to
maturity è di 0,25 anni, la volatilità è 0,50, e il tasso sul
dividendo è 0. Basta eseguire le funzioni :
[optcall, optput] = blsprice(100, 95, 0.10, 0.25, 0.50, 0);
[callval, putval] = blsdelta(100, 95, 0.10, 0.25, 0.50, 0);
gammaval = blsgamma(100, 95, 0.10, 0.25, 0.50, 0);
vegaval = blsvega(100, 95, 0.10, 0.25, 0.50, 0);
[lamcall, lamput] = blslambda(100, 95, 0.10, 0.25, 0.50, 0);
volatility = blsimpv(100, 95, 0.10, 0.25, optcall);
62
63. Financial Toolbox :
Black-Scholes in Matlab:
Costruire un Portafoglio Greek-Neutral:
Abbiamo visto che le sei principali misure di sensibilità del prezzo
delle opzioni sono denominate con lettere greche, da cui
«Greche»: delta, gamma, lambda, rho, theta, e vega.
Le Greche di una particolare opzione sono una funzione del
modello utilizzato per determinare il prezzo del opzione.
Tuttavia, avendo abbastanza opzioni diverse con cui lavorare, un
trader può costruire un portafoglio con i valori desiderati per
le Greche.
Per ridurre la vulnerabilità di un portafoglio alle variazioni del
prezzo del sottostante, un trader potrebbe costruire un
portafoglio il cui delta è pari a zero. Il portafoglio viene poi
detto «delta neutrale»
Un altro trader può credere che la volatilità di un certa azione
aumenterà oltre le aspettative del mercato, e cercherà di
costruire un portafoglio con un Vega grande per poi
comprarlo.
63
64. Financial Toolbox :
Black-Scholes in Matlab:
Costruire un Portafoglio Greek-Neutral:
Questo esempio consente di creare un portafoglio di opzioni su
azioni, oggetto di copertura (secondo
il modello di Black-Scholes per le opzioni europee) contro più
Greche.
Si usa il fatto che il valore di un particolare greca per un
portafoglio di opzione è un media ponderata del valore degli
stessi greco per ogni singola opzione, dove i pesi sono quelli
delle opzioni in portafoglio.
La copertura così diventa un caso di risoluzione di un sistema di
equazioni lineari, che è molto facile in MATLAB.
64
65. Financial Toolbox :
Black-Scholes in Matlab:
Costruire un Portafoglio Greek-Neutral:
Step 1: Creare una matrice dei dati rilevanti delle opzioni.
Ogni riga contiene gli imputs standard delle funzioni BlackScholes nella Financial toolbox: prezzo corrente, prezzo di
esercizio,
, la volatilità, gli anni alla maturità, il tasso sul dividendo.
La colonna 6 indica una Put (0) o una Call (1).
DataMatrix = [100.00 100 0.2 0.3 0
1
119.1 125 0.2 0.2 0.025 0
87.2 85 0.1 0.23 0
1
300.15 315 0.5 0.25 0.333 0]
65
66. Financial Toolbox :
Black-Scholes in Matlab:
Costruire un Portafoglio Greek-Neutral:
Assumiamo anche che il il tasso risk-free annualizzato sia pari al
10%
RiskFreeRate = 0.1;
Per chiarezza assegniamo a ogni colonna di DataMatrix un
vettore colonna il cui nome riflette il tipo di dato:
StockPrice = DataMatrix(:,1);
StrikePrice = DataMatrix(:,2);
ExpiryTime = DataMatrix(:,3);
Volatility = DataMatrix(:,4);
DividendRate = DataMatrix(:,5);
66
67. Financial Toolbox :
Black-Scholes in Matlab:
Costruire un Portafoglio Greek-Neutral:
Step 2: Basandoci sul modelo di Black-Scholes, calcoliamo i
prezzi così come Delta, Gamma, e Vega di ognuna delle
quattro opzioni. Da notare che le funzioni «blsprice» e
«blsdelta» hanno due outoputs, mentre «blsgamma» e
«blsvega» ne hanno solo uno.
La funzione standard diag di MATLAB ottiene il prezzo della
Call della prima opzione e il prezzo della Put della seconda
opzione .
[CallPrices, PutPrices] = blsprice (StockPrice, StrikePrice,
RiskFreeRate, Expitytime, Volatility, DividendRate);
[CallDeltas , PutDeltas ] = blsdelta((StockPrice, StrikePrice,
RiskFreeRate, Expitytime, Volatility, DividendRate);
67
68. Financial Toolbox :
Black-Scholes in Matlab:
Costruire un Portafoglio Greek-Neutral:
Gammas = blsgamma (StockPrice, StrikePrice, RiskFreeRate,
Expitytime, Volatility, DividendRate);
Vegas = blsvega ((StockPrice, StrikePrice, RiskFreeRate,
Expitytime, Volatility, DividendRate);
Estraiamo i Prezzi e i Delta che ci interessano per tenere conto
delle differenze tra Call e Put
Prices = [CallPrices(1), PutPrices(2), CallPrices(3), PutPrices(4)];
Deltas = [CallDeltas(1), PutDeltas(2), CallDeltas(3),
PutDeltas(4)];
68
69. Financial Toolbox :
Black-Scholes in Matlab:
Costruire un Portafoglio Greek-Neutral:
Ora, assumendo un valore arbitrario di Portafoglio pari a $ 17.000
settiamo e risolviamo il sistema lineare di equazioni tale che
l’intero portfolio di opzioni è simultanemente:
Delta-neutrale
Gamma-neutrale
Vega-Neutrale
La soluzione calcola il valore della particolare Greca di un
portafoglio di opzioni come media pesata della Greca
corrispondente di ogni singola opzione nel portafoglio.
69
70. Financial Toolbox :
Black-Scholes in Matlab:
Costruire un Portafoglio Greek-Neutral:
Il sistema di equazioni è risolto usando l’operatore backslash ( )
Che serve nel caso ci sia da risolvere un sistema di equazioni
lineari simultanee
A = [Deltas ; Gammas ; Vegas ; Prices] ;
b = [0 ; 0; 0; 17000]
OptionQuantities = A b; %quantità di ogni opzione
70
71. Financial Toolbox :
Black-Scholes in Matlab:
Costruire un Portafoglio Greek-Neutral:
Alla Fine calcoliamo il valore di mercato, Delta, Gamma, e Vega
dell’intero portafoglio come medie pesata dei parametri
corrispondenti delle opzioni che compongono il portafoglio.
La media pesata è calcolata come prodotto interno di due
vettori:
A = [Deltas ; Gammas ; Vegas ; Prices] ;
b = [0 ; 0 ; 0 ; 17000];
OptionQuantities = Ab; %quantità di ogni opzione
71
72. Financial Toolbox :
Black-Scholes in Matlab:
Plottare le Sensitivities di un’opzione:
Questo esempio crea un plot tridimensionale che mostra le
variazioni di Gamma rispetto ai cambiamenti del prezzo di un
opzione in Black-Scholes. Ricordiamo che gamma è la
derivata seconda del prezzo dell'opzione rispetto al prezzo
del titolo sottostante.
Il plot mostra una superficie tridimensionale il cui valore z è il
Gamma di un'opzione quando prezzo (asse x) e del tempo
(asse y) variano. Si aggiunge ancora una quarta dimensione,
mostrando
il Delta dell’opzione (la derivata prima del prezzo dell'opzione
al prezzo del titolo), rappresentato dal colore della superficie.
72
73. Financial Toolbox :
Black-Scholes in Matlab:
Plottare le Sensitivities di un’opzione:
In primo luogo impostare l'intervallo di prezzo delle opzioni, e
impostare il periodo ad un anno divisi in metà mesi ed
espresso in frazioni di anno:
range = 10:70;
span = length(range);
j = 1:0.5:12;
newj = j(ones(span,1),:)'/12;
73
74. Financial Toolbox :
Black-Scholes in Matlab:
Plottare le Sensitivities di un’opzione:
Per ogni periodo di tempo creare un vettore di prezzi dal 10 al 70
e una matrice :
jspan = ones(length(j),1);
newrange = range(jspan,:);
pad = ones(size(newj));
richiamiamo le funzioni di sensistivity Gamma e Delta della
Toolbox . Il prezzo di esercizio è di $ 40, il tasso di interesse
privo di rischio è del 10%, e la volatilità è 0,35 per tutti i
prezzi e periodi. Gamma è l'asse z, Delta è il colore.
zval = blsgamma(newrange, 40*pad, 0.1*pad, newj, 0.35*pad);
color = blsdelta(newrange, 40*pad, 0.1*pad, newj, 0.35*pad);
74
75. Financial Toolbox :
Black-Scholes in Matlab:
Plottare le Sensitivities di un’opzione:
Plottiamo la superficie come una rete (mesh) , aggiungendo le
etichette degli assi e un titolo. Gli assi vanno da 10 a 70, da 1
a 12, e più e meno infinito.
mesh(range, j, zval, color);
xlabel('Stock Price ($)');
ylabel('Time (months)');
zlabel('Gamma');
title('Call Option Sensitivity Measures');
axis([10 70 1 12 -inf inf]);
75
76. Financial Toolbox :
Black-Scholes in Matlab:
Plottare le Sensitivities di un’opzione:
Infine aggiungiamo una box attorno alla figura, denotiamo tutti i
colori con un barra e etichettiamo lal colorbar:
set(gca, 'box', 'on');
colorbar('horiz');
a = findobj(gcf, 'type', 'axes');
set(get(a(2), 'xlabel'), 'string', 'Delta');
76
78. Financial Toolbox :
Il modello Black (1976)
Opzioni su Futures e Forward
La sfida nel pricing di opzioni su commodity (e su futures su
Commodities ) è la non-casualità nell'evoluzione di molti
prezzi delle materie prime.
Per esempio, il prezzo spot di un prodotto agricolo in genere
tende a salire prima di un raccolto e scendere
successivamente alla raccolta.
Il gas naturale tende ad essere più costosi durante i mesi
invernali rispetto a mesi estivi.
A causa di tale non-casualità, molti prezzi Spot su Commodities
non possono essere modellati con un moto browniano
geometrico, e il modello Black-Scholes-Merton (1973) per le
opzioni su azioni non è applicabile.
78
79. Financial Toolbox :
Il modello Black (1976)
Nel 1976 , Fischer Black ha pubblicato un Paper per affrontare
questo problema .
La sua soluzione era quella di modellare i prezzi a termine in
contrasto con i prezzi a pronti . I prezzi a termine non
presentano la stessa non- casualità dei prezzi spot .
Si consideri un prezzo a termine per la consegna subito dopo il
raccolto di un prodotto agricolo . Prima del raccolto, il prezzo
spot può essere elevato , per effetto di una scarsità stimata
del raccolto , ma il prezzo a termine non sarà alto .
79
80. Financial Toolbox :
Il modello Black (1976)
Siccome il prezzo Forward è il prezzo per la consegna dopo il
raccolto , sarà relativamente basso in previsione di un calo
dei prezzi dopo il raccolto .
Quindi, non essendo ragionevole modellare il prezzo a pronti con
un moto browniano , può essere ragionevole modellare il
prezzo Forward con tale modello. La formula di valutazione
delle opzioni di Black riflette questa soluzione , modellando
un prezzo a termine come un prezzo spot .
Il modello è quindi ampiamente utilizzato per la modellazione di
opzioni europee su prodotti fisici , contratti a termine o futures
.
Viene anche utilizzato anche per prezzare Interest Rate Cap e
Floors .
80
81. Financial Toolbox :
Il modello Black (1976)
Le formule per il pricing di una Call e di una Put sono quindi:
con:
81
82. Financial Toolbox :
Il modello Black (1976)
Dove:
log denota il logaritmo naturale
f = l’attuale prezzo del Forward sottostante .
x = lo strike price
r = il tasso risk-free continuosly compounded
t = il tempo ad Expiry dell’opzione espresso in anni
σ = la volatilità implicita del prezzo forward sottostante
Φ =la funzione di distribuzione cumulativa della Normale
Standard
82
85. Financial Toolbox :
Il modello Black (1976)
MATLAB ha una funzione per prezzare opzioni Call e Put
Europee usando le Formule relative al modello Black (1976):
Sintassi:
Definiamo gli imputs , che sono sempre i soliti :
Price= 90;
Strike=100;
Rate=0.05;
Time=5/12;
Volatility=0.08;
[Call, Put] = blkprice( rice, Strike, Rate, Time, Volatility)
85
86. Financial Toolbox :
Il modello Black (1976)
MATLAB ha un’altra funzione per calcolare la volatilità implicita
sempre relativa al modello Black (1976):
Sintassi:
Definiamo gli imputs , che in questo caso saranno :
Price= 90;
Strike=100;
Rate=0.05;
Time=5/12;
Value= 0.0362;
Limit= 10; % upper bound of the implied volatility
Tollerance=1e-6 % Implied volatility termination tolerance;
Class= {‘Call’}; % Option class
Volatility = blkimpv (Price, Strike, Rate, Time, Value, Limit,
Tolerance, Class)
86
87. Financial Toolbox :
Il modello Black (1976)
MATLAB non ha funzioni nelle Toolbox per calcolare direttamente
le Greche del modello Black (1976). E’ tuttavia abbastanza
facile creare uno Script che calcoli:
Delta
Gamma
Vega
Theta
Rho
Usando le funzioni della Statistic Toolbox relative alla funzione di
distribuzione cumulativa della Normale Standard.
Da tale calcolo è poi possibile calcolare portafogli GreeksNeutral .
87
88. Financial Toolbox :
Metodi Monte Carlo :
L'integrale definito di una funzione è un numero, e il calcolo di tale
numero è un problema deterministico che non coinvolge la
casualità.
Tuttavia, possiamo trasportare il problema in un contesto
stocastico interpretando l'integrale come valore atteso.
Consideriamo un integrale sul intervallo unitario [0,1]:
Possiamo pensare a questo integrale come il valore atteso E [g
(U)], dove U è una variabile casuale uniforme sull'intervallo
(0, 1).
Possiamo stimare il valore atteso (un numero) da una media del
campione (una variabile casuale).
88
89. Financial Toolbox :
Metodi Monte Carlo :
Quello che dobbiamo fare è generare una successione {Ui} di
campioni casuali indipendenti dalla distribuzione uniforme e
quindi valutare la media del campione:
La legge dei grandi numeri implica che, con probabilità = 1 :
Il campionamento casuale, che è da dove "Monte Carlo" deriva, in
realtà non è possibile con un computer, ma siamo in grado di
generare una sequenza pseudo-casuale di numeri utilizzando
generatori forniti dalla maggior parte dei linguaggi e ambienti
di programmazione.
89
90. Financial Toolbox :
Metodi Monte Carlo :
La simulazione Monte Carlo è uno strumento importante nella
finanza computazionale: può essere utilizzato per valutare le
regole di gestione del portafoglio, per prezzare le opzioni ,
per simulare strategie di copertura, estimare il Value at Risk.
I suoi principali vantaggi sono la relativa facilità di utilizzo, e
flessibilità. Può gestire problematiche come volatilità
stocastica
e molti complicate caratteristiche delle opzioni esotiche e si
presta a trattare problemi di elevate dimensioni, dove gli
alberi e l’impostazione PDE non possono essere applicati.
90
91. Financial Toolbox :
:
Metodi Monte Carlo :
Il potenziale svantaggio di Monte Carlo simulazione è il suo
carico computazionale.
Un rilevante numero di repliche (10.000 , 100.000, 1.000.000) è
necessario per perfezionare l'intervallo di confidenza delle
stime ci interessano.
Il problema può essere parzialmente risolto con tecniche di
riduzione della varianza o ricorrendo a sequenze a bassa
discrepanza. (generazione delle sequenze numeriche) .
Il punto di partenza nell’applicazione delle simulazioni Monte
Carlo è la generazione campione del percorso, data una
equazione differenziale stocastica che descrive la dinamiche
di un prezzo (o di un tasso di interesse).
91
92. Financial Toolbox :
Metodi Monte Carlo :
Il punto di partenza per l'applicazione di metodi Monte Carlo per
prezzare un’opzione è la generazione di percorsi campione
del titolo sottostante. Nelle opzioni Vanilla , non c'è bisogno
di generazione del percorso, come abbiamo in precedenza.
E’ rilevante solo il prezzo del titolo sottostante alla scadenza.
Se la opzione è dipendente dal percorso, abbiamo bisogno l'intero
percorso o, almeno, una sequenza di valori in istanti di
tempo.
Col moto browniano geometrico, siamo di fronte ad un caso
fortunato. Infatti, abbiamo «solo» due potenziali fonti di errori
nella generazione del percorso:
errori nel campionamento
errori di discretizzazione
92
93. Financial Toolbox :
Metodi Monte Carlo :
L’errore di campionamento è dovuto alla natura casuale dei
metodi Monte Carlo, e può essere mitigato utilizzando
strategie di riduzione della varianza (vedi bibliografia) . Per
capire cos’è l’errore di discretizzazione, consideriamo come
possiamo discretizzare un tipico modello in tempo continuo ,
cioè l’equazione differenziale stocastica di Ito:
Usando l’approccio più semplice di discretizzazione, noto come
schema di Eulero , si ottiene il seguente modello a tempo
discreto:
dove delta t è il passo di discretizzazione e epsilon è una variabile
Normale (0,1)
93
94. Financial Toolbox :
Metodi Monte Carlo :
Dobbiamo comunque tenere in conto che l'errore dovuto alla
discretizzazione può anche cambiare le distribuzioni di
probabilità
caratterizzante la soluzione.
Per esempio, prendere in considerazione il modello di moto
browniano geometrico :
Lo schema di Eurlero diventa:
Questo è più semplice da implementare. La distribuzione
marginale di ogni valore Si è normale, invece che lognormale.
94
95. Financial Toolbox :
Metodi Monte Carlo :
Un codice semplice per generare percorsi campione dei prezzi
delle attività che seguono un moto browniano geometrico è :
function SPaths=AssetPaths(SO,mu,sigma,T,NSteps,NRepl)
SPaths = zeros(NRep1, l+NSteps);
SPaths(:,l) = SO;
dt = T/NSteps;
nudt = (mu-0.5*sigma-2)*dt;
sidt = sigma*sqrt(dt) ;
for i=l:NRepl
for j=1: NSteps
End
End
95
96. Financial Toolbox :
Metodi Monte Carlo :
La funzione «AssetPaths» produce una matrice di percorsi
campione , in cui le repliche sono memorizzati riga per riga
e le colonne corrispondono ai periodi di tempo. Dobbiamo
fornire la funzione con il prezzo iniziale SO, il mu (drift), la
volatilità sigma, il tempo T (giorni),il numero di passi
temporali NSteps, e il numero di repliiche Nrepl.
96
97. Financial Toolbox :
Metodi Monte Carlo :
Applicando il teorema di Feyman-Kac, alle PDE di Black-Scholes
, possiamo dire che il prezzo di una opzione di stile europeo
è il
valore atteso, sotto la misura risk-neutral, del payoff scontato
delll'opzione:
dove Ft è il payoff alla scadenza T ed è assunto un tasso privo di
rischio r costante. La notazione E [-] viene usato per
sottolineare che l’aspettativa è preso rispetto alla misura di
valutazione risk-neutral. Se assumiamo un moto geometrico
browniano , questo significa che il drift mu per il prezzo
attività deve essere sostituito dal tasso r privo di rischio .
A seconda della natura dell'opzione a mano, potremmo aver
bisogno di generare i percorsi completi di campionamento, o
semplicemente il terminale prezzi delle attività.
97
98. Financial Toolbox :
Metodi Monte Carlo :
Un’opzione Call Vanilla richiede solo il campionamento del
payoff :
max {O, S (T) - K}
dove S (T) è il prezzo del titolo sottostante alla scadenza e K è il
prezzo di esercizio.
Abbiamo visto che che possiamo facilmente ottenere questo
risultato generando una variabile standard normale casuale
N(0, 1):
98
99. Financial Toolbox :
Metodi Monte Carlo :
Vediamo una funzione MATLAB per prezzare un’opzione Call .
I primi cinque parametri di input sono auto-esplicativi e sono quelli
richiesti dal funzione «blsprice» per la Black-Scholes. L'ultimo
parametro NRepl è il numero di repliche, cioè, campioni che
vogliamo prendere. Possiamo verificare l'impatto di questo
parametro facendo diverse prove.
function Price = BlsMC1 (S0, K , r , T , sigma, NRepl)
nuT = (r - 0.5*sigma^2)*T;
siT = sigma * sqrt(T) ;
DiscPayoff = exp(-r*T) *max(0, S0*exp(nuT+siT*randn(NRepl,1))
-K) ;
Price = mean(DiscPayoff) ;
99
100. Financial Toolbox :
Metodi Monte Carlo :
Le opzioni americane si caratterizzano perché il l possessore ha il
diritto di decidere se esercitare o meno l’esercizio in un
qualsiasi momento durante la vita del contratto. Le opzioni
americane possono essere sia di tipo call che di tipo put.
A parità di altre caratteristiche, le opzioni americane hanno
sempre un valore superiore rispetto alle opzioni europee
poiché la facoltà posseduta dall'acquirente dell'opzione risulta
più estesa in termini temporali.
Non è quasi mai conveniente esercitare un'opzione
americana di tipo call prima della sua naturale scadenza
poichè mantenendola in vita il suo possessore gode di due
benefici: posticipa il giorno in cui dovrà versare il prezzo di
esercizio e in più conserva l'elemento assicurativo
caratteristico di ogni opzione
L'unica eccezione è rappresentata dall'opzione americana
scritta su un titolo che paga dividendi. Nel caso di un'opzione
americana di tipo call, in prossimità della data di stacco del
dividendo, se il valore del dividendo supera una determinata
soglia, il possessore dell'opzione potrà trovare conveniente
esercitare l'opzione, entrare in possesso del titolo sottostante
e incassare anche il dividendo
100
101. Financial Toolbox :
Finite Difference :
Vediamo ora alcuni esempi di come il quadro delle equazioni
differenziali parziali ( PDE ) può essere sfruttato nell’ option
pricing .
L' idea è quella di applicare i metodi alle differenze per risolvere la
PDE di Black-Scholes .
Cominciamo richiamando gli schemi approssimazione delle
derivate e facendo notare come condizioni di contorno
appropriate possono essere istituito al fine di modellare una
specifica opzione
Successivamente vediamo come un metodo completamente
implicito può superare il problema dell'instabilità numerica
101
102. Financial Toolbox :
Finite Difference :
Essendo sempre nel mondo di Black-Scholes, si assume che il
prezzo di un’attività segua un processo del tipo :
Usiamo il lemma di Ito e otteniamo un processo stocastico:
dove V è il prezzo dell’opzione, S è il prezzo dell’attività
sottostante.
102
103. Financial Toolbox :
Finite Difference :
Abbiamo un portafoglio:
Facciamo Delta–Hedging per eliminare la fonte di incertezza del
sottostante. Π è un portafoglio istantaneo privo di rischio e
come tale deve avere un rendimento, che coincide con il
rendimento privo di rischio.
dove r è il tasso privo di rischio. Assumiamo che r è una costante.
103
104. Financial Toolbox :
Finite Difference :
Si ottiene l'equazione Black-Scholes, che è:
Lo utilizzeremo come modello nelle differenze finite.
Metodi numerici: differenze finite
Le equazioni differenziali che possono essere risolti da una
formula esplicita sono poche. Di conseguenza, lo sviluppo di
schemi di approssimazione numerica accurati è essenziale
per estrarre informazioni quantitative.
Con l'aiuto di metodi numerici possiamo utilizzare i modelli
che sono validi, ma che non hanno una soluzione esplicita
.
104
105. Financial Toolbox :
Finite Difference :
Il metodo delle differenze finite può essere utilizzato per ottenere
approssimazioni di equazioni differenziali che non hanno una
soluzione analitica. Queste approssimazioni sono ottenuti
sostituendo le derivate nell'equazione con adeguate formule
di derivazione numerica.
Per applicare il metodo delle differenze finite, creiamo una griglia:
.
105
106. Financial Toolbox :
Finite Difference :
La griglia tipicamente ha lo stesso numero di step temporali e
nell’asse dell’attività e passi .
La griglia è costituita da punti ai valori dell’attività:
E del tempo:
Indichiamo il valore dell'opzione in ciascun punto della griglia
come:
con i che rappresenta è la variabile dell’asset, e k che marca la
variabile tempo.
106
107. Financial Toolbox :
Finite Difference :
Cercando il valore V della opzione in qualsiasi punto nel tempo
marceremo ritroso (metodo implicito) a partire dalla
scadenza, perché conosciamo il payoff , che è una funzione
del prezzo del sottostante.
.
107
108. Financial Toolbox :
Finite Difference :
Come anticipato, useremo l’equazione differenziale parziale di
Black-Scholes.
Abbiamo anche detto che, in poche parole, il metodo consiste nel
sostituire le derivate parziali con le approssimazioni
utilizzando i punti della griglia e l'equazione di Black-Scholes.
Andremo ad approssimare θ con la differenza forward :
e ad approssimare Δ con la differenza centrale:
108
109. Financial Toolbox :
Finite Difference :
Esiste ovviamente un errore di approssimazione, come in tutti i
metodi numerici, discretizzando equazioni parziali continue.
Applichiamo una condizioni di contorno da applicare a S0,
che elimina drift e diffusion :
e al massimo livello di S, diciamo all'infinito:
.
109
110. Financial Toolbox :
Analisi delle Serie Storiche
Prendiamo ad esempio l’indice S&P 500, publicato dal 1957. E’
possibile scaricare le serie storiche direttamente in Matlab da
diversi siti gratuitamente, noi useremo Yahoo Finance.
Lo script seguente dimostra come i prezzi giornalieri dal 2005 ad
oggi possano essere scaricati da Yahoo, dove il simbolo è
^gspc .
price=hist_stock_data('01011990','13092013','^gspc');
price=[price(1).AdjClose(end:-1:1)]
plot (price)
Possiamo usare sia le chiusure che le chiusure aggiustate, a
seconda di quello che dobbiamo fare. Le chiusure aggiustate
tengono conto degli split delle azioni, dei buyback.
110
111. Financial Toolbox :
Analisi delle Serie Storiche
A questo punto plottiamo ed esploriamo alcune statistiche della
serie storica dei rendimenti:
%% Returns
y= diff(log(price(end:-1:1)))
plot (y)
%% media
mean(y)
%% Deviazione standards
std (y)
%% minimo
min(y)
%% massimo
max(y)
%% Skewness
skewness(y)
%% Kurtosis
kurtosis(y)
111
112. Financial Toolbox :
Analisi delle Serie Storiche
Considerazioni sui rendimenti
In finanza quantitativa raramente siamo interessati ai prezzi,
molto più spesso siamo interessati ai rendimenti, intesi come
variazione del prezzo nel tempo.
Ricerche estese sulle proprietà dei rendimenti finanziari hanno
dimostrato che essi esibiscono le seguenti proprietà
statistiche.
Clusters di Volatilità
Fat Tails
La prima proprietà, si riferisce all’osservazione che la grandezza
della volatilità dei rendimenti finanziari tende a raggrupparsi
in clusters, quindi osserviamo diversi giorni di alta volatilità e
viceversa.
112
113. Financial Toolbox :
Analisi delle Serie Storiche
Volatilità
La misura più comune dell’incertezza dei mercati è la volatilità, la
deviazione standard dei rendimenti.
La sola osservazione di un baso livello di volatilità non implica
che il rischio sia basso, poiché la volatilità potrebbe essere
bassa anche quando abbiamo fat tails.
Volatility clusters:
In genere, si usano due concetti di volatilità: condizionata e
incondizionata. La prima è la volatilità in un periodo di tempo
definito, mente la seconda è la volatilità in un periodo non
definito.
113
114. Financial Toolbox :
Analisi delle Serie Storiche
Volatility clusters:
Osservando la volatilità, è evidente che cambia nel tempo. In più,
dato che ci sono apparentemente dei cicli, la volatilità è
parzialmente prevedibile. Questo fenomeno è detto «volatility
clustering».
Quasi tutti i rendimenti finanziari esibiscono questo fenomeno.
Per esempio, alla metà degli anni ‘90, la volatilità sui mercati
azionari era bassa, come in questo periodo, metre all’inizio e
alla fine dei ‘90 era molto più alta.
Funzione di Autocorrelazione :
Un metodo grafico standard per esplorare la prevedibilità dei dati
statistici è la funzione di auto-correlazione (ACF)
114
115. Financial Toolbox :
Analisi delle Serie Storiche
Modelli di Volatilita
Una prima stima della volatilità può essere ottenuta tramite l’uso
di medie mobili:
Non si tratta di una buona stima, perché dà pesi uguali Per
esempio, se abbiamo un grande balzo , questo non farà
aumentare la volatilità finché non entra nel campione. Questo è
detto effetto spurio (o secondario)
115
116. Financial Toolbox :
Analisi delle Serie Storiche
Modelli di Volatilita
Se diamo maggior peso ai dati più recenti possiamo sperare di
ottenere una stima più realistica per la volatilità.
Invece di ponderazione ogni rendimento con 1/m, usiamo pesi
alpha-i in cui alpha-i varia per dare ai rendimenti più recenti
maggior peso:
Con:
116
117. Financial Toolbox :
Analisi delle Serie Storiche
Modelli di Volatilita
Se esaminiamo i dati, si potrebbe sostenere che la volatilità
tende
A variare attorno ad una media a lungo termine (sigma medio).
Quindi, se inseriamo questo fattore nel nostro modello allora
potremmo aggiornare il modello :
Dove γ è il peso assegnato alla volatilità di lungo periodo. Anche
in questo caso la somma dei pesi è uno:
117
118. Financial Toolbox :
Analisi delle Serie Storiche
Modelli di Volatilita
Questo è noto come :
Modello Auto-regressivo Eteroschedastico Condizionale
o modello ARCH (m).
Se definiamo ω = γ *(sigma medio quadro) allora:
118
119. Financial Toolbox :
Analisi delle Serie Storiche
Modelli di Volatilita
GARCH
Se prendiamo i metodi precedenti, li generalizziamo
eaggiungiamo
una volatilità a lungo termine otterremo lo schema GARCH
(Generalized Autoregressive Conditional Heteroskedasticity) .
119
120. Financial Toolbox :
Analisi delle Serie Storiche
Modelli di Volatilita
GARCH
L’equazione del modello ha alcuni vincoli :
120
121. Financial Toolbox :
Analisi delle Serie Storiche
Garch
Come possiamo trovare i valori di α , β e ω ?
La stima di massima verosimiglianza (MLE) è un metodo
statistico per “fittare” i dati rispetto ad un modello (analisi dei
dati).
Ci poniamo la domanda: "Dato l'insieme di dati e un modello,
quali sono i parametri del modello che più probabilmente ci
daranno questi dati? "
Nota: Quando si utilizza il modello MLE dobbiamo prima
assumere
una distribuzione, un modello parametrico, dopo di che si può
cercare di determinare i parametri del modello. In genere,
nell’analisi dei rendimenti finanziari si usano le distriibuzioni
Normale e T-student.
121
122. Financial Toolbox :
Analisi delle Serie Storiche
Garch
La Financial Toolbox in MATLAB offre le seguenti funzioni per
familiarizzare coi modelli GARCH:
ugarch (stima dei parametri)
ugrachlif (funzione obiettivo di log-likelihood )
ugarchpredict (previsione della volatiltà condizionale)
ugarchsim (simula il processo GARCH)
La GARCH Toolbox offre un ambiente più completo e integrato
che include anche : previsione della volatilità simulazioni Monte
Carlo, testing di ipotesi e analisi grafica.
122
123. Financial Toolbox :
Analisi delle Serie Storiche
Funzione di Autocorrelazione :
L’ACF misura quanto i rendimenti su un giorno sono correlati coi
rendimenti del giorno precedente. Se tali correlazioni sono
statisticamente rilevanti, abbiamo forti prove di prevedibilità.
Vediamo come esplorare l’ACF su Apple, per esempio:
Scarichiamo i dati:
%% Download dati
price=hist_stock_data('01012006','12062013','aapl');
price=[price(1).AdjClose(end:-1:1)]
[Returns, Daily]=price2ret(price)
123
124. Financial Toolbox :
Analisi delle Serie Storiche
Funzione di Autocorrelazione :
Calcoliamo e plottiamo la ACF e PACF sui rendimenti di Apple:
%% ACF e PACF
figure
subplot(2,1,1)
autocorr(Returns)
title('ACF of returns')
subplot(2,1,2)
parcorr(Returns)
title('PACF of the returns')
124
125. Financial Toolbox :
Analisi delle Serie Storiche
Funzione di Autocorrelazione :
Calcoliamo e plottiamo la ACF e PACF sul quadrato dei
rendimenti di Apple:
%% ACF e PACF of the Squared Returns
figure
subplot(2,1,1)
autocorr(Returns.^2)
title('ACF of returns')
subplot(2,1,2)
parcorr(Returns.^2)
title('PACF of the returns')
125
126. Financial Toolbox :
Analisi delle Serie Storiche
Funzione di Autocorrelazione :
Sempre, anche cambiando titolo o periodo, l’autocorrelazione del
quadrato dei rendimenti, che come vedremo è una proxy
della volatilità usata in molti altri studi, è molto più alta.
126
127. Financial Toolbox :
Analisi delle Serie Storiche
Non-Normalità e Fat Tails :
Molte applicazioni, come abbiamo visto, assumono che i
rendimenti siano distribuiti normalmente. Nell’esempio
dell’S&P 500, la caduta più rilevante è stata del 23%. Se i
rendimenti fossero davvero distribuiti normalmente , alora la
probabilità di un crash giornaliero di tale portata sarebbe tale
da accadere una volta in 10^95 anni.
127
128. Financial Toolbox :
Analisi delle Serie Storiche
Non-Normalità e Fat Tails :
Molte ci sono due approcci principali per identificare ed analizzare
le Fat Tails nei rendimenti finanziari: test statistici e metodi
grafici. I test statistici confrontano i rendimenti osservati con
una distribuzione di probabilità base, tipicamente la Normale.
I metodi grafici mettono in relazione i rendimenti con in valori
previsti da qualche distribuzione , spesso sempre la Normale.
Test Statistici:
Una variabile casuale si dice abbia FatTails se esibisce più valori
estremi rispetto ad una variabile casuale distribuita
normalmente, che abbia la stessa media e varianza.
Una proprietà di base delle osservazioni distribuite normalmente
è che sono completamente descritte dalla loro media e
varianza (i momenti primo e secondo). Questo implica che la
Skewness e la Kurtosis siano le stesse per ogni variabile
distribuita normalmente (pari rispettivamente a zero e a tre) .
128
129. Financial Toolbox :
Analisi delle Serie Storiche
Metodi grafici:
Esistono diversi metodi grafici per identificare la presenza di
code. Probabilmente quello più usato è il QQ Plot (Quantilequantile Plot) . Viene usato per vedere se un campione di
osservazioni ha una particolare distribuzione. Il QQ Plot
confronta i quantili del campione di dati con i quantili della
distribuzione di riferimento.
In MATLAB il QQ Plot è disponibile sono la Normale:
% QQPlot
Qqplot(y)
129
130. Financial Toolbox :
Analisi delle Serie Storiche
Metodi grafici:
Applicando sempre l’esempio dell’S&P500, vediamo evidente la
presenza di Fat Tails.
130
131. Financial Toolbox :
Analisi delle Serie Storiche
Metodi grafici:
Esistono diversi metodi grafici per identificare la presenza di
code. Probabilmente quello più usato è il QQ Plot (Quantilequantile Plot) . Viene usato per vedere se un campione di
osservazioni ha una particolare distribuzione. Il QQ Plot
confronta i quantili del campione di dati con i quantili della
distribuzione di riferimento.
In MATLAB il QQ Plot è disponibile sono la Normale:
% QQPlot
Qqplot(y)
131
132. Financial Toolbox :
Analisi delle Serie Storiche
Metodi grafici:
Spesso comunque i lrendimenti delle attività finanziarie, hanno
“fat tails” (kurtosis >=3) e possono essere asimmetriche
(skewness) quindi non hanno una distribuzione normale.
132
133. Financial Toolbox :
Analisi delle Serie Storiche
Granger Causality:
Il test di causalità Granger è un test di un’ipotesi statistica per
determinare se una serie storica è utile per prevederne
un’altra.
Di solito, la regressione lineare riflette "semplici" correlazioni, ma
Granger, che ha vinto un premio Nobel in Economia, ha
sostenuto che la causalità in economia si può ravvisare una
sorta di test.
Una serie storica X si dice che causa , nel senso di Granger, Y
se si può dimostrare, in genere attraverso una serie di t-test e
test F su valori ritardati di X , che tali valori X forniscono
informazioni statisticamente significativo sui valori futuri di Y.
Vediamo alcuni utilizzi pratici in MATLAB
133
134. Financial Toolbox :
Analisi delle Serie Storiche
Granger Causality:
Il test di causalità Granger è un test di un’ipotesi statistica per
determinare se una serie storica è utile per prevederne
un’altra.
Di solito, la regressione lineare riflette "semplici" correlazioni, ma
Granger, che ha vinto un premio Nobel in Economia, ha
sostenuto che la causalità in economia si può ravvisare una
sorta di test.
Una serie storica X si dice che causa , nel senso di Granger, Y
se si può dimostrare, in genere attraverso una serie di t-test e
test F su valori ritardati di X , che tali valori X forniscono
informazioni statisticamente significativo sui valori futuri di Y.
Vediamo alcuni utilizzi pratici in MATLAB
134
135. Financial Toolbox :
Analisi delle Serie Storiche Multivariate
Test di Stazionarietà:
La Stazionarietà in senso stretto è la forma più forte di
stazionarietà. Ciò significa che la distribuzione statistica
congiunta di qualsiasi serie storica non dipende mai dal
tempo.
Così, la media, la varianza e ogni momento di qualsiasi serie
storica è lo stesso in tutti i diversi periodi o finestre temporali
random.
Per l’uso pratico, questa definizione così rigorosa di stazionarietà
è troppo rigida. Quindi, la seguente definizione più debole è
spesso usato preferibilmente.
135
136. Financial Toolbox :
Analisi delle Serie Storiche Multivariate
Test di Stazionarietà:
Stazionarietà di ordine 2
Per l'uso pratico spesso consideriamo serie storiche che
hanno:
_ una media costante
_ una varianza costante
Tale serie temporali si denotano come stazionarie di
secondo ordine o stazionarie di ordine 2. D’ora in poi, ogni
volta che usiamo il termine stazionarietà, intendiamo
stazionarietà del secondo ordine.
Il test di stazionarietà probabilmente maggiormente usato è il
Dickey-Fuller test di radice unitaria. Vediamo esempi pratici
in MATLAB.
136
137. Financial Toolbox :
Analisi delle Serie Storiche Multivariate
Cointegrazione:
La Cointegrazione è una proprietà statistica delle variabili serie
storica. Due o più serie storiche sono cointegrate se
condividono un drift stocastico comune.
Se due o più serie storiche sono integrate singolarmente (nonstazionarie) , ma una loro combinazione lineare ha un ordine
inferiore di integrazione (stazionarie), allora si dice che le
serie siano cointegrate.
Per esempio, ipotizziamo che un indice di mercato azionario e il
prezzo dei suoi contratti futures si muovano attraverso il
tempo, ognuno seguendo un random walk
137
138. Financial Toolbox :
Analisi delle Serie Storiche Multivariate
Cointegrazione:
Possiamo allora testare l'ipotesi che ci sia una connessione
statisticamente significativa (cointegrazione) tra il prezzo del
future e il prezzo spot potrebbe utilizzando un test per
l'esistenza di una combinazione cointegrata (stazionaria)
delle due serie.
Se tale combinazione ha un basso grado di integrazione - in
particolare se si tratta di I (0), questo può significare un
rapporto di equilibrio tra la serie originale, che si dice siano
cointegrate.
138
140. Financial Toolbox :
Analisi delle Serie Storiche Multivariate
Vector Autoregression Models :
In econometria, un modello VAR, o Vector Autoregression , è
un sistema di equazioni simultanee nella forma:
I modelli VAR sono stati introdotti da Christopher Sims in uno
storico articolo pubblicato su Econometrica nel 1980, che
proponeva una critica dei modelli strutturali di equazioni
simultanee, allora il principale strumento di analisi
econometria nell'ambito della macroeconomia. In particolare,
i modelli VAR risultano nel complesso più semplici rispetto ai
modelli strutturali, e la loro performance in termini di capacità
previsiva di variabili macroeconomiche appare migliore
140
141. Financial Toolbox :
Analisi delle Serie Storiche Multivariate
Vector Error Regression Models :
Un modello di correzione degli errori è un sistema dinamico che
ha la caratteristica di immettere deviazione dello stato
attuale della sua relazione di lungo periodo nella sua
dinamica di breve periodo.
I modelli di correzione degli errori (ECM) sono una categoria di
più modelli di serie storiche che stimano direttamente la
velocità con cui una variabile dipendente-Y-ritorna in
equilibrio dopo un cambiamento (shock) di una variabile-X
indipendenti.I ECM sono un approccio theory-driven utile per
stimare a breve termine gli effetti a lungo termine di una
serie di tempo su un altro.
141
146. PROBLEMI DI OTTIMIZZAZIONE
OPTIMIZATION TOOLBOX
L’ Optimization Toolbox fornisce funzioni per la ricerca di
parametri che minimizzano o massimizzano gli obiettivi,
oltre a soddisfare i vincoli.
L’Optimization Toolobox comprende risolutori per la
programmazione lineare, programmazione quadratica,
ottimizzazione non lineare, e minimi quadrati non lineari.
È possibile utilizzare questi risolutori per trovare le soluzioni
ottimali ai problemi continui e discreti e incorporare metodi di
ottimizzazione in algoritmi e applicazioni.
146
147. PROBLEMI DI OTTIMIZZAZIONE
OPTIMIZATION TOOLBOX
Funzioni chiave:
• Ottimizzazione non lineare e multi-obiettivo
• Risolutori di minimi quadrati non lineari, fitting dei dati
• Programmazione quadratica e lineare
• Applicazioni d’ottimizzazione per definire e risolvere
problemi di
ottimizzazione
• Accelerazione del vincolati solutori non lineari con Parallel
Computing
147
148. PROBLEMI DI OTTIMIZZAZIONE
I metodi di ottimizzazione svolgono un ruolo importante nella
finanza. Tali modelli di ottimizzazione possono essere
utilizzati nella gestione del portafoglio, in tal caso essi sono
utilizzati come strumento di supporto alle decisioni.
A volte, i metodi di ottimizzazione sono alquanto più mirati e
vengono utilizzati, ad esempio, per risolvere problemi di
taratura del modello.
Occuparsi in profondità tutti i metodi di ottimizzazione che
potrebbe essere utile per risolvere i problemi in finanza
richiederebbe moltissimo tempo.
Qui noi vogliamo solo fornire un minimo di backgroud necessario
per cogliere ciò che MATLAB offre nell’Optimization Toolbox .
In particolare, la consapevolezza delle differenze nel momento in
cui si sceglie uno tra i vari metodi che sono disponibili per
fronteggiare lo stesso tipo di problema.
148
149. PROBLEMI DI OTTIMIZZAZIONE
Per semplificare, ora consideriamo solo i problemi di
ottimizzazione di base. In particolare, si assume che essi
siano convessi e deterministici.
Il grafico di una funzione convessa si trova sempre al di sotto
della corda sottesa a due suoi punti arbitrari.
In sostanza, la convessità garantisce un minimo locale è anche
globale, e permette di trovare facili caratterizzazioni di
soluzioni ottimali. Inoltre, se e strettamente convessa, allora
esiste al massimo un punto di minimo globale.
149
150. PROBLEMI DI OTTIMIZZAZIONE
Quando i dati sono incerti, dovremmo ricorrere ai modelli di
ottimizzazione stocastica, che è piuttosto importante nel
contesto
delle decisioni dinamiche nel tempo.
Ci sono due approcci di base per far fronte con il processo
decisionale dinamico in condizioni di incertezza:
la programmazione dinamica
la programmazione stocastica
In realtà, questi due approcci hanno molto in comune, ma a
quanto pare, il primo è abbastanza comune in economia,
mentre il secondo uno è più apprezzato all'interno dell’
ingegneria.
150
151. PROBLEMI DI OTTIMIZZAZIONE
Infatti, i modelli di ottimizzazione possono essere classificati
lungo più direzioni, per esempio problemi vincolati e non
vincolati. (costrains) .
I metodi di ottimizzazione non vincolata si differenziano per le loro
esigenze: molti sono gradiente-based, e richiedono la
capacità di calcolare o approssimare funzioni derivate, altri
metodi sono privo di strumenti derivati, nel senso che sono
solo basate solo sulla valutazione di funzione.
Per l’ottimizzazione vincolata introduciamo concetti fondamentali
come le condizioni di Kuhn-Tucker e teoria della dualità. Un
caso specifico di ottimizzazione vincolata è la
programmazione lineare.
Molto spesso, problemi non banali possono essere espressi come
modelli di programmazione lineare e la capacità di risolvere
enormi problemi di ottimizzazione in modo efficiente rende la
programmazione lineare uno strumento fondamentale
151
152. PROBLEMI DI OTTIMIZZAZIONE
Classificazione :
C'è una grande varietà di modelli di ottimizzazione si possono
incontrare in finanza e che possono essere coperti da un
altrettanto vasta gamma di metodi.
Problemi di dimensione finita e infinita
Ci occupiamo ora di problemi la cui forma astratta è :
La funzione obiettivo f è una funzione scalare che quantifica
l'idoneità di una soluzione x, che è un vettore di variabili di
decisione e deve appartenere a un insieme S, che è un
sottoinsieme dell'insieme di vettori con n componenti reali.
152
153. PROBLEMI DI OTTIMIZZAZIONE
Classificazione :
Poiché la soluzione è espresso da un vettore di dimensione
finita, si parla di un problema di dimensione finita.
Non vi è alcuna perdita di generalità nel considerare solo
problemi di minimo, dal momento che un problema di
massimizzazione possono essere trasformati in un problema
di minimizzazione semplicemente cambiando il segno
dell'obiettivo:
In effetti, tutte le funzioni di MATLAB nell’Optimization Toolbox
assumono un problema di minimizzazione.
153
154. PROBLEMI DI OTTIMIZZAZIONE
Classificazione :
La risoluzione di un tale problema di ottimizzazione significa
trovare un punto x* tale che :
Il punto x * si dice che sia un ottimo globale.
Né l'esistenza né la unicità di un ottimo globale dovrebbe essere
dato per scontato.
Per esempio, il problema potrebbe essere illimitato (unbounded).
Oppure il problema potrebbe non essere risolvibile, cioè
l’insieme S potrebbe essere vuoto. Infine la soluzione
potrebbe non essere unica, quando la condizione di cui sopra
è soddisfatta da un insieme di ottimi alternativi.
154
155. PROBLEMI DI OTTIMIZZAZIONE
Classificazione :
ESEMPIO:
Una funzione obiettivo tipica che dà origine a ottimi locali è
una funzione polinomiale, c’è da ricordare che il
comportamento oscillatorio dei polinomi di ordine alto è il
motivo per cui non sono adatte all’interpolazione della
funzione:
Possiamo verificare questo con un semplice snapshot in
MATLAB
g = @(x) polyval( [ 1 -10.5 39 -59.5 301, x);
xvet=1:0.05:4;
plot(xvet,g(xvet))
155
157. PROBLEMI DI OTTIMIZZAZIONE
Classificazione :
ESEMPIO:
Una tipica funzione MATLAB per risolvere un problema di
minimizzazione è «fminunc» , dove «unc» sta per
«uncostrained» dal momento che non dobbiamo imporre
alcun requisito particolare nella variabile decisionale.
Questa funzione richiede un argomento che è il punto iniziale del
processo di ricerca:
[x,fval] = fminunc(g, 0)
Possiamo cambiare punto di inizio:
[x,fval] = fminunc(g, 5)
157
158. PROBLEMI DI OTTIMIZZAZIONE
Classificazione :
ESEMPIO:
Si vede che , a seconda del punto di partenza, si ottiene il minimo
globale o locale.
Una situazione diversa si verifica nel caso seguente:
f = @(x) polyval( [1 -8 22 -24 1] , x);
xvet=0:0.05:4;
plot (xvet , f (xvet) )
Il grafico evidenzia la presenza di due minimi globali.
158
159. PROBLEMI DI OTTIMIZZAZIONE
Classificazione :
Problemi Lineari e Non-Lineari
Un problema di dimensione finita è chiamato un problema di
programmazione lineare (LP) quando entrambi i vincoli e gli
obiettivi sono espressi da funzioni lineari.
La forma generale di un problema di programmazione lineare
è:
159
160. PROBLEMI DI OTTIMIZZAZIONE
Classificazione :
Problemi Lineari e Non-Lineari
Che può anche essere espresso in notazione matriciale:
I problemi di programmazione lineare hanno due importanti
caratteristiche:
sono sia problemi convessi che concavi.
un ottimo locale è anche un ottimo globale,e si trova sul
confine della soluzione fattibile
Si scopre che l'insieme ammissibile è un poliedro e che vi è una
soluzione ottimale che corrisponde ad uno dei suoi vertici.
160
161. PROBLEMI DI OTTIMIZZAZIONE
Classificazione :
Problemi Lineari e Non-Lineari
Esempio:
Questo è un esempio di Problema Lineare:
Se una delle due condizioni non è soddisfatta, cioè se la funzione
obiettivo o di un vincolo è espressa da una funzione non
lineare, abbiamo un problema di programmazione non
lineare.
161
162. Analizzare Portafogli
I gestori di portafogli concentrano i loro sforzi sul
raggiungimento della migliore trade-off tra rischio e
rendimento. Per i portafogli costruiti da una serie fissa di
assets, il profilo rischio/rendimento varia con la composizione
del portafoglio.
Portafogli che massimizzano il redimento, dato il rischio, o, al
contrario, minimizzare il rischio dato il rendimento dato, sono
chiamati ottimali.
I portafogli ottimali definiscono una linea del piano definito da
rischio/rendimento chiamata la Frontiera Efficiente .
162
163. Analizzare Portafogli
Un Portafoglio può anche dover soddisfare dei requisiti aggiuntivi,
a parte quelli descritto prima.
Per esempio, potremmo avere a che fare con diversi
investitori che hanno diversi livelli di tolleranza al rischio.
Ne consegue che la selezione del portafoglio adeguato per un
particolare investitore è un processo piuttosto complicato.
Per fare fronte a questo ed altri problemi, il gestore può coprire il
rischio legato a un particolare portafoglio, muovendosi
sempre lungo la frontiera efficiente , con investimenti di parte
del capitale in attività prive di rischio.
163
164. Analizzare Portafogli
La definizione della linea di allocazione del capitale, e la
definizione di dove si trova il portafoglio finale lungo questa
linea, in larga parte, è una funzione di:
• Il profilo di rischio / rendimento di ciascuna asset
• Il tasso privo di rischio
• Il tasso di indebitamento
• Il grado di avversione al rischio che caratterizza un
investitore
Le Toolboxes includono una serie di funzioni progettate per
risolvere il problema di trovare il portafoglio che meglio
soddisfa le esigenze degli investitori, considerando tutti i
parametri.
164
165. Analizzare Portafogli
Specifiche dei dati degli Assets
Le funzioni di calcolo della frontiera efficiente richiedono
informazioni su ciascuno di gli assets in portafoglio. Questi
dati vengono inseriti nelle funzioni tramite due matrici: un
vettore di rendimento atteso e una matrice di covarianza.
Il vettore dei rendimenti attesi contiene il rendimento medio
previsto per ogni asset nel portafoglio. La matrice di
covarianza è una matrice quadrata che rappresenta le
interrelazioni tra coppie di assets.
Queste informazioni possono essere specificate direttamente
oppure possono essere stimate una serie storica dei
rendimenti degli assets con la funzione «ewstats» .
165
166. Analizzare Portafogli
Esempio di Frontiera Efficiente
Questo esempio calcola la frontiera efficiente di portafogli
composti da tre attività diverse, utilizzando la funzione
«frontcon» di MATLAB.
Per visualizzare la frontiera efficiente curva con chiarezza,
consideriamo 10 diversi portafogli equidistanti.
Si supponga che il rendimento atteso per il primo titolo è del 10%,
il secondo è del 20%, e il terzo è 15%.
166
167. Analizzare Portafogli
Esempio di Frontiera Efficiente
La covarianza è definita nella matrice ExpCovariance .
ExpReturn = [0.1 0.2 0.15];
ExpCovariance = [0.005 -0.010 0.004 ;
-0.010 0.040 -0.002 ;
0.004 -0.002 0.023];
NumPorts = 10;
167
168. Analizzare Portafogli
Esempio di Frontiera Efficiente
Dal momento che non ci sono vincoli, è possibile chiamare
«frontcon» direttamente con i dati che già abbiamo.
Se si chiama «frontcon» senza specificare alcun argomento di
output,si ottiene un grafico che rappresenta la curva di
frontiera efficiente:
frontcon (ExpReturn, ExpCovariance, NumPorts);
168
170. Analizzare Portafogli
Esempio di Frontiera Efficiente
Se richiamiamo «frontcon» specificando gli argomenti di
output , ci restituisce i vettori e matrici corrispondenti che
rappresentano il rischio, il rendimento e i pesi per ciascuno
dei 10 punti calcolati lungo la frontiera efficiente.
I dati di uscita sono da leggere riga per riga. Il rischio di ogni
portafoglio, il tasso di rendimento e i pesi associati sono
identificati con le righe corrispondenti ai vettori e alla matrice.
Ad esempio, si può vedere da questi risultati che il secondo
portafoglio ha un rischio di 0.0445, un rendimento atteso del
13,16%, e le allocazioni di circa il 67% nella prima attività, il
30% nella seconda, e il 3% nel terza.
170
172. Analizzare Portafogli
Selezione di Portafoglio e Avversione al Rischio
Uno dei fattori da considerare nella scelta del portafoglio
ottimale per un particolare investitore, è grado di avversione
al rischio.
Questo livello di avversione al rischio può essere specificato
definendo la curva di indifferenza dell'investitore .
Questa è costituita dall’insieme delle coppie di valori di rischio /
rendimento che definiscono il trade-off dell’investitore tra
rendimento e rischio attesi.
La curva definisce l'incremento di rendimento necessario, per un
particolare investitore, affinchè l’investitore accetti un
determinato incremento del rischio
Tipicamente i coefficienti che definiscono l’avversione al rischio
sono compresi tra 2.0 e 4.0, con numeri più alti che
rappresentano una minore tolleranza al rischio.
172
173. Analizzare Portafogli
Selezione di Portafoglio e Avversione al Rischio
L'equazione utilizzata per rappresentare l'avversione al rischio in
MATLAB (mutuata dalla teoria economica) è :
U = E(r) – 0.005*A*sig^2
dove:
U è il valore d‘utilità
E (r) è il rendimento atteso.
A è l'indice di avversione dell’investitore
sig è la deviazione standard.
173
175. Analizzare Portafogli
Esempio di Portafoglio rischioso
Calcoliamo ora un portafoglio rischioso ottimale sulla frontiera
efficiente in base al tasso privo di rischio, il tasso debitore, e
il grado di avversione al rischio dell'investitore.
A tale scopo, utilizziamo la funzione «portalloc» di MATLAB.
Prima di tutto, generiamo i dati della frontiera efficiente , per
fare questo possiamo utilizzare sia la funzione «portopt» che
la funzione «frontcon».
In questo esempio utilizziamo «portopt» e gli stessi dati
patrimoniali dell’esempio fatto in precedenza.
175
176. Analizzare Portafogli
Esempio di Portafoglio rischioso
ExpReturn = [0.1 0.2 0.15];
ExpCovariance = [0.005 -0.010 0.004 ;
-0.010 0.040 -0.002 ;
0.004 -0.002 0.023];
Questa volta, però, consideriamo 20 punti lungo la frontiera
efficiente:
NumPorts = 20;
176
177. Analizzare Portafogli
Esempio di Portafoglio rischioso
[PortRisk, PortReturn, PortWts] = portopt(ExpReturn,...
ExpCovariance, NumPorts);
Come con la funzione «frontcon», chiamando «portopt» e
precisando gli argomenti in uscita , quest’ultima funzione
ritorna
i vettori e le matrici che rappresentano il rischio, il rendimento
ei
pesi per ciascuno dei portafogli lungo la frontiera efficiente.
Li usiamo come i primi tre inputs della funzione «portalloc».
177
178. Analizzare Portafogli
Esempio di Portafoglio rischioso
Ora trova il portafoglio rischioso ottimale e l'allocazione ottimale
dei fondi tra il portafoglio rischioso e il risk-free asset.
Utilizziamo i seguenti valori per il tasso privo di rischio, tasso
debitore e il grado di avversione al rischio degli investitori:
RisklessRate = 0.08
BorrowRate = 0.12
RiskAversion = 3
178
179. Analizzare Portafogli
Esempio di Portafoglio rischioso
Se richiamiamo «portalloc» senza specificare alcun argomento di
output fornisce un grafico visualizzazione dei punti critici:
portalloc (PortRisk, PortReturn, PortWts, RisklessRate,...
BorrowRate, RiskAversion);
179
181. Analizzare Portafogli
Esempio di Portafoglio rischioso
Se invece richiamiamo «portalloc» specificando gli argomenti di
output restituisce la varianza (RiskyRisk), il rendimento
atteso (RiskyReturn), ed i pesi (RiskyWts) allocati nel
portafoglio rischioso ottimale.
Inoltre restituisce la frazione (RiskyFraction) del portafoglio totale
assegnato al portafoglio rischioso e la varianza (OverallRisk)
e rendimento atteso (OverallReturn) del del portafoglio
ottimale complessivo.
Il portafoglio complessivo combina investimenti nell’asset privo di
rischio dell'attività e nel portafoglio rischioso. La percentuale
effettivamente assegnato a ciascuno di questi due investimenti è
determinata dal grado di avversione al rischio che
caratterizza l'investitore.
181
182. Analizzare Portafogli
Esempio di Portafoglio rischioso
[RiskyRisk, RiskyReturn, RiskyWts,RiskyFraction, OverallRisk,...
OverallReturn] = portalloc (PortRisk, PortReturn, PortWts,...
RisklessRate, BorrowRate, RiskAversion)
RiskyRisk = 0.1288
RiskyReturn = 0.1791
RiskyWts = 0.0057 0.5879 0.4064
RiskyFraction = 1.1869
OverallRisk = 0.1529
OverallReturn = 0.1902
Il valore di RiskyFraction supera 1 (100%), il che implica che la
tolleranza al rischio specificata permette il prestito di denaro
da investire nel portafoglio rischioso, e che nessuna denaro
sarà investito nella finanziaria priva di rischio.
182
183. Analizzare Portafogli
Specificazione dei Vincoli
Questo esempio calcola la frontiera efficiente di portafogli
composti da tre attività diverse, INTC (Intel corporation) ,
XON (Exxon) e RD (Royal Dutch Shell) , dato un elenco di
vincoli.
I rendimenti previsti per INTC, XON e RD sono rispettivamente:
ExpReturn = [0.1 0.2 0.15];
La matrice delle covarianze:
ExpCovariance = [ 0.005 –0.010 0.004 ;
–0.010 0.040 –0.002 ;
0.004 –0.002 0.023];
183
184. Analizzare Portafogli
Specificazione dei Vincoli
Vincoli:
Vincolo 1: consentire vendite short in qualsiasi attività fino al 10%
del valore del portafoglio, ma limitare l'investimento in un
qualsiasi bene al 110% del valore del portafoglio.
Vincolo 2: Consideriamo due diversi settori, la tecnologia e
l'energia.
Vincoliamo l'investimento nel settore energetico al 80% del valore
del portafoglio, e l'investimento nel settore dell'Information
Technology al 70%.
184
185. Analizzare Portafogli
Specificazione dei Vincoli
Per risolvere questo problema, utilizziamo la funzione «frontcon»,
passando un elenco di vincoli patrimoniali.
Consideriamo otto portafogli diversi lungo la frontiera
efficiente:
NumPorts = 8;
Per introdurre i limiti specificati nel Vincolo 1, creiamo una
matrice «AssetBounds», dove ogni colonna rappresenta un
asset. La fila superiore rappresenta i limiti inferiori, e la fila
inferiore rappresenta il limiti superiore:
AssetBounds = [–0.10, –0.10, –0.10;
1.10, 1.10, 1.10];
185