SlideShare une entreprise Scribd logo
1  sur  213
Matlab
Financial and Optimization Toolbox
Genova 17 – 18 ottobre 2013
Luigi Piva

1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Financial Toolbox :
Black-Scholes in Matlab:
Plottare le Sensitivities di un’opzione:

77
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
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
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
Financial Toolbox :
Il modello Black (1976)

Le formule per il pricing di una Call e di una Put sono quindi:

con:

81
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
Financial Toolbox :
Il modello Black (1976)

Le Greche per una Call:

83
Financial Toolbox :
Il modello Black (1976)

Le Greche per una Put:

84
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Financial Toolbox :
Analisi delle Serie Storiche

Modelli di Volatilita
GARCH
L’equazione del modello ha alcuni vincoli :

120
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
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
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
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
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
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
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
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
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
Financial Toolbox :
Analisi delle Serie Storiche
Metodi grafici:
Applicando sempre l’esempio dell’S&P500, vediamo evidente la
presenza di Fat Tails.

130
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
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
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
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
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
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
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
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
Financial Toolbox :
Analisi delle Serie Storiche Multivariate

Cointegrazione:

139
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
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
PROBLEMI DI OTTIMIZZAZIONE

142
PROBLEMI DI OTTIMIZZAZIONE

143
PROBLEMI DI OTTIMIZZAZIONE

144
PROBLEMI DI OTTIMIZZAZIONE

145
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
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
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
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
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
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
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
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
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
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
PROBLEMI DI OTTIMIZZAZIONE

Classificazione :
ESEMPIO:
Qui sotto il grafico prodotto, da cui è chiaro che vi sono due
minimi locali :

156
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
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
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
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
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
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
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
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
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
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
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
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
Analizzare Portafogli
Esempio di Frontiera Efficiente

169
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
Analizzare Portafogli
Esempio di Frontiera Efficiente

171
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
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
Analizzare Portafogli
Selezione di Portafoglio e Avversione al Rischio

174
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
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
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
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
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
Analizzare Portafogli
Esempio di Portafoglio rischioso

180
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
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
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
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
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
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi
Corso isvap matlab per traders quantitativi

Contenu connexe

Tendances

Oligopoly Essentials
Oligopoly EssentialsOligopoly Essentials
Oligopoly Essentialstutor2u
 
Imperfect competion 2
Imperfect competion 2Imperfect competion 2
Imperfect competion 2Murari Sharma
 
Price Mechanism Introduction
Price Mechanism IntroductionPrice Mechanism Introduction
Price Mechanism Introductiontutor2u
 
Social welfare is maximum in case of imperfect competition
Social welfare is maximum in case of imperfect competitionSocial welfare is maximum in case of imperfect competition
Social welfare is maximum in case of imperfect competitionAkeeb Siddiqui
 
Market Structures and Economic Efficiency
Market Structures and Economic EfficiencyMarket Structures and Economic Efficiency
Market Structures and Economic Efficiencytutor2u
 
Quantitative Trading in Eurodollar Futures Market by Edith Mandel at QuantCon...
Quantitative Trading in Eurodollar Futures Market by Edith Mandel at QuantCon...Quantitative Trading in Eurodollar Futures Market by Edith Mandel at QuantCon...
Quantitative Trading in Eurodollar Futures Market by Edith Mandel at QuantCon...Quantopian
 
MONOPOLY MARKET
MONOPOLY MARKETMONOPOLY MARKET
MONOPOLY MARKETA A
 
Imperfect competion 2
Imperfect competion 2Imperfect competion 2
Imperfect competion 2Murari Sharma
 
Market Structure
Market StructureMarket Structure
Market StructureKarl Obispo
 
2. BASIC PRINCIPLES OF DEMAND AND SUPPLY.pptx
2. BASIC PRINCIPLES OF DEMAND AND SUPPLY.pptx2. BASIC PRINCIPLES OF DEMAND AND SUPPLY.pptx
2. BASIC PRINCIPLES OF DEMAND AND SUPPLY.pptxwilhelminaroman2
 
Rules Vs Discretion
Rules Vs DiscretionRules Vs Discretion
Rules Vs Discretioncmadeira
 

Tendances (20)

Oligopoly Essentials
Oligopoly EssentialsOligopoly Essentials
Oligopoly Essentials
 
Bilateral monopoly
Bilateral monopolyBilateral monopoly
Bilateral monopoly
 
Imperfect competion 2
Imperfect competion 2Imperfect competion 2
Imperfect competion 2
 
Price Mechanism Introduction
Price Mechanism IntroductionPrice Mechanism Introduction
Price Mechanism Introduction
 
Oligopoly market
Oligopoly marketOligopoly market
Oligopoly market
 
Social welfare is maximum in case of imperfect competition
Social welfare is maximum in case of imperfect competitionSocial welfare is maximum in case of imperfect competition
Social welfare is maximum in case of imperfect competition
 
PP curve/ PP frontier
PP curve/ PP frontierPP curve/ PP frontier
PP curve/ PP frontier
 
Supply
SupplySupply
Supply
 
Market structure updated
Market structure updatedMarket structure updated
Market structure updated
 
Market Structures and Economic Efficiency
Market Structures and Economic EfficiencyMarket Structures and Economic Efficiency
Market Structures and Economic Efficiency
 
Quantitative Trading in Eurodollar Futures Market by Edith Mandel at QuantCon...
Quantitative Trading in Eurodollar Futures Market by Edith Mandel at QuantCon...Quantitative Trading in Eurodollar Futures Market by Edith Mandel at QuantCon...
Quantitative Trading in Eurodollar Futures Market by Edith Mandel at QuantCon...
 
MONOPOLY MARKET
MONOPOLY MARKETMONOPOLY MARKET
MONOPOLY MARKET
 
Imperfect competion 2
Imperfect competion 2Imperfect competion 2
Imperfect competion 2
 
Market Structure
Market StructureMarket Structure
Market Structure
 
Market Analysis
Market AnalysisMarket Analysis
Market Analysis
 
2. BASIC PRINCIPLES OF DEMAND AND SUPPLY.pptx
2. BASIC PRINCIPLES OF DEMAND AND SUPPLY.pptx2. BASIC PRINCIPLES OF DEMAND AND SUPPLY.pptx
2. BASIC PRINCIPLES OF DEMAND AND SUPPLY.pptx
 
Rules Vs Discretion
Rules Vs DiscretionRules Vs Discretion
Rules Vs Discretion
 
Elasticity
ElasticityElasticity
Elasticity
 
Forms of market class 12
Forms of market class 12Forms of market class 12
Forms of market class 12
 
Oligopoly
OligopolyOligopoly
Oligopoly
 

En vedette

Rimini 2014 spread trading quantitativo
Rimini 2014   spread trading quantitativoRimini 2014   spread trading quantitativo
Rimini 2014 spread trading quantitativoLuigi Piva CQF
 
Spread trading intraday forex
Spread trading intraday forexSpread trading intraday forex
Spread trading intraday forexbuylink
 
Simare la volatilità dalle serie storiche
Simare la volatilità dalle serie storicheSimare la volatilità dalle serie storiche
Simare la volatilità dalle serie storicheLuigi Piva CQF
 
Lezione 2 alberi e differenze finite
Lezione 2   alberi e differenze finiteLezione 2   alberi e differenze finite
Lezione 2 alberi e differenze finiteGiovanni Della Lunga
 
Sistema Alligator + Fibonacci
Sistema Alligator + FibonacciSistema Alligator + Fibonacci
Sistema Alligator + Fibonaccibuylink
 
Fibonacci fan line: guida trading
Fibonacci fan line: guida tradingFibonacci fan line: guida trading
Fibonacci fan line: guida tradingbuylink
 
Spread trading & correlazioni indici e forex
Spread trading & correlazioni indici e forexSpread trading & correlazioni indici e forex
Spread trading & correlazioni indici e forexbuylink
 

En vedette (10)

Rimini 2014 spread trading quantitativo
Rimini 2014   spread trading quantitativoRimini 2014   spread trading quantitativo
Rimini 2014 spread trading quantitativo
 
Spread trading intraday forex
Spread trading intraday forexSpread trading intraday forex
Spread trading intraday forex
 
Simare la volatilità dalle serie storiche
Simare la volatilità dalle serie storicheSimare la volatilità dalle serie storiche
Simare la volatilità dalle serie storiche
 
Multiple Spread Trading
Multiple Spread TradingMultiple Spread Trading
Multiple Spread Trading
 
Lezione 3 metodo monte carlo
Lezione 3   metodo monte carloLezione 3   metodo monte carlo
Lezione 3 metodo monte carlo
 
Lezione 2 alberi e differenze finite
Lezione 2   alberi e differenze finiteLezione 2   alberi e differenze finite
Lezione 2 alberi e differenze finite
 
Arco di Constantino
Arco di ConstantinoArco di Constantino
Arco di Constantino
 
Sistema Alligator + Fibonacci
Sistema Alligator + FibonacciSistema Alligator + Fibonacci
Sistema Alligator + Fibonacci
 
Fibonacci fan line: guida trading
Fibonacci fan line: guida tradingFibonacci fan line: guida trading
Fibonacci fan line: guida trading
 
Spread trading & correlazioni indici e forex
Spread trading & correlazioni indici e forexSpread trading & correlazioni indici e forex
Spread trading & correlazioni indici e forex
 

Similaire à Corso isvap matlab per traders quantitativi

Progetto MIPS/SPIM AA 2010-2011
Progetto MIPS/SPIM AA 2010-2011Progetto MIPS/SPIM AA 2010-2011
Progetto MIPS/SPIM AA 2010-2011Nicola Paoletti
 
Testimonianza di Matteo Pozzi mathematics at work
Testimonianza di Matteo Pozzi mathematics at workTestimonianza di Matteo Pozzi mathematics at work
Testimonianza di Matteo Pozzi mathematics at worklaboratoridalbasso
 
Introduzione al coding
Introduzione al codingIntroduzione al coding
Introduzione al codingPaolo Righetto
 
Coding, pattern e pensiero computazionale
Coding, pattern e pensiero computazionaleCoding, pattern e pensiero computazionale
Coding, pattern e pensiero computazionaleAlessandri Giuseppe
 
Focus Group Open Source 28.4.2010 Roberto Di Mambro
Focus Group Open Source 28.4.2010 Roberto Di MambroFocus Group Open Source 28.4.2010 Roberto Di Mambro
Focus Group Open Source 28.4.2010 Roberto Di MambroRoberto Galoppini
 
Modelli e algoritmi per l'ottimizzazione di layout fieristici
Modelli e algoritmi per l'ottimizzazione di layout fieristiciModelli e algoritmi per l'ottimizzazione di layout fieristici
Modelli e algoritmi per l'ottimizzazione di layout fieristiciguest717cf
 
Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3Ivano Luberti
 
Capital budgeting la programmazione a lungo termine - Scheda corso LEN
Capital budgeting la programmazione a lungo termine - Scheda corso LENCapital budgeting la programmazione a lungo termine - Scheda corso LEN
Capital budgeting la programmazione a lungo termine - Scheda corso LENLEN Learning Education Network
 
QUANDO IL METODO È IMPORTANTE PER UN RISULTATO SICURO: IL PROGETTO DEL MAGAZZINO
QUANDO IL METODO È IMPORTANTE PER UN RISULTATO SICURO: IL PROGETTO DEL MAGAZZINOQUANDO IL METODO È IMPORTANTE PER UN RISULTATO SICURO: IL PROGETTO DEL MAGAZZINO
QUANDO IL METODO È IMPORTANTE PER UN RISULTATO SICURO: IL PROGETTO DEL MAGAZZINOlogisticaefficiente
 
LA SIMULAZIONE DINAMICA NELLA PROGETTAZIONE INTRA-LOGISTICA
LA SIMULAZIONE DINAMICA NELLA PROGETTAZIONE INTRA-LOGISTICALA SIMULAZIONE DINAMICA NELLA PROGETTAZIONE INTRA-LOGISTICA
LA SIMULAZIONE DINAMICA NELLA PROGETTAZIONE INTRA-LOGISTICAlogisticaefficiente
 
Blockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanzaBlockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanzaAlessandro Greppi
 
Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...
Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...
Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...MarziaPaschini
 
Ms project 2003 Skill Office Automation - Scheda corso LEN
Ms project 2003 Skill Office Automation - Scheda corso LENMs project 2003 Skill Office Automation - Scheda corso LEN
Ms project 2003 Skill Office Automation - Scheda corso LENLEN Learning Education Network
 
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010Stefano Bragaglia
 
LabTECH 2018 - Cultura Tecnica Passione tecnologica
LabTECH 2018 - Cultura Tecnica Passione tecnologicaLabTECH 2018 - Cultura Tecnica Passione tecnologica
LabTECH 2018 - Cultura Tecnica Passione tecnologicaFondazione Aldini Valeriani
 

Similaire à Corso isvap matlab per traders quantitativi (20)

Progetto MIPS/SPIM AA 2010-2011
Progetto MIPS/SPIM AA 2010-2011Progetto MIPS/SPIM AA 2010-2011
Progetto MIPS/SPIM AA 2010-2011
 
Testimonianza di Matteo Pozzi mathematics at work
Testimonianza di Matteo Pozzi mathematics at workTestimonianza di Matteo Pozzi mathematics at work
Testimonianza di Matteo Pozzi mathematics at work
 
Introduzione al coding
Introduzione al codingIntroduzione al coding
Introduzione al coding
 
Coding, pattern e pensiero computazionale
Coding, pattern e pensiero computazionaleCoding, pattern e pensiero computazionale
Coding, pattern e pensiero computazionale
 
Il business plan
Il business planIl business plan
Il business plan
 
Focus Group Open Source 28.4.2010 Roberto Di Mambro
Focus Group Open Source 28.4.2010 Roberto Di MambroFocus Group Open Source 28.4.2010 Roberto Di Mambro
Focus Group Open Source 28.4.2010 Roberto Di Mambro
 
Modelli e algoritmi per l'ottimizzazione di layout fieristici
Modelli e algoritmi per l'ottimizzazione di layout fieristiciModelli e algoritmi per l'ottimizzazione di layout fieristici
Modelli e algoritmi per l'ottimizzazione di layout fieristici
 
Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3
 
Capital budgeting la programmazione a lungo termine - Scheda corso LEN
Capital budgeting la programmazione a lungo termine - Scheda corso LENCapital budgeting la programmazione a lungo termine - Scheda corso LEN
Capital budgeting la programmazione a lungo termine - Scheda corso LEN
 
QUANDO IL METODO È IMPORTANTE PER UN RISULTATO SICURO: IL PROGETTO DEL MAGAZZINO
QUANDO IL METODO È IMPORTANTE PER UN RISULTATO SICURO: IL PROGETTO DEL MAGAZZINOQUANDO IL METODO È IMPORTANTE PER UN RISULTATO SICURO: IL PROGETTO DEL MAGAZZINO
QUANDO IL METODO È IMPORTANTE PER UN RISULTATO SICURO: IL PROGETTO DEL MAGAZZINO
 
LA SIMULAZIONE DINAMICA NELLA PROGETTAZIONE INTRA-LOGISTICA
LA SIMULAZIONE DINAMICA NELLA PROGETTAZIONE INTRA-LOGISTICALA SIMULAZIONE DINAMICA NELLA PROGETTAZIONE INTRA-LOGISTICA
LA SIMULAZIONE DINAMICA NELLA PROGETTAZIONE INTRA-LOGISTICA
 
Blockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanzaBlockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanza
 
DEXT che cos'è un modello
DEXT  che cos'è un modelloDEXT  che cos'è un modello
DEXT che cos'è un modello
 
Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...
Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...
Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...
 
Progetto Euridice
Progetto EuridiceProgetto Euridice
Progetto Euridice
 
Reengineering agile
Reengineering agileReengineering agile
Reengineering agile
 
Ms project 2003 Skill Office Automation - Scheda corso LEN
Ms project 2003 Skill Office Automation - Scheda corso LENMs project 2003 Skill Office Automation - Scheda corso LEN
Ms project 2003 Skill Office Automation - Scheda corso LEN
 
Axes/1
Axes/1Axes/1
Axes/1
 
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010
 
LabTECH 2018 - Cultura Tecnica Passione tecnologica
LabTECH 2018 - Cultura Tecnica Passione tecnologicaLabTECH 2018 - Cultura Tecnica Passione tecnologica
LabTECH 2018 - Cultura Tecnica Passione tecnologica
 

Corso isvap matlab per traders quantitativi

  • 1. Matlab Financial and Optimization Toolbox Genova 17 – 18 ottobre 2013 Luigi Piva 1
  • 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
  • 77. Financial Toolbox : Black-Scholes in Matlab: Plottare le Sensitivities di un’opzione: 77
  • 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
  • 83. Financial Toolbox : Il modello Black (1976) Le Greche per una Call: 83
  • 84. Financial Toolbox : Il modello Black (1976) Le Greche per una Put: 84
  • 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
  • 139. Financial Toolbox : Analisi delle Serie Storiche Multivariate Cointegrazione: 139
  • 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
  • 156. PROBLEMI DI OTTIMIZZAZIONE Classificazione : ESEMPIO: Qui sotto il grafico prodotto, da cui è chiaro che vi sono due minimi locali : 156
  • 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
  • 169. Analizzare Portafogli Esempio di Frontiera Efficiente 169
  • 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
  • 171. Analizzare Portafogli Esempio di Frontiera Efficiente 171
  • 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
  • 174. Analizzare Portafogli Selezione di Portafoglio e Avversione al Rischio 174
  • 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
  • 180. Analizzare Portafogli Esempio di Portafoglio rischioso 180
  • 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