1. Giovanni Della Lunga
Università degli Studi di Bologna
Introduzione al Metodo Monte Carlo
Concetti di Base e Applicazioni Finanziarie
2. Introduzione
Generatori di Numeri Casuali
Sequenze a Bassa Discrepanza (Quasi Monte Carlo)
Misure di co-dipendenza: correlazione e copule
Metodi di Riduzione della Varianza
Applicazioni al Pricing di Attività Finanziarie
Applicazioni alla stima del Value-at-Risk
3. Definizioni
Da un punto di vista del tutto generale con il
termine Monte Carlo si intende una tecnica
numerica che faccia uso di numeri casuali per
risolvere un problema.
il
metodo
Monte
Carlo
consiste
nel
rappresentare la soluzione di un problema come
parametro di un’ipotetica popolazione ed usare
una sequenza di numeri casuali per costruire un
campione della popolazione dal quale possano
essere estratte stime statistiche del parametro.
4. Problemi risolubili col
Metodo Monte Carlo
A. Problemi di natura intrinsecamente probabilistica in cui sono
coinvolti fenomeni legati alla fluttuazione stocastica di variabili
aleatorie. Due problemi tipici che rientrano in questa categoria
sono il pricing di un’opzione e la stima del VaR di un portafoglio.
B. Problemi di natura essenzialmente deterministica, del tutto
privi cioè di componenti aleatorie, ma la cui strategia di
soluzione può essere riformulata in modo tale da risultare
equivalente alla determinazione del valore di aspettazione di
una funzione di variabili stocastiche.
5. Simulazione Monte Carlo e Integrazione
Un’estrazione da un campione di numeri casuali può essere
utilizzata come stimatore di un integrale
1
I = ∫ f ( x)dx
0
Questa espressione può essere interpretata come il
valore di aspettazione della funzione f di una variabile
aleatoria a valori uniformemente distribuiti nell’intervallo
[0, 1]
6. Simulazione Monte Carlo e Integrazione
Diventa così possibile stimare il valore del nostro integrale tramite una
media aritmetica di n valori di f(xi) dove ciascun xi rappresenta un campione
estratto da una distribuzione uniforme in [0, 1]. In altre parole possiamo
affermare che la quantità
~ 1
In =
n
n
∑ f (x )
i
i =1
♦ rappresenta uno stimatore non distorto di I. La varianza di questa stima
risulta pari a:
σ2
1 n
1
n
1
~
2
var( I n ) = var ∑ f ( xi ) = 2 var ∑ f ( xi ) = ∫ [ f ( x) − I ] dx =
n
n i =1
n
i =1
n0
1
7. Simulazione Monte Carlo e Integrazione
l’errore quadratico medio dello stimatore, che può essere interpretato come
l’errore quadratico medio della simulazione Monte Carlo, decresce
all’aumentare di n come
1/ n
Questo risultato risulta del tutto indipendente dalla dimensione del
problema.
E’ proprio quest’ultima caratteristica che rende attraente il metodo Monte
Carlo per la risoluzione di problemi con un numero elevato di dimensioni. In
questo caso tipicamente il metodo Monte Carlo risulta convergere verso il
valore finale più velocemente dei metodi numerici tradizionali in cui il
numero di iterazioni per raggiungere un’approssimazione prefissata cresce
con l’aumentare del numero di dimensioni.
8. Pricing di strumenti derivati
Il pricing di un’opzione è affrontato usualmente nel contesto della cosiddetta
valutazione neutrale rispetto al rischio. Indicando con f T il valore dell’opzione
stessa alla scadenza T, il valore ad oggi, f, sarà dato da
(
ˆ
f = E fT e
− r T
)
(1)
essendo Ê il valore di aspettazione risk-neutral ed <r> il valore medio fra t = 0 e
t = T del tasso privo di rischio. Qualora si assuma di conoscere con certezza il
valore di <r> il problema può essere semplificato e la (1) diventa
f =e
− r T
ˆ
E [ fT ]
(2)
9. Pricing di strumenti derivati
La formulazione del problema rende evidente la sua natura intrinsecamente
probabilistica.
L’applicazione del metodo Monte Carlo nel caso in esame si riduce essenzialmente
alla generazione di un numero sufficientemente elevato di stime di f T da cui
estrarre il valore medio.
A tal fine è necessario innanzi tutto introdurre un’ipotesi sul modo in cui il prezzo
del titolo sottostante si evolve nel tempo;
Un’assunzione abbastanza comune è che il prezzo dell’azione segua un moto
geometrico browniano. Secondo questa ipotesi il tasso di variazione del prezzo
in un intervallo di tempo infinitesimo è descritto da
dS = µSdt + σSdz
(3)
dove m è il tasso di rendimento atteso e s è la volatilità del prezzo dell’azione.
10. Pricing di strumenti derivati
La simulazione viene condotta dividendo l’intervallo di
vita del derivato in N intervalli ciascuno di ampiezza ∆t.
Si può dimostrare che la versione discreta della
precednte equazione è data da
∆S = µS∆t + σSε (4)t
∆
dove ∆S è la variazione di prezzo nell’intervallo ∆t ed e è
un numero casuale estratto da una distribuzione normale
11. Pricing di strumenti derivati
A questo punto siamo in grado di calcolare i valori assunti da ∆S (e quindi da S)
agli istanti 0, ∆t, 2 ∆t, ….fino alla scadenza T.
Si noti che il processo di simulazione richiede la generazione di N numeri casuali
indipendenti normalmente distribuiti.
Una volta simulato il valore del titolo sottostante al tempo T siamo in grado di
ricavare il valore dell’opzione alla stessa data. Supponendo che l’opzione sia di
tipo call avremo semplicemente
fT = max(ST − K ,0)
essendo K lo strike price. Ripetendo la procedura appena descritta un numero
molto elevato di volte siamo in grado di ottenere una distribuzione di valori per f T
dalla quale è possibile estrarre il valore di aspettazione.
12. Pricing Strumenti Derivati
dS = µSdt + σSdt
Lemma di Ito
Lemma di Ito
σ2
dt + σdz
d ln( S ) = µ −
2
2
S
σ
∆t + σz ∆t
∆ ln( S ) = ln(S ) − ln(S0 ) = ln
= µ −
S0
2
13. Pricing Strumenti Derivati
Dall’ultima equazione
2
S
σ
∆t + σz ∆t
ln
= µ −
S0
2
ricaviamo direttamente
σ2
∆t + σz ∆t
S = S0 exp µ −
2
questa è l’espressione che utilizzeremo nel programma VBA
15. Introduzione
Generatori di Numeri Casuali
Sequenze a Bassa Discrepanza (Quasi Monte Carlo)
Misure di co-dipendenza: correlazione e copule
Metodi di Riduzione della Varianza
Applicazioni al Pricing di Attività Finanziarie
Applicazioni alla stima del Value-at-Risk
16. Tre tipologie di numeri “casuali”
I generatori di numeri casuali che possono essere utilizzati nel metodo Monte
Carlo appartengono a tre categorie generali classificate in accordo alla natura dei
numeri prodotti:
Numeri veramente casuali (truly random numbers)
sono numeri la cui sequenza è assolutamente impredicibile (anche in via teorica) e
devono essere prodotti sfruttando opportuni fenomeni fisici di cui è nota l’intrinseca
aleatorietà (es. decadimento radioattivo di un nucleo atomico). Esistono serie di numeri
di questo tipo registrate su nastri o pubblicate su appositi manuali.
Numeri pseudo casuali (pseudorandom numbers)
sono numeri prodotti da un computer per mezzo di un algoritmo. Ovviamente essendo
generati da un processo di calcolo deterministico essi non sono numeri veramente
casuali in quanto la sequenza può essere predeterminata. Tuttavia è possibile simulare
in maniera efficiente una sequenza di numeri che appaia del tutto casuale a chiunque
non conosca l’algoritmo usato per generarla.
Numeri quasi casuali (quasirandom numbers)
si tratta di numeri prodotti anch’essi da un algoritmo numerico, tuttavia in questo caso
non si cerca di riprodurre una sequenza aleatoria bensì di disporre di una serie di numeri
distribuiti nella maniera più uniforme possibile al fine di ridurre la varianza dei risultati
delle integrazioni Monte Carlo.
18. Esistono numeri casuali ?
Come può un elaboratore, macchina totalmente
deterministica, generare numeri casuali e quindi per
loro natura non deterministici?
La risposta è molto semplice: non può!
I numeri sono generati per mezzo di qualche algoritmo
per cui non si può parlare di casualità essendo la
sequenza predeterminata;
In compenso con un computer si possono generare
sequenze di numeri che sembrino aleatorie
http://random.mat.sbg.ac.at/links/rando.html
19. Generatori di Numeri Pseudocasuali
Virtualmente tutti i generatori di numeri pseudo casuali impiegati in
pratica sono basati sul generatore lineare congruente
J i = ( aJ i −1 + c ) mod m
I parametri a, c ed m determinano la qualità del generatore. a viene
detto moltiplicatore, c incremento ed m è il cosiddetto modulo.
Il generatore appena visto genera numeri interi compresi fra 0 ed m.
Usualmente si utilizzano generatori di numeri casuali uniformemente
distribuiti fra 0 ed 1, per questo è sufficiente scegliere
Ui = Ji / m
20. Generatore Lineare Congruente
Vantaggi
E’ molto veloce richiedendo pochissime operazioni per chiamata,
questo lo rende di uso universale;
Svantaggi
Il più grosso svantaggio è rappresentato dalla presenza di
correlazione sequenziale;
La sequenza di numeri casuali si ripeterà dopo un ciclo che, al
più, potrà essere di lunghezza m.
Può produrre risultati inaspettati quando viene usato per la
generazione di distribuzioni non uniformi.
21. Generatore Lineare Congruente
Se si generano n coppie di numeri casuali e si
associano ad esse n punti in un piano, i punti non
si distribuiscono uniformemente ma tendono ad
allinearsi lungo segmenti di retta.
1
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
0
0
0
0.2
0.2
0.4
0.4
0.6
0.6
0.8
0.8
1
1
22. Generatore Lineare Congruente
La correlazione sequenziale può essere
facilmente
rimossa
con
tecniche
di
mescolamento (“shuffling”);
Il numero prodotto allo step j non costituisce
l’output j-esimo ma viene utilizzato per
l’output ad uno step successivo scelto in
maniera casuale;
23. Generazione di distribuzioni Uniformi
Microsoft Excel
La funzione Rnd() restituisce un valore numerico di tipo Single che contiene un
numero casuale.
La sintassi è la seguente:
Rnd[(num)]
L'argomento facoltativo num può essere un valore Single o una qualsiasi
espressione numerica valida.
I valori restituiti dalla funzione dipendono dal valore passato come argomento.
Per ogni base iniziale specificata, viene generata la stessa sequenza di numeri, in quanto ogni
successiva chiamata alla funzione Rnd() utilizza il numero casuale precedente come base per
il numero successivo nella sequenza. In particolare
se il parametro num è minore di zero Rnd() genera sempre lo stesso numero, utilizzando num come
base;
se num è maggiore di zero viene restituito il successivo numero casuale nella sequenza;
se num è uguale a zero viene restituito il numero generato per ultimo;
infine se il parametro in input viene omesso, Rnd() restituirà il successivo numero casuale nella
sequenza.
24. Generazione di distribuzioni Uniformi
Microsoft Excel
Prima di richiamare Rnd(), è consigliabile utilizzare l'istruzione Randomize senza
argomento per inizializzare il generatore di numeri casuali con una base connessa al timer
del sistema con la seguente sintassi
Randomize[(numero)]
Randomize utilizza il parametro numero per inizializzare il generatore di numeri casuali
della funzione Rnd() assegnandogli un nuovo valore base. Se numero viene omesso, il
valore restituito dal timer di sistema verrà utilizzato come nuova base.
Ricordate che la funzione Rnd() restituisce un valore minore di 1 ma maggiore o uguale a
zero. Per generare interi casuali in un dato intervallo, utilizzare la seguente formula:
Int((limitesup - limiteinf + 1) * Rnd + limiteinf)
dove limitesup indica il numero maggiore presente nell'intervallo, mentre limiteinf
indica il numero minore.
25. Generazione di distribuzioni Uniformi
Microsoft Excel
L’implementazione della funzione Rnd() dipende dalla particolare versione di
Excel
In Excel 97 (e fino ad XL 2002) la funzione Rnd() è implementata come
random_number=fractional part of (9821 * r + 0.211327), dove r = .5
per il primo numero
random_number=fractional part of (9821 * r + 0.211327), dove r = precedente
numero casuale
per i successivi
(fonte: Microsoft Knowledge Base Articolo 86523)
Microsoft affermava che tale algoritmo è in grado di generare oltre un milione di
numeri casuali. Successivamente ha riconosciuto che tale algoritmo non soddisfa i test
statistici più sofisticati.
Per questo nella versione XL 2003 tale algoritmo è stato sostituito.
26. Generazione di distribuzioni Uniformi
Microsoft Excel
Microsoft Knowledge Base #828795
The RAND function in earlier versions of Excel used a pseudo-random number generation
algorithm whose performance on standard tests of randomness was not sufficient (...) the pseudorandom number generation algorithm that is described here was implemented for Excel 2003. It
passes the same battery of standard tests.
The battery of tests is named Diehard (see note 1). The algorithm that is implemented in Excel
2003 was developed by B.A. Wichman and I.D. Hill (see note 2 and note 3). (...) It has been shown
by Rotz et al (see note 4) to pass the DIEHARD tests and additional tests developed by the
National Institute of Standards and Technology (NIST, formerly National Bureau of Standards).
Notes
The tests were developed by Professor George Marsaglia, Department of Statistics, Florida State
University and are available at the following Web site:
http://www.csis.hku.hk/~diehard
Wichman, B.A. and I.D. Hill, Algorithm AS 183: An Efficient and Portable Pseudo-Random Number
Generator, Applied Statistics, 31, 188-190, 1982.
Wichman, B.A. and I.D. Hill, Building a Random-Number Generator, BYTE, pp. 127-128, March
1987.
Rotz, W. and E. Falk, D. Wood, and J. Mulrow, A Comparison of Random Number Generators
Used in Business, presented at Joint Statistical Meetings, Atlanta, GA, 2001.
27. Generazione di distribuzioni Uniformi
Microsoft Excel
The basic idea is to generate three streams of random numbers (in columns headed "ix", "iy", and
"iz") by a common technique and then to use the result that if you take three random numbers on
[0,1] and sum them, the fractional part of the sum is itself a random number on [0,1]. The critical
statements in the Fortran code listing from the original Wichman and Hill article are:
C
IX, IY, IZ SHOULD BE SET TO INTEGER VALUES BETWEEN 1 AND 30000
C
BEFORE FIRST ENTRY
IX = MOD(171 * IX, 30269)
IY = MOD(172 * IY, 30307)
IZ = MOD(170 * IZ, 30323)
RANDOM = AMOD(FLOAT(IX) / 30269.0 + FLOAT(IY) / 30307.0 + FLOAT(IZ) / 30323.0, 1.0)
Therefore IX, IY, IZ generate integers between 0 and 30268, 0 and 30306, and 0 and 30322
respectively.
These are combined in the last statement to implement the simple principle that was expressed
earlier: if you take three random numbers on [0,1] and sum them, the fractional part of the sum is
itself a random number on [0,1].
Because RAND produces pseudo-random numbers, if a long sequence of them is produced,
eventually the sequence will repeat itself. Combining random numbers as in the Wichman-Hill
procedure guarantees that more than 10^13 numbers will be generated before the repetition
begins. Several of the Diehard tests produced unsatisfactory results with earlier versions of RAND
because the cycle before numbers started repeating was unacceptably short.
28. Generazione di distribuzioni Uniformi
Microsoft Excel
Results in Earlier Versions of Excel
The RAND function in earlier versions of Excel was fine in practice for users who did not require a lengthy sequence
of random numbers (such as a million). It failed several standard tests of randomness, making its performance an
issue when a lengthy sequence of random numbers was needed.
Results in Excel 2003
A simple and effective algorithm has been implemented. The new generator passes all standard tests of
randomness (?????).
The RAND function returns negative numbers in Excel 2003
SYMPTOMS
When you use the RAND function in Microsoft Office Excel 2003, the RAND function may return negative numbers.
CAUSE
This problem may occur when you try to use a large number of random numbers, and you update the RAND function multiple times.
For example, this problem may occur when you update your Excel worksheet by pressing F9 ten times or more.
RESOLUTION
How to obtain the hotfix
This issue is fixed in the Excel 2003 Hotfix Package that is dated January 12, 2004. For additional information, click the following
article number to view the article in the Microsoft Knowledge Base:
833618 Excel 2003 hotfix package released January 12, 2004
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section of this article.
29. Generatori di Numeri Pseudocasuali
Ran0, Ran1, Ran2 e Ran3
Press, Teulolsky, Vetterling e Flannery
“Numerical Recipes” Cambridge University Press
Ran0
Generatore “minimale” basato sulla relazione
I j +1 = aI j mod m
a = 7 5 = 16807
m = 2 31 − 1 = 2147483647
(Park, S.K. and Miller, K.W., 1988, Comunication of the ACM, Vol. 31, pp. 1192)
30. Generatori di Numeri Pseudocasuali
Run0
vantaggi
facilità di implementazione; l’intero codice ammonta ad una
decina di righe di codice C;
implementa l’algoritmo di Schrage per il calcolo del modulo
quindi non produce overflow su macchine a 32 bit;
periodo sufficientemente elevato per molte applicazioni
2 − 1 ≈ 2.1 ⋅ 10
31
svantaggi
presenza di correlazione seriale
9
31. Generatori di Numeri Pseudocasuali
Run1
Implementa una
procedura di shuffling per
rimuovere la correlazione
seriale di Run0
33. Generatori di Numeri Pseudocasuali:
Mersenne Twister
Un eccellente generatore di numeri casuali per scopi di
simulazione (Makoto Matsumoto e Takuji Nishimura ).
Il Mersenne twister è
veloce,
ha periodo estremamente lungo (219937-1) ,
ha eccellenti proprietà dimostrate matematicamente,
passa tutti i test conosciuti di casualità (non per scopi
crittografici).
L'implementazione C ha velocità paragonabile a quella del
terribile rand(), e qualità neanche lontanamente paragonabile
Una versione gratuita per Excel
http://www.numtech.com/NtRand/
34. Generazione di Numeri Casuali
Generazione di Numeri con Funzione
di Distribuzione Assegnata
35. Generazione di distribuzioni non
uniformi univariate
Da un generatore di numeri distribuiti
uniformemente si possono ricavare numeri
distribuiti secondo una densità di
probabilità prefissata. I due metodi più
importanti sono
Transformation Method;
Rejection Method.
36. Metodo della trasformazione inversa
SCOPO: generare un campione di numeri Z distribuiti in accordo
ad una funzione di distribuzione assegnata F(z).
INPUT: deve essere possibile valutare la funzione inversa di F(z).
OUTPUT: Z.
METODO: Generare un set di numeri casuali U uniformemente
distribuiti fra 0 ed 1 e per ciascuno di questi calcolare Z = F -1(U)
37. Metodo della trasformazione inversa
Sia x una variabile aleatoria distribuita uniformemente fra 0 e 1,
supponiamo di voler generare una variabile aleatoria con densità
di probabilità g(y) essendo y=y(x). Dovremo avere
dx
g ( y )dy = dx ⇒ g ( y ) =
dy
x = F ( y) =
La soluzione di questa equazione differenziale è
y
∫ f ( z )dz ⇒
−∞
⇒ y = F −1 ( x)
38. Variabili Normali Univariate
Microsoft Excel
INV.NORM(). Restituisce l'inversa della distribuzione normale cumulativa per la
media e la deviazione standard specificate. La sintassi é
INV.NORM(probabilità;media;dev_standard)
dove
probabilità è la probabilità corrispondente alla distribuzione normale, media è la
media aritmetica della distribuzione,
dev_standard è la deviazione standard della distribuzione.
INV.NORM utilizza una tecnica iterativa per il calcolo della funzione. Dato un
valore di probabilità, INV.NORM applica il metodo delle iterazioni fino a quando
la precisione del risultato non rientra in ± 3x10^-7. Se il risultato di INV.NORM
non converge dopo 100 iterazioni, la funzione restituirà il valore di errore #N/D.
39. Distribuzioni Parametriche
Uno dei problemi più complessi nell’analisi statistica dei dati è
senz’altro quello del del fitting di una distribuzione teorica su un
insieme di dati estratti da una distribuzione empirica.
E’ necessario disporre di funzioni flessibili in grado di adattarsi al
maggior numero di dati possibile
Es. Distribuzione Lambda Generalizzata
[p λ − (1 − p) λ ]
R(p) = λ1 +
λ2
3
♦
4
dove λ1 è un parametro di localizzazione, λ2 un parametro di scala, λ3 e λ4 sono parametri di
forma della distribuzione. Questi parametri sono legati ai parametri di media, deviazione
standard, asimmetria e curtosi della distribuzione empirica dei dati di partenza. Al variare di
questi parametri si riesce ad ottenere un’enorme varietà di distribuzioni univariate in grado di
approssimare una distribuzione empirica di dati.
40. Distribuzioni Parametriche
La descrizione basata sui percentili risulta particolarmente
interessante dal punto di vista della simulazione Monte Carlo
perché i percentili di una distribuzione continua sono
uniformemente distribuiti fra 0 ed 1.
Questo significa che se indichiamo con u l’argomento della
funzione percentile, R, possiamo generare n valori da una
distribuzione uniforme in [0, 1] effettuare la trasformazione x =
R(u) ed ottenere così una serie di valori per la variabile
aleatoria x che risulta essere distribuita in modo tale da avere
R come funzione dei percentili.
41. Generazione di Numeri Casuali
Un cenno ai Test Statistici per
Generatori di Numeri Casuali
42. Test sui generatori di numeri casuali
Esistono moltissimi test statistici che possono
essere utilizzati per controllare la qualità di un
generatore;
http://stat.fsu.edu/~geo/diehard.html
Vediamo un semplicissimo esempio di
applicazione del test di χ2 sul generatore
lineare congruente per due diversi insiemi di
parametri rimandando alla letteratura per una
descrizione completa delle varie tipologie di
test.
43. χ2 - test
Dato l’algoritmo lineare congruente sono noti diversi
insiemi di parametri che permettono di ottenere buoni
generatori di numeri casuali.
Ad esempio il generatore definito da
a = 1812433253
c dispari
m = 232
produce un buona distribuzione di punti su macchine a 32 bit.
Per eseguire un test su questo generatore possiamo impiegarlo per
produrre un numero elevato di valori (almeno 10000) raccolti in 100
intervalli equispaziati lungo il segmento [0,1]. Il numero attesto di valori
all’interno di ciascun intervallo è pari a 100.
44. χ2 - test
A questo punto calcoliamo il valore di χ2 e verifichiamo se il
generatore è accettabile utilizzando i valori riportati in Tabella
N
χ =∑
2
i =1
( Yi − Npi )
2
Npi
2
La tabella riporta, per ciascun valore dei gradi di libertà k, il valore χ1−α ,k per cui la
2
2
probabilità P χ < χ 1−α ,k è pari al valore della colonna corrispondente. Ad esempio
nella riga corrispondente a 10 gradi di libertà, sotto la colonna p = 95% troviamo il
valore 18.3; questo significa che con 10 gradi di libertà dovremmo trovare un valore
di χ2 superiore a 18.31 in media 5 volte su 100. Quando il numero di gradi di libertà
supera 30 possiamo usare una formula asintotica in funzione dei percentili xp riportati
per completezza nell’ultima riga della tabella.
(
)
46. χ2 - test
I criteri di accettazione sono
P(χ2) < 1% o P(χ2) > 99% ⇒ rigetto
1% < P(χ2) < 5% o 95% < P(χ2) < 99% ⇒ sospetto
5% < P(χ2) < 10% o 90% < P(χ2) < 95% ⇒ leggero
sospetto
Il criterio viene applicato ad almeno tre
serie prodotte dal generatore e il risultato
è definitivamente negativo se due serie su
tre danno risultato negativo.
48. Introduzione
Generatori di Numeri Casuali
Sequenze a Bassa Discrepanza (Quasi Monte Carlo)
Misure di co-dipendenza: correlazione e copule
Metodi di Riduzione della Varianza
Applicazioni al Pricing di Attività Finanziarie
Applicazioni alla stima del Value-at-Risk
49. Le sequenze a bassa discrepanza
L’idea che sta dietro a questo approccio è abbastanza intuitiva e può
essere facilmente spiegata almeno nel caso unidimensionale.
Supponiamo di voler integrare una funzione f(x) nell’intervallo [0, 1]
utilizzando una sequenza di n punti. Invece di scegliere una serie di
punti disposti a caso sul segmento unitario possiamo selezionare una
sequenza di punti distribuiti in maniera tale da garantire una certa
uniformità.
Possiamo vedere che con questa scelta l’accuratezza nella stima
dell’integrale è maggiore di quella che otterremo scegliendo i punti a
caso secondo l’approccio classico del metodo Monte Carlo.
In particolare se scegliessimo una serie di punti posti all’interno di una
griglia equispaziata riotteremo il classico metodo numerico di integrazione
tramite approssimazione trapezoidale il quale ha un errore che va come
l’inverso del quadrato del numero dei punti
50. Le sequenze a bassa discrepanza
La domanda che sorge spontanea a questo punto è perché non
usare sempre sequenze di punti equispaziati.
La risposta va ricercata nel comportamento dell’errore dovuto alla
discretizzazione quando affrontiamo l’integrazione di funzioni di più
variabili.
Come sappiamo la convergenza del metodo Monte Carlo non dipende
dal numero di dimensioni del dominio di integrazione.
I metodi numerici di integrazione come il metodo trapezzoidale, al
contrario, presentano la caratteristica di avere un errore che va
tipicamente come n-2/d per cui è sufficiente che la dimensione sia
superiore a 4 per dare un risultato peggiore di quello del Monte Carlo
classico.
Inoltre l’utilizzo di una griglia equispaziata di punti presenta
l’inconveniente che il numero di punti deve essere deciso in
anticipo e questo può essere in molti casi una inaccettabile
restrizione in quanto è più comodo disporre di procedure numeriche
in grado di arrestarsi quando la precisione di calcolo giunge
nell’intorno del valore desiderato.
51. Le sequenze a bassa discrepanza
La
caratteristica
più
importante
delle
sequenze
deterministiche che andremo ad introdurre è legata al fatto
che i punti che via via vengono introdotti tendono a disporsi il
più possibile all’interno degli spazi lasciati vuoti dagli altri
punti.
In questo modo successive generazioni di punti tenderanno a
riempire nella maniera più uniforme possibile il dominio di
spazio in esame.
Per definire in maniera precisa una misura del “riempimento
uniforme” di un volume di spazio occorre introdurre il
concetto di DISCREPANZA.
52. Le sequenze a bassa discrepanza
Generiamo N vettori {ri} in uno spazio a d dimensioni;
Ciascuno di questi vettori rappresenta un punto in uno spazio a
dimensioni le cui coordinate sono le singole componenti del vettore,
quindi ogni vettore individua un punto nell’ipercubo [0,1]d
Selezioniamo un sotto-ipercubo S(y) scegliendo un punto y che
individua lo spigolo superiore destro di un dominio iper-cubico da 0 ad
y;
In altre parole possiamo scrivere
S ( y ) = [0, y1 ) × × [0, yd )
53. Le sequenze a bassa discrepanza
Indichiamo con nS(y) il numero di punti che si trovano in S(y)
N
N
d
nS ( y ) = ∑1{ ri ∈S ( y )} = ∑∏1{ yk ≥ rik }
i =1
i =1 k =1
Nel limite in cui N tende all’infinito richiedere la perfetta omogenità del
generatore equivale a richiedere che
lim
N →∞
per tutti gli y in [0,1]d
nS ( y )
N
d
= ∏ yi
i =1
54. Le sequenze a bassa discrepanza
Infatti questo equivale ad affermare che per una distribuzione
perfettamente uniforme su un ipercubo, la probabilità di estrarre un
punto appartenente ad una sottoregione dell’ipercubo è pari al volume
di tale regione;
Per avere un’idea della discrepanza complessiva nella distribuzione
dei punti possiamo quindi comparare le due quantità
nS ( y )
N
per ogni y
e
V ( S ( y ))
55. Le sequenze a bassa discrepanza
Solitamente si sceglie la norma L∞ il che porta alla seguente definizione
di discrepanza
D
(d )
N
= sup
y∈[0 ,1]d
nS ( y )
N
d
− ∏ yk
k =1
Nel caso unidimensionale è facile calcolare una forma esplicita per la
discrepanza (star). Etichettiamo i punti della sequenza in modo tale da
avere
0 ≤ x1 ≤ x 2 ≤ ≤ x n ≤ 1
da
( 1)
n
D
la discrepanza della sequenza è quindi data
1
2k − 1
=
+ max xk −
2 n k =1,n
2n
56. Le sequenze a bassa discrepanza
nel caso di dimensioni maggiori non esiste in generale una formula
semplice per il calcolo della discrepanza
Possiamo a questo punto dare una definizione formale di sequenza a
bassa discrepanza:
Diremo che una sequenza in [0,1]d è a bassa
discrepanza se per tutti gli N > 1 i primi N punti della
sequenza soddisfano
D
(d )
N
( ln N )
≤ c(d )
d
N
dove c(d) è una costante che dipende solo da d.
57. La sequenza di Halton
La successione di Halton è ottenibile con la seguente
procedura
Al passo j scrivere j stesso in base b con b numero primo
j = d 0b + d1b + + d n b
0
1
n
Il numero casuale generato al passo j viene calcolato come
H j = d n b −1 + d n −1b −2 + + d 0b − n −1
58. La sequenza di Halton
In sostanza la procedura consiste nel capovolgere le cifre
dell’espansione in base b e porre un punto decimale di fronte a
quanto ottenuto.
Se sono necessari numeri casuali multidimensionali si può
procedere generando per ciascuna componente una sequenza di
Halton con radice b diversa. Solitamente si utilizzano in
successione i numeri primi (2, 3, 5, … )
Es. consideriamo b = 2
1 = 1 × 20 ⇒ H 1 = 1 × 2 −1 = 0.5
2 = 1 × 21 + 0 × 20 ⇒ H 2 = 0 × 2 −1 + 1 × 2 − 2 = 0.25
3 = 1 × 21 + 1 × 20 ⇒ H 3 = 1 × 2 −1 + 1 × 2 − 2 = 0.75
4 = 1 × 2 2 + 0 × 21 + 0 × 20 ⇒ H 4 = 0 × 2 −1 + 0 × 2 − 2 + 1 × 2 −3 = 0.125
59. La sequenza di Halton
I numeri via via generati tendono a riempire i
buchi lasciati dai precedenti numeri;
Quando vogliamo generare vettori in spazi a
più dimensioni, per evitare sovrapposizioni
nel riempimento dello spazio, è sufficiente
scegliere
come
base
numeri
incommensurabili;
Per questo solitamente per ogni dimensione
si sceglie un diverso numero primo.
60. La seguenza di Halton
Public Function Halton(n As Integer, _
x As Integer) As Double
' n è il numero da trasformare
' x è la base
' H è il numero generato dall'algoritmo
Dim
Dim
Dim
Dim
Dim
H As Double
z As Double
m As Integer
na As Integer
nb As Integer
H = 0
na = n
z = 1 / x
While (na > 0)
nb = Int(na / x)
m = na - nb * x
H = H + m * z
na = nb
z = z / x
Wend
Halton = H
End Function
1
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
0
0
0
0.2
0.2
0.4
0.4
0.6
0.6
0.8
0.8
1
1
61. Comportamento ad Alte Dimensionalità
La
figura
illustra
un
problema
tipico
delle
sequenze deterministiche.
Quando
si
eseguono
simulazioni su un numero
elevato di dimensioni si
scopre che le dimensioni
più alte tendono ad essere
estremamente correlate.
Questo
problema
non
affligge in maniera uguale
tutti
gli
algoritmi,
in
particolare le sequenze
generate con l’algoritmo di
Sobol tendono ad essere
più robuste, tuttavia in tutti i
casi si nota un progressivo
aumento della discrepanza
all’aumentare
delle
dimensioni.
1
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
0
0
0
0.1
0.1
0.2
0.2
0.3
0.3
0.4
0.4
0.5
0.5
0.6
0.6
0.7
0.7
0.8
0.8
0.9
0.9
1
1
63. Introduzione
Generatori di Numeri Casuali
Sequenze a Bassa Discrepanza (Quasi Monte Carlo)
Misure di co-dipendenza: correlazione e copule
Metodi di Riduzione della Varianza
Applicazioni al Pricing di Attività Finanziarie
Applicazioni alla stima del Value-at-Risk
64. Misure di co-dipendenza
Distribuzioni Marginali
Data la distribuzione congiunta di due variabili x ed y la funzione di densità
marginale di x è definita come
ψ x ( x) =
ψ ( x, y )dy
∫
D( y)
E, analogamente,
ψ y ( y) =
∫ψ ( x, y)dx
D( x)
65. Misure di co-dipendenza
Indipendenza
Due variabili x ed y si dicono indipendenti se la loro
funzione densità congiunta si fattorizza nel prodotto
delle densità marginali
x, y
indipendenti ⇒ ψ ( x, y ) = ψ x ( x)ψ y ( y )
66. Misure di co-dipendenza
Correlazione Lineare
ρ x, y
Ricordiamo la definizione di correlazione lineare tra
due variabili x ed y
cov( x, y )
=
=
σ ( x)σ ( y )
=
∫ xyψ ( x, y)dxdy − ∫ xψ ( x)dx ∫ yψ ( y)dy
( x)dx − [ ∫ xψ ( x)dx ] ∫ y ψ ( y )dy − [ ∫ yψ
x
∫xψ
2
2
x
x
y
2
y
y
( y )dy
]
2
67. Misure di co-dipendenza
Correlazione Lineare
Spesso si ritiene che la conoscenza del coefficiente di correlazione
lineare unitamente alla specificazione delle distribuzioni marginali,
permetta di determinare la distribuzione di probabilità congiunta.
In realtà questo è vero solo per certe classi di distribuzioni tra cui la
distribuzione normale.
In generale quindi l’inferenza
ψ x ( x),ψ y ( y ), ρ x , y ⇒ ψ ( x, y )
Non è valida
68. Misure di co-dipendenza
Oltre l’indice di correlazione lineare
La correlazione lineare è un buona misura di co-dipendenza per
variabili normali. Per distribuzioni che non sia allontanano troppo
dalla “normalità” continua a fornire indicazioni utili ma
all’allontanarsi da queste condizioni (in molti casi soltanto ideali)
l’indice di correlazione lineare fornisce risultati sempre più
fuorvianti!
L’indice di correlazione lineare non è invariante rispetto a
trasformazioni non lineari delle variabili.
A differenza degli stimatori non-parametrici, l’indice di correlazione
lineare può non coprire l’intero range da – 1 a + 1, rendendo
problematica l’interpretazione del grado di dipendenza
69. Misure di co-dipendenza
Rho di Sperman
Questo indice è definito come coefficiente di correlazione lineare fra le funzioni
di distribuzione delle due variabili. In altre parole, date due variabili x ed y e le
loro distribuzioni marginali, calcoliamo prima di tutto le distribuzioni marginali
cumulate
x
Ψx ( x) := ∫ψ x (ξ )dξ
−∞
y
Ψy ( y ) := ∫ψ y (ξ )dξ
−∞
Utilizzando due semplici risultati…
1
1
∫ Ψx ( x)ψ x ( x)dx = ∫ udu = 2 ,
0
1
1
∫ Ψ x ( x)ψ x ( x)dx = ∫ u du = 3
0
2
2
70. Misure di co-dipendenza
Rho di Sperman
… possiamo scrivere
ρ S = 12 ∫∫ Ψx ( x)Ψy ( y )ψ ( x, y )dxdy − 3
Tau di Kendal
τ K = 4∫∫ Ψ ( x, y )ψ ( x, y )dxdy − 1
71. Misure di co-dipendenza
Il tau di Kendal e il Rho di Sperman appartengono alla
categoria delle cosiddette rank correlation ;
Sono
invarianti
per
un’ampia
trasformazione delle variabili;
Questo tipo di indicatori, a differenza del coefficiente
di correlazione lineare, ha la proprietà che date due
distribuzioni marginali esiste sempre una distribuzione
congiunta per ogni valore dell’indice compreso
nell’intervallo [-1, 1].
tipologia
di
73. Variabili Normali Multivariate
Cholescky Decomposition
Indichiamo con X un vettore di variabili aleatorie indipendenti ciascuna delle quali
distribuita secondo una normale standard, la matrice di varianza-covarianza di X
sarà pertanto data dalla matrice unità di dimensione n × n. Supponiamo di voler
derivare da questo insieme di variabili un secondo set di variabili, che
indicheremo con Y, non più indipendenti bensì dotato di matrice di varianzacovarianza assegnata Σ.
Il nuovo insieme di variabili aleatorie può essere ricercato come combinazione
lineare delle variabili indipendenti , cioè si pone
Y = AX
Il problema si riconduce così alla determinazione di una matrice A di dimensione
n× n tale che
AA = Σ
t
74. Variabili Normali Multivariate
Cholescky Decomposition
La soluzione della precedente equazione non è unica nel senso che esistono più
matrici A che, moltiplicate per la loro trasposta, danno come risultato Σ. Se la
matrice Σ è definita positiva il metodo più efficiente dal punto di vista
computazionale per risolvere il problema consiste nell’applicazione della
scomposizione di Cholescky.
Il punto chiave di tale metodologia consiste nel ricercare A nella forma di una
matrice triangolare inferiore, ovvero una matrice in cui tutti gli elementi sopra la
diagonale sono nulli,
A11
A21
A=
A
n1
Ann
0
A22
An 2
0
0
75. Variabili Normali Multivariate
Cholescky Decomposition
Sviluppando il prodotto AAt in componenti è facile verificare che gli
elementi di A sono ricavabili dalle seguenti formule iterative
i −1
2
aii = σ ii − ∑ aik
k =1
i −1
1
a ji = σ ij − ∑ aik a jk
aii
k =1
Ad esempio per il caso semplice di due variabili troviamo
0
σ1
A=
σ ρ σ 1 − ρ 2
2
2
76. Il Condizionamento della
Matrice di Varianza e Covarianza
Può accadere, specialmente quando si lavora con problemi ad elevata
dimensionalità, che la matrice di correlazione non risulti semi-definita positiva;
In tal caso almeno uno degli autovalori della matrice risulterà negativo.
Spesso questo fatto è riconducibile alle procedure che hanno portato alla
costruzione della matrice stessa;
ad esempio è sufficiente avere serie storiche di prezzi non perfettamente allineate o prezzi
registrati a tempi diversi per produrre quasi sicuramente una matrice di correlazione mal
definita.
In questi casi non è sempre possibile ricostruire la matrice stessa (si pensi al caso
limite in cui la matrice viene scaricata da un provider esterno come nel caso di
RiskMetrics) per cui è necessario disporre di metodi che possano rimuovere gli
autovalori negativi in modo che la matrice risulti definita positiva col minor impatto
possibile sui valori della matrice stessa.
77. Il Condizionamento della
Matrice di Varianza e Covarianza
Una procedura possibile è la seguente
Calcolare autovalori e autovettori della matrice di correlazione
Porre gli autovalori negativi uguali a zero;
Ricostruire la nuova matrice di correlazione;
L’ultimo passaggio è facilmente realizzabile a partire dalla matrice degli autovettori E e
dalla matrice (diagonale) degli autovalori Λ
C = EΛE
t
E’ molto probabile che la nuova matrice così ottenuta abbia elementi lungo la diagonale diversi da 1. Per questo è
necessario procedere ad una normalizzazione ponendo
C′ =
1
D
C
1
D
dove D1/2 è una matrice diagonale i cui elementi sono le radici quadrate degli elementi diagonali di C.
78. Modello a due fattori di Fong e Vasicek
dr = κ ( µ − r )dt + ν dz1
dν = γ (α −ν )dt + ξ ν dz1
Il modello risulta particolarmente interessante in quanto:
La distribuzione di probabilità del tasso di interesse non è normale;
La volatilità è stocastica;
La volatilità è correlata col livello del tasso di interesse (effetto GARCH)
Il modello non ha soluzione in forma chiusa;
Z1 e Z2 sono due processi di Wiener che presentano una correlazione
istantanea pari a ρ;
79. Modello a due fattori di Fong e Vasicek
Al fine di simulare il processo occorre prima di tutto trasformare la
rappresentazione nel tempo continuo fornita dalle equazioni
differenziali nella sua controparte nel tempo discreto.
Applicando lo schema di Eulero otteniamo:
rt − rt −1 = κ ( µ − rt −1 ) ∆t + ν t −1 ε 1 ∆t
ν t −ν t −1 = γ ( α −ν t −1 ) ∆t + ξ ν t −1 ε 2 ∆t
80. Modello a due fattori di Fong e Vasicek
Nella versione discretizzata del modello ε1 ed ε2 sono due numeri
casuali generati a partire da una distribuzione normale bivariata.
La decomposizione di Cholesky nel caso semplice di due sole
variabili si riduce alle seguenti formule
ε 1 = φ1
ε 2 = ρφ1 + 1 − ρ φ2
2
81. Modello a due fattori di Fong e Vasicek
L’esempio numerico
5 periodi temporali ciascuno pari ad un anno;
due ZCB che producono un cash flow di 1$ al
periodo 3 e al periodo 4;
un CAP che produce un flusso pari a max(100x(r50.06),0), dove r5 è il tasso a breve al periodo 5.
84. Funzioni di copula:
concetti base
Una funzione z = C(u,v) è detta copula se e solo se
1.
z, u e v sono in [0,1]
2.
C(0,v) = C(u,0) = 0, C(1,v) = v, C(u,1) = u
3.
C(u2, v2 ) – C(u1, v2 ) – C (u2, v1) – C (u1, v1) ≥ 0 per tutti i valori u2
> u1 e v2 > v1
Teorema di Sklar
Ogni distribuzione congiunta può essere scritta come una funzione
di copula che abbia le distribuzioni marginali come argomenti e
qualsiasi funzione di copula che abbia distribuzioni come
argomenti è una distribuzione congiunta
85. Funzioni di copula:
concetti base
Possiamo quindi scrivere
Ψ ( x, y ) = C ( Ψx ( x), Ψy ( y ) )
L’utilizzo delle funzioni di copula consente di specificare
separatamente le distribuzioni marginali delle variabili e la loro
struttura di dipendenza
Le funzioni di copula sono legate alle statistiche non-parametriche di
dipendenza, ad esempio il τ di Kendall o il ρ di Spearman.
86. Algoritmi per la modellazione della dipendenza
La copula gaussiana
L’algoritmo si riassume nei seguenti passi
generare un vettore di variabili normali con
correlazione assegnata;
Trasformare tali variabili in variabili con distribuzione
uniforme in [0, 1] utilizzando la funzione comulata
della normale;
Utilizzare queste variabili come base per generare il
vettore x, secondo il metodo della trasformazione
inversa utilizzando come funzioni di trasformazione
le inverse delle comulate marginali specificate in
input.
E’ importante ricordare che i coefficienti di
correlazione che controllano la copula gaussiana,
e che vengono utilizzati nell’algoritmo descritto a
lato, possono essere molto diversi dalla
correlazione lineare
87. Algoritmi per la modellazione della dipendenza
La copula t
Due variabili connesse
da una copula di tipo
gaussiano o di tipo t e
con
coefficiente
di
correlazione ρ hanno
un tau di Kendal pari
dato da
2
τ K = arcsin ρ
π
89. Introduzione
Generatori di Numeri Casuali
Sequenze a Bassa Discrepanza (Quasi Monte Carlo)
Misure di co-dipendenza: correlazione e copule
Metodi di Riduzione della Varianza
Applicazioni al Pricing di Attività Finanziarie
Applicazioni alla stima del Value-at-Risk
90. Un Problema di Efficienza
Immaginiamo di voler calcolare un certo parametro P (ad esempio il
prezzo di un’opzione) e di poter scegliere fra due diverse stime
ottenibili con il metodo Monte Carlo rappresentate dalle due serie di
valori ottenuti con il processo di simulazione
ˆ
P1i , i = 1,..., n
ˆ
P2i , i = 1,..., n
Supponiamo poi che entrambi gli stimatori siano corretti, cioè valga
[ ]
[ ]
ˆ
E P2 = P
ˆ
EP =P
1
ma con
σ1 < σ 2
91. Un Problema di Efficienza
Chiaramente sulla base di queste sole informazioni
saremmo portati a scegliere il primo stimatore in
quanto, a parità di numero di simulazioni, l’errore di
stima risulterà senz’altro minore.
Tuttavia, come accennavamo poco sopra, questa
conclusione rischia in realtà di non essere corretta
in quanto non tiene conto del fatto che i due
stimatori possono richiedere risorse computazionali
molto diverse fra loro;
in particolare generare n replicazioni di P1 potrebbe
richiedere molto più tempo che generare n
replicazioni di P2.
92. Un Problema di Efficienza
Un primo approccio al problema potrebbe essere quello di
introdurre esplicitamente nelle nostre considerazioni il tempo
di calcolo richiesto.
Supponiamo che il tempo richiesto per generare una singola
replicazione di Pj possa essere espresso da una costante che
indicheremo con bj, avendo a disposizione un tempo totale di
calcolo pari a t il numero di replicazioni di Pj che possiamo
generare sarà pari a t/bj.
I due stimatori possono pertanto essere riscritti introducendo
esplicitamente il tempo di calcolo nelle formule
b1 t / b1 ˆ 1
∑ Pi
t i =1
b2
t
t / b2
ˆi 2
∑P
i =1
93. Un Problema di Efficienza
Per valori sufficientemente alti di t queste due quantità sono normalmente
distribuite con media P e standard deviation
σ1
b1
t
σ2
b2
t
pertanto per grandi valori di t il primo stimatore sarà preferibile al secondo
se
σ b <σ b
2
1 1
2
2 2
l’inverso del prodotto della varianza per il tempo necessario ad eseguire un
singolo run viene indicato in letteratura col nome di efficienza (Hammersley
e Handscomb, 1964).
Usando l’efficienza come base per il confronto fra diversi stimatori possiamo
concludere che lo stimatore a bassa varianza è preferibile all’altro solo se il
rapporto delle varianza è più piccolo del rapporto fra i tempi di singola
replicazione.
94. Variabili Antitetiche
Uno dei metodi più semplici e più utilizzati in campo finanziario per
la riduzione della varianza è senz’altro il metodo delle variabili
antitetiche.
Consideriamo di nuovo la procedura classica di stima del prezzo di
un’opzione, per semplicità espositiva ci limiteremo ancora al
contesto del modello di Black e Scholes.
Se si adotta la tecnica della variabile antitetica, in ogni
simulazione si devono determinare due valori.
Il primo valore è quello calcolato nel modo consueto...
...mentre il secondo valore viene calcolato cambiando
segno a tutti i campioni estratti casualmente dalle
distribuzioni normali standardizzate.
95. Variabili Antitetiche
I due stimatori hanno chiaramente le stesse proprietà
statistiche essendo estratti dallo stesso campione (in
particolare hanno la stessa varianza).
Il valore campionario del derivato calcolato in ogni
simulazione è la media di questi due valori e la sua varianza è
data da
~
Ci + Ci 1
~
Var
= Var Ci + Ci
2 4
1
~
= Var ( Ci ) + Cov Ci , Ci
2
[
[
]
(
)]
96. Variabili Antitetiche
Pertanto se
avremo
.
Comunque occorre tenere presente che questa procedura richiede un numero di
simulazioni doppio rispetto al caso standard per cui è necessario ragionare in termini di
efficienza.
Se supponiamo che la generazione dei numeri casuali richieda un tempo trascurabile
rispetto al calcolo del prezzo allora possiamo affermare che il tempo impiegato
utilizzando le variabili antitetiche sia all’incirca doppio di quello richiesto nel caso
standard.
In questo caso il metodo delle variabili antitetiche è preferibile in termini di efficienza
rispetto al metodo standard se si verifica la condizione
97. Variabili Antitetiche
Questa condizione è equivalente a richiedere che
Verifichiamo se questa condizione è valida.
Indichiamo con ϕ la funzione definita dalla relazione
; supponiamo che ϕ sia
la composizione di due funzioni monotone, la prima è quella che lega il valore del
sottostante alla variabile aleatoria Z, la seconda è la funzione che calcola il payoff come
valore massimo fra 0 e la differenza fra il prezzo del sottostante e lo strike price. In
queste condizioni anche ϕ è monotona.
98. Variabili Antitetiche
Utilizzando una disuguaglianza standard possiamo allora verificare che
da cui segue immediatamente
Quindi il metodo delle variabili antitetiche è più efficiente del metodo standard a patto
che siano verificate le condizioni di monotonicità citate.
Nel caso di payoff non monotoni il metodo non necessariamente fornisce prestazioni
migliori del Monte Carlo standard, anzi, in alcune condizioni i risultati sono
sensibilmente peggiori.
99. Moment Matching
Il metodo dei momenti moment matching) comporta l’aggiustamento
campioni estratti da una(distribuzione normale standardizzata in modo
dei
da assicurare l’uguaglianza tra i momenti campionari (in genere il primo e
il secondo) e i corrispondenti momenti della distribuzione probabilistica.
Indichiamo con Z
i campioni estratti da una distribuzione normale
usati per calcolare la variazione di valore di una certa variabile in un certo
periodo di tempo. Per assicurare l’uguaglianza dei primi due momenti
calcoliamo la media campionaria m e la deviazione standard campionaria
s. Quindi definiamo nel modo seguente i campioni aggiustati
i
Zi − m
Z =
s
'
i
101. Greek Letters: Differenze Finite
Consideriamo il problema legato al
europea
Z e Z’ sono due estrazioni indipendenti da una
normale standard
calcolo del Delta di un’opzione
∂C
∆=
∂S0
Un approccio diretto al problema può consistere nella generazione di
due prezzi finali, il primo
ST = S0e
( r −σ 2 / 2)T +σ T Z
a partire dal valore S0 , e il secondo a partire dal valore perturbato S0 +
ε
ST = ( S 0 + ε )e
( r −σ 2 / 2)T +σ T Z '
102. Greek Letters
Per ogni valore del prezzo finale possiamo poi calcolare il valore
dell’opzione corrispondente
C ( S 0 ) = e −rT max(0, S T − K )
C ( S 0 + ε ) = e − rT max(0, S T (ε ) − K )
~ C ( S0 + ε ) − C ( S0 )
∆=
ε
103. Greek Letters
( )
~
−2
{Var[ C ( S0 + ε )] + Var[ C ( S0 )]} = O (ε −2 )
Var ∆ = ε
Problema
Poiché i valori per ST e ST(ε) sono generati indipendentemente
l’uno dall’altro la varianza di delta diverge al diminuire del valore
di ε.
Per ottenere uno stimatore che converga verso il valore effettivo
del Delta occorre diminuire in maniera graduale (e lenta) il
valore di ε all’aumentare di n. Complessivamente questo
rallenta la velocità di convergenza fino a livelli del tutto
inaccettabili.
104. Greek Letters
Una stima migliore può essere ottenuta utilizzando il metodo dei Numeri
Casuali Comuni (Common Random Numbers) che nella fattispecie si
traduce nell’utilizzare lo stesso numero casuale Z sia nel calcolo di S0 che
di S0 + ε.
Se denotiamo con ∆^ la stima del Delta così calcolata; per un valore di ε
fissato, la media di un campione di repliche indipendenti di ∆^ converge
al valore effettivo di Delta ma il calcolo della varianza ora fornisce un
valore diverso in quanto C(S0) e C(S0 + ε) non sono più indipendenti
()
ˆ
Var ∆ = ε −2 {Var [ C ( S 0 )] + Var [ C ( S 0 + ε )] − 2Cov[ C ( S 0 ), C ( S 0 + ε )]}
Cov > 0
C ( S0 + ε ) − C ( S0 )
Var
= O (1)
ε
106. Variabile di controllo
Il metodo della variabile di controllo mantiene inalterata la funzione
di distribuzione campionata, il miglioramento dell’efficienza si
ottiene in questo caso ricorrendo ad una funzione ausiliaria v(z)
correlata a k(z) di cui è noto esattamente l’integrale
ℑC = ∫ v( z )dF ( z )
Z
Il metodo della variabile di controllo funziona bene quando
quest’ultima ha un elevato grado di correlazione con la variabile
che intendiamo stimare. Una situazione di questo tipo si presenta
quando vogliamo conoscere il prezzo di un’opzione asiatica se
utilizziamo come variabile di controllo il prezzo dell’opzione asiatica
a media geometrica corrispondente.
107. Variabile di controllo
Def iniam ooW( ββ,z) com ee
Def iniam W( , z) com
W ( ββ z ) ) = kz ) ) − βv[ ( z ) ) − ℑ] ]
W ( , , z = k ( ( z − β [ v( z − ℑC C
E’ f acile verificare che
E’ facile verif icare che
EE [W ββ z )])==EEk kz )])== ℑ
[W ( ( , , z ] [ [ ( ( z ] ℑ
2
2 2
Var [W ( ββ z )z] ) == σ 2 −− 2 βσ
2 v(z)
2
Var [W ( , , ] σ k(z) 2 βσ k(z),v(z) ++ββσσ v(z)
k(z)
k(z),v(z)
Possiam ooscegliere ililparam et ro ββin m odo da m inim izzare
Possiam scegliere param et ro in m odo da m inim izzare
la varianza della f unzione W
la varianza della funzione W
σ k ( z ), v ( z )
(
ββ * = σ k2 z ), v ( z )
*=
σσ( z )
v 2
v( z )
nel qual caso
nel qual caso
2
2
2
Var[W ( ββ ,∗z )z] ) == σ 2 ( 11 − k(z),v(z) ) ) ≤ σ 2
2
Var[W ( ∗ , ] σ k(z) ( − ρ ρk(z),v(z) ≤ σ k(z)
k(z)
k(z)
108. Variabile di controllo
Un esempio pratico: il pricing di un’opzione asiatica
Le opzioni asiatiche sono opzioni il cui valore finale dipende dal
prezzo medio dell’attività sottostante osservato, almeno in parte,
durante la vita dell’opzione.
Il valore finale di una call scritta sul prezzo medio (average price
call) è max(0,Save-X) e quello di una put scritta sul prezzo medio
(average price put) è pari a max(0, X – Save) essendo il prezzo medio
calcolato in un periodo determinato (Hull, 2000).
Le opzioni average price sono meno care delle opzioni ordinarie in
quanto il calcolo della media diminuisce di fatto la volatilità del
sottostante.
109. Variabile di Controllo
Se si assume che il prezzo dell’attività sottostante, S, sia distribuito
in modo log-normale e che Save sia una media geometrica degli S,
possiamo utilizzare delle formule analitiche per valutare le opzioni
asiatiche di tipo europeo.
Ciò dipende dal fatto che la media geometrica di un insieme di
variabili distribuite in modo log-normale è anch’essa log-normale.
Si può dimostrare che in un mondo neutrale verso il rischio il prezzo
di un’opzione asiatica scritta su una media geometrica calcolata su
m periodi temporalmente equidistanziati...
G = ∏ St j
j =1
m
1/ m
è pari a ...
1 2
CG = exp( − rT ) exp µ G + σ G N ( d 1 ) − KN ( d 2 )
2
110. Variabile di Controllo
dove
1 2T +h
µG = ln ( S 0 ) + r − q − σ
2 2
2
σ G = σ 2h
( 2m + 1)( m + 1)
6m
2
µ G − ln( K ) + σ G
d1 =
σG
d 2 = d1 − σ G
h =T /m
111. Variabile di Controllo
Nella sim ulazione Mont ee Carlo st andar d ilil prezzo dell’opzione
Nella sim ulazione Mont Carlo st andard
prezzo dell’opzione
viene calcolat oocom ee
viene calcolat com
[[
]]
− rT
C ( i()i )==ee − rT Emax( A( i()i )−−K ,00), ,
E max( A
C
K, )
i i== 1 , , n
1, , n
dove A( i)i)èèla m edia arit m et ica discret aacam pionat aa
dove A(
la m edia arit m et ica discret cam pionat
11 mm ( i )
A == ∑ SS ( it)jt
A
j
m j∑
m =1
(i )
(i )
j =1
calcolat aasu un insiem eediscret oodi punt i i
calcolat su un insiem discret di punt
T
hh== T, ,
t0 ==00,
j j== 1,2 , , m
1,2, , m
t0 ,
m
m
ed nnèèililnum ero di sim ulazioni. Quest oopor t aaallo st im at ore
ed
num ero di sim ulazioni. Quest port allo st im at ore
t t ==t t−1 ++hh,
,
j
j
j
j −1
n
n
ˆ ˆ= 11∑ C ( i()i )
C =
C n ∑C
ni =i1 1
=
112. Variabile di controllo
Ut ilizzando ilil m et odo della variabile di cont rollo olt re alle
Ut ilizzando
m et odo della variabile di cont rollo olt re alle
variabili descrit t t e sopra dobbiam oo calcolare la m edia
variabili descrit e
sopra dobbiam
calcolare la m edia
geom et rica per ogni sim ulazione
geom et rica per ogni sim ulazione
1/ m
mm ( i ) 1 / m
(i )
( i )=
G = SSj ( i )
∏ t
G
=1
j∏ t j
j =1
eeililvalore cam pionat oodell’opzione asiat ica aam edia geom et rica
valore cam pionat dell’opzione asiat ica m edia geom et rica
(
CGi()i )==exp( −− rT ) max( Gi()i )−−K ,00)
rT ) max( G (
CG
exp(
K, )
Quest aavolt aaperò ut ilizzerem oolo st im at ore
Quest volt però ut ilizzerem lo st im at ore
n
(
ˆ 1 n
Cˆ== 1∑ (C ( i()i )−−CGi()i )++CG ) )
C n ∑ (C
CG C G
ni =i1 1
=
114. Variabile di controllo
35,00
35,00
30,00
30,00
Asiatica Aritmetica
Asiatica Aritmetica
Europea Black & Scholes
Europea Black & Scholes
Asiatica Geometrica
Asiatica Geometrica
25,00
25,00
20,00
20,00
15,00
15,00
10,00
10,00
5,00
5,00
0,00
0,00
0,5
0,5
1,0
1,0
1,5
1,5
2,0
2,0
2,5
3,0
2,5
3,0
Tempo a Scadenza
Tempo a Scadenza
3,5
3,5
4,0
4,0
4,5
4,5
5,0
5,0
115. Variabile di controllo
0,8000
0,8000
MC Standard
MC Standard
MC Controllo
MC Controllo
MC Antithetic
MC Antithetic
0,7000
0,7000
0,6000
0,6000
0,5000
0,5000
0,4000
0,4000
0,3000
0,3000
0,2000
0,2000
0,1000
0,1000
0,0000
0,0000
0,05
0,05
0,10
0,10
0,15
0,15
0,20
0,20
0,25
0,25
0,30
0,30
Volatilità Sottostante
Volatilità Sottostante
0,35
0,35
0,40
0,40
0,45
0,45
0,50
0,50
116. Variabile di controllo
0,8000
0,8000
MC Standard
MC Standard
MC Antithetic
MC Antithetic
MC Controllo
MC Controllo
0,7000
0,7000
0,6000
0,6000
0,5000
0,5000
0,4000
0,4000
0,3000
0,3000
0,2000
0,2000
0,1000
0,1000
0,0000
0,0000
0,5
0,5
1,0
1,0
1,5
1,5
2,0
2,0
2,5
2,5
3,0
3,0
Tempo a Scadenza
Tempo a Scadenza
3,5
3,5
4,0
4,0
4,5
4,5
5,0
5,0
118. Campionamento per Importanza
(Importance Sampling)
Consideriamo due diversi piani di campionamento
e
Supponiamo inoltre che
e
siano entrambe differenziabili in Z e
indichiamo con f(z) e f*(z) le rispettive densità di probabilità.
Definiamo
l(z) viene chiamata importance function.
119. Campionamento per Importanza
(Importance Sampling)
Possiamo calcolare valore atteso e varianza del nuovo stimatore
EF [ k ( z ) ] = EF * [ k * ( z )] = ℑ
varF k ( z ) = ∫ k 2 ( z ) f ( z )dz − ℑ2
Z
varF * k * ( z ) = ∫ k 2 ( z )l ( z ) f * ( z )dz − ℑ2
Z
varF k ( z ) − varF * k * ( z ) = ∫ k 2 ( z )[1 − l ( z )] f ( z )dz − ℑ2
Z
120. Campionamento per Importanza
(Importance Sampling)
Da queste formule risulta che, almeno in linea di principio, è possibile ridurre a zero la
varianza campionata da
; infatti è sufficiente scegliere
per ottenere dalla
.
La sostituzione effettuata è comunque di interesse puramente teorico in quanto richiede
la conoscenza di ℑ che è proprio la quantità che intendiamo stimare.
In generale occorre scegliere una funzione f*(z) tale che
Questo metodo risulta particolarmente efficace ogniqualvolta k(z) è una funzione non
limitata nel dominio di integrazione. In questi casi scegliere una f*(z) tale che k*(z) sia
limitato può portare ad una considerevole riduzione della varianza.
121. Campionamento stratificato
12
12
10
10
4
2
0
6
4
2
0
Classe
Classe
3
6
8
3
8
0
0
0
0. .75
75
1
1. .5
5
2.
2. 25
25
Il metodo più ovvio di fare ciò consiste nel
generare 100 numeri uniformemente distribuiti
fra 0 ed 1 e calcolare per ciascuno di questi la
funzione inversa della distribuzione normale.
Questo metodo tuttavia produce un risultato
che risulta alquanto scadente poiché le code
della distribuzione saranno sicuramente
sottocampionate
14
14
-1 1.5
.5
-0 0.7
.7 5
5
senza cam pionamento stratificato
senza cam pionamento stratificato
-3 3
-2 2.2
.2 5
5
La campionatura stratificata (stratified
sampling) comporta la suddivisione in strati,
o intervalli, della distribuzione probabilistica
sottostante e l’estrazione di campioni da
ciascun intervallo in base alla probabilità che
è ad esso associata.
Consideriamo, per esempio, la generazione
di 100 variabili distribuite normalmente.
Frequenza
Frequenza
122. Campionamento stratificato
10
10
6
4
2
0
8
6
4
2
0
Classe
Classe
3
8
3
* I numeri così generati non sono più indipendenti e questo complica la
stima dell’errore e del livello di confidenza. Questo problema è comune a
tutte le tecniche di riduzione della varianza e non viene discusso in
questa introduzione. Il lettore comunque deve essere consapevole della
sua esistenza.
12
12
0
0
0
0. .75
75
1
1. .5
5
2.
2 . 25
25
~
i + U i −1
U i = N −1
100
con cam pionamento stratificato
con campionamento stratificato
-3 3
-2
-2 .2
.2 5
5
-1
-1 .5
.5
-0 0.7
.7 5
5
Un metodo alternativo, più efficace,
consiste nel forzare ciascun numero
generato al passo i a cadere
esattamente
fra
l’
(i-1)-esimo
percentile e l’i-esimo.
Un modo estremamente semplice per
ottenere questo risultato consiste nel
generare
100
numeri
Ui
uniformemente distribuiti in [0, 1 ] e
calcolare*
Frequenza
Frequenza
123. Introduzione
Generatori di Numeri Casuali
Sequenze a Bassa Discrepanza (Quasi Monte Carlo)
Misure di co-dipendenza: correlazione e copule
Metodi di Riduzione della Varianza
Applicazioni al Pricing di Attività Finanziarie
Applicazioni alla stima del Value-at-Risk
124. American-Style Options
Nella seconda edizione del suo celebre libro sui derivati Hull (1993)
scriveva: “Monte Carlo simulation can only be used for Europeanstyle options”.
Sette anni e due edizioni dopo (Hull, 2000) quest’affermazione
perentoria ha lasciato spazio ad una tesi più possibilista: “Monte
Carlo simulation cannot easily handle situations where there are
early exercise opportunities”.
Nell’intervallo di tempo trascorso fra le due edizioni molto lavoro è
stato svolto per estendere il metodo Monte Carlo al trattamento di
titoli derivati american-style , titoli cioè che incorporano
caratteristiche legate ad opportunità di esercizio anticipato.
125. American-Style Options
Il problema fondamentale è legato all’individuazione del tempo di
esercizio ottimale.
Negli algoritmi di simulazione classici esiste una direzione implicita
del tempo.
La conoscenza del prezzo ad un istante t permette il calcolo del prezzo
(o di un’altra variabile di stato) all’istante t +∆ t, la freccia del tempo
punta in avanti da cui la definizione inglese forward in time assegnata a
questo tipo di simulazioni.
Al contrario le procedure di pricing di opzioni con esercizio
anticipato richiedono algoritmi backward in time.
Lavorando all’indietro nel tempo a partire dalla data di scadenza la
strategia ottimale di esercizio e il prezzo delle opzioni sono facilmente
stimabili (ad esempio con un semplice albero binomiale).
126. American-Style Options
Un approccio estremamente semplice e potente è quello dovuto a
Longstaff e Schwartz che discuteremo nel seguito di questa sezione
Longstaff F. A., E. S. Schwartz
“Valuing American Options by Simulation: A Simple Least-Squares Approach”
The Review of Financial Studies, Spring 2001, Vol. 14, No. 1, pp.113-147
E estremamente suggestivo porre questo modello nel contesto più
ampio della programmazione dinamica, per questo, seguendo P.
Brandimarte, forniremo una breve introduzione a questa disciplina.
P. Brandimarte
“Numerical Methods in Finance”
Wiley Series in Probability and Statistics
Molto interessante il sito dell’autore www.polito.it/~brandimarte in cui si trovano numerosi
supplementi ed aggiunte al libro oltre a tutti i sorgenti degli esempi matlab contenuti nel
testo.
128. Perché il Monte Carlo
I metodi basati su alberi e quelli alle differenze finite, si estendono in
maniera semplice e naturale al caso di esercizio anticipato.
Tuttavia ci sono limiti piuttosto stringenti al numero di fattori aleatori
che questi modelli possono prendere in considerazione.
Al contrario la forza del metodo Monte Carlo risiede proprio nella
possibilità di trattare problemi ad alta dimensionalità con un numero
elevato di variabili aleatorie.
129. Programmazione Dinamica e Pricing
di Opzioni Americane
Prezzare un’opzione con esercizio anticipato equivale a dover
risolvere un problema di ottimizzazione dinamica;
Tuttavia anche i metodi classici della programmazione dinamica
sono soggetti alla “maledizione” della dimensionalità;
Ecco perché sono estremamente importanti strategie di soluzione,
sullo stile di quella di Longstaff e Schwartz, che di fatto risultano
applicazioni ibride in cui al problema di programmazione dinamica
viene affiancata una procedura di simulazione.
130. Il problema del cammino più breve
1
1
7
4
10
3
2
0
1
3
2
4
8
6
7
1
6
5
2
7
5
Una rete (network) è composta da un insieme di nodi e un insieme
di archi che congiungono coppie di nodi.
131. Il problema del cammino più breve
Lo scopo è quello di ricercare il cammino minimo nella rete che
congiunge il nodo 0 al nodo 7;
Il punto di partenza consiste nel trovare un’opportuna formulazione della
soluzione ottimale;
Indichiamo con F(j) la lunghezza del cammino più corto che congiunge il
nodo 0 con il nodo j, supponiamo poi che il nodo i si trovi lungo tale
cammino. Si può allora dimostrare che il cammino ottimale che congiunge
0 ad i è un sottoinsieme del cammino ottimale che congiunge 0 a j;
In altre parole la soluzione ottimale al problema può essere trovata in
modo “ricorsivo” assemblando soluzioni ottimali di problemi via via più
semplici.
132. Il problema del cammino più breve
In altre parole possiamo scrivere
F ( j ) = min ( F (i ) + cij )
( i , j )∈A
∀j ∈ N
Dove A è l’insieme degli archi e N è l’insieme dei nodi.
Per trovare la soluzione ottimale, dovremmo considerare il cammino
ottimale dal nodo 0 a tutti i nodi che sono predecessori di j, dopodichè
calcoliamo per ciascuno di questi la somma del percorso ottimale fino ad i
più il singolo step da i a j.
Questo tipo di equazione ricorsiva, la cui forma esatta dipende dal
problema in esame, è il cuore della programmazione dinamica ed è un
esempio di equazione funzionale.
133. Il problema del cammino più breve
F (1) = min{7 + 0} = 7
F (2) = min{6 + 0} = 6
F (1) + c13
7 + 2
F (3) = min
= min
=9
F (2) + c23
6 + 4
F (1) + c14
7 + 1
F (4) = min
= min
=8
F (3) + c34
9 + 3
F ( 2) + c25
6 + 7
F (5) = min
= min
= 11
F (3) + c35
9 + 2
F (3) + c36
9 +1
F (6) = min
= min
= 10
11 + 1
F (5) + c56
F ( 4) + c47
8 + 10
F (7) = min F (5) + c57 = min 11 + 5 = 16
F (6) + c
10 + 8
67
0
1
3
5
7
134. Il problema del cammino più breve
L’equazione ricorrente vista prima è un’equazione di tipo forward, possiamo
avere situazioni in cui è più conveniente avere equazioni di tipo backward
in cui cioè si consideri la lunghezza del percorso da i ad N invece che da 0
ad i
B (i ) = min ( cij + B ( j ) )
( i , j )∈A
∀i ∈ N
La funzione valore B(i), valutata in un certo punto i, esprime il costo futuro
ottimale della strategia condizionale al fatto di essere giunti nel nodo iesimo.
Lo stesso tipo di formulazione può essere sviluppato in presenza di
incertezza nel qual caso la funzione valore non sarà una funzione
deterministica ma un valore di aspettazione.
Connessione con gli alberi binomiali e trinomiali.
135. Processi decisionali sequenziali
Consideriamo un sistema dinamico discreto modellato dalla seguente
equazione di stato
xt = ht ( xt −1 , ut )
t = 1,2, , T
dove xt è il vettore delle variabili di stato alla fine dell’intervallo di tempo t
e ut è il vettore delle variabili di controllo applicate durante l’intervallo t.
Per il momento non introduciamo alcuna incertezza, dato il valore delle
variabili di stato all’istante t-1, xt-1, le funzioni ht e le variabili di controllo ut,
possiamo determinare con precisione il futuro stato del sistema.
136. Processi decisionali sequenziali
Un processo decisionale sequenziale consiste nella selezione di una sequenza di controlli
ut su un orizzonte temporale definito al fine di minimizzare una data funzione obiettivo con
l’eventuale presenza di vincoli sia sulle variabili di stato che sulle variabili di controllo.
La funzione da minimizzare dipende in generale sia dalla traiettoria nello spazio delle fasi
del sistema (x1, x2, … ,xn) sia dalla sequenza delle variabili di controllo applicate
(u1, u2, …, un)
In generale possiamo descrivere il nostro problema come
T
min ∑
u
s.t.
t =1
f t ( xt −1 , ut )
xt = ht ( xt −1 , ut )
g t ( xt −1 , ut ) ≤ 0
t = 1,2, , T
t = 1,2, , T
137. Il principio di ottimalità
La funzione obiettivo appena introdotta gode di un’importante proprietà:
essa è separabile.
Per un dato numero r il contributo degli ultimi r step dipende solo dallo
stato corrente xT-r e dagli r controlli (uT-r+1,…, uT) (Markovian State Property).
Una simile proprietà vale anche per la traiettoria nel senso che lo stato xt+1
raggiunto a partire da xt applicando il controllo ut+1 dipende soltanto da xt e
da ut+1 e non dalla storia passata.
Una conseguenza di tale separabilità è il cosiddetto principio di ottimalità.
138. Il principio di ottimalità
Una strategia ottimale
è tale che, comunque sia
scelto lo stato iniziale e il primo controllo , i controlli
successivi
individuano una strategia ottimale per il
problema a
stadi con stato iniziale ottenuto applicando il
primo controllo .
FT ( x0 ) = min{ f 1 ( x0 , u1 ) + FT −1 [ h1 ( x0 , u1 ) ]}
u1
139. Il principio di ottimalità
Presenza di incertezza;
Non è possibile determinare una sequenza di controlli ottimale;
Occorre introdurre una sequenza di controlli che dipende anche
dalla variabile di stato:
ut = φt ( xt −1 )
V0 ( x0 ) = min{ f 1 ( x0 , uT ) + E [V1 ( x1 ) x0 , u1 ]}
u1
140. Pricing di Opzioni Americane
Il modello di
Longstaff-Schwartz
(Least Squares Monte Carlo)
141. Il pricing di opzioni americane
In ogni punto del path simulato il valore del contratto deve essere valutato
come il massimo fra il valore di continuazione del contratto stesso ed il
payoff che conseguirebbe ad un esercizio immediato;
Il valore di continuazione è definito come il valore atteso dei flussi futuri
scontati al tasso risk free assumendo che una strategia di esercizio
ottimale venga esercitata nel futuro;
Ad esempio per un’opzione scritta su un singolo asset abbiamo
{
[
Vi ( Si ) = max I i ( Si ), E e
Q
i
− r∆t
Vi +1 ( Si +1 ) Si
]}
142. Il pricing di opzioni americane
C’è tuttavia una “piccola” difficoltà;
Per definire la strategia ottimale dovremmo conoscere il valore di aspettazione del
valore futuro dell’opzione condizionale al prezzo allo stato attuale ma questo
dipende dalla decisione assunta allo step successivo;
In altre parole per conoscere la strategia ottimale adesso dovremmo conoscere la
strategia ottimale futura;
Una possibile soluzione consiste nel trovare un’approssimazione del valore di
aspettazione della funzione valore;
Una possibilità è quella di approssimare il valore di aspettazione condizionale con
una regressione verso il valore corrente del titolo utilizzando una opportuna base di
funzioni;
Es. sviluppo polinomiale
Q
i
[
E e
− r∆t
]
Vi +1 ( Si +1 ) Si ≈ a1 + a2 Si + a3 S
2
i
143. Il pricing di opzioni americane
Per ottenere i valori dei coefficienti incogniti,
l’algoritmo proposto da Longstaff e Schwartz
utilizza una regressione in cui
i valori della variabile y sono rappresentati dai payoff
futuri su ciascun path e
i valori della x sono rappresentati dal valore del
sottostante all’istante immediatamente precedente
sullo stesso path;
145. Introduzione
Generatori di Numeri Casuali
Sequenze a Bassa Discrepanza (Quasi Monte Carlo)
Misure di co-dipendenza: correlazione e copule
Metodi di Riduzione della Varianza
Applicazioni al Pricing di Attività Finanziarie
Applicazioni alla stima del Value-at-Risk
146. Stima del Value-at-Risk
Per valutare tale probabilità
col metodo Monte Carlo
possiamo simulare una serie
di valori per tutti i fattori di
rischio cui è sensibile il
portafoglio.
La
rivalutazione
del
portafoglio per ogni serie di
nuovi valori dei fattori di
rischio viene ripetuta un
numero
sufficientemente
elevato di volte al fine di
ottenere una distribuzione
significativa della perdita.
Dalla distribuzione ottenuta si
risale così al VaR come
percentile
al
livello
di
probabilità predefinito.
147. Value-at-Risk
I metodi di calcolo del Value-at-Risk basati sull’uso della matrice di
varianza-covarianza permettono un calcolo estremamente efficiente
dal punto di vista computazionale (Cherubini e Della Lunga, 2001).
Tali metodi, tuttavia, non permettono un calcolo accurato nel caso
in cui il portafoglio in esame contenga titoli con payoff non lineare
come, ad esempio, delle opzioni.
L’introduzione di opportune correzioni (nel caso delle opzioni
l’inclusione del Gamma) porta a stime migliori a scapito tuttavia di
una maggior complicazione nella definizione degli algoritmi di
calcolo e comunque risulta sempre insufficiente nel caso di
portafogli fortemente non lineari.
Inoltre tale metodologia risulta del tutto inapplicabile in quei casi in
cui all’interno del portafoglio siano presenti prodotti per i quali la
relazione fra valore e fattori di rischio sia non monotona. In questi
casi non è affatto detto che le perdite più elevate si verifichino in
corrispondenza di movimenti estremi dei fattori di mercato.
Un esempio di un prodotto di questo tipo è lo straddle.
148. Value-at-Risk
Sebbene le problematiche di base siano le stesse, l’utilizzo delle tecniche
Monte Carlo per la stima del VaR presenta alcune peculiarità che lo
distinguono rispetto all’utilizzo in altri settori della matematica finanziaria.
Nelle applicazioni di pricing, ad esempio, il Monte Carlo viene utilizzato
prevalentemente per stimare il valore di aspettazione di una funzione di
una o più variabili aleatorie.
Nella stima del VaR, invece, quello che di solito interessa è rappresentare
nel modo più preciso possibile la distribuzione di probabilità delle
variazioni di valore del portafoglio al variare dei fattori di rischio.
Due punti meritano di essere sottolineati;
il primo è che le variazioni dei fattori di rischio devono essere generate sulla
base di distribuzioni il più possibile rappresentative delle reali distribuzioni
empiriche osservate nella realtà;
il secondo punto riguarda la necessità di postulare delle relazioni di pricing
tramite le quali ricavare le variazioni di valore del portafoglio dalle variazioni,
simulate, dei fattori di rischio. Il calcolo del VaR richiede quindi la scelta di un
preciso modello finanziario.
149. Simulazione Montecarlo
1.
2.
3.
4.
5.
6.
7.
Scelta orizzonte temporale di riferimento
Scelta modelli di pricing (relazione fattori di
rischio/singoli strumenti)
Scelta processi stocastici
Generazione di un elevato numero di scenari
(10.000?) dei fattori di rischio (tassi,cambi,volatilità,
…)
Calcolo delle ipotetiche variazioni di valore del
portafoglio per ogni scenario (es: Taylor)
Ordinamento dei risultati
Individuazione k-esimo percentile
151. Value-at-Risk
Individuare la procedura appropriata per la simulazione delle
variazioni dei fattori di rischio rappresenta solo uno dei problemi in
gioco.
Un altro aspetto fondamentale è senz’altro quello relativo alla
metodologia di rivalutazione del portafoglio.
Due sono le principali alternative:
rivalutazione esatta (full evaluation)
rivalutazione parametrica.
Nel primo caso è necessario valutare attentamente le risorse di
calcolo necessarie per ricalcolare migliaia di volte il valore di
ciascun contratto.
Questo metodo, sebbene garantisca la miglior precisione, è spesso
talmente oneroso in termini di risorse di calcolo da spingere verso
metodi di tipo parametrico meno precisi ma sicuramente più
efficienti in termini di velocità di elaborazione.
152. Value-at-Risk:
Rivalutazione Parametrica del Portafoglio
In questo approccio la relazione funzionale fra la variazione del
valore del portafoglio e la variazione dei fattori di mercato è
rappresentata in termini di un numero finito di parametri.
Tali parametri vengono ricavati da un numero relativamente piccolo
di rivalutazioni esatte di ogni asset in portafoglio.
I due metodi più diffusi di rivalutazione parametrica del portafoglio
sono basati su uno
sviluppo in serie di Taylor
o, alternativamente, sulla cosiddetta
griglia delle sensitività.
153. Value-at-Risk:
Rivalutazione Parametrica del Portafoglio
Tramite lo sviluppo in serie di Taylor possiamo esprimere la variazione nel valore di
una funzione di n variabili sotto forma di polinomio con infiniti termini i cui coefficienti
sono le derivate parziali della funzione rispetto a ciascuna variabile.
Nelle applicazioni pratiche lo sviluppo del polinomio viene poi arrestato ad un numero
finito di termini in funzione della precisione richiesta.
Il valore di mercato del nostro portafoglio è naturalmente dato dalla somma dei valori
di ciascuna componente, quindi indicando con PVm la funzione di rivalutazione esatta
di ciascun asset possiamo scrivere
PV portfolio = ∑ PM
j
( j)
m
(X
j
(t ), t )
dove Xj(t) sono i valori dei fattori di mercato da cui dipende il valore del titolo
154. Value-at-Risk:
Rivalutazione Parametrica del Portafoglio
La variazione di valore del portafoglio può essere quindi
espressa come
I I coefficienti del polinomio sono le derivate parziali del valore di
coefficienti del polinomio sono le derivate parziali1del valore di
∂PV fattori 1 mercato. Questi coefficienti
∂ 2 PV
∂ 2 PV
2
portafoglio rispetto ai ∆X + di mercato. X +
∆PV portfolio =
∆ Questi coefficienti ∆X j ∆X k
portafoglio rispetto ai fattori di
j
j
2
∂X j sommadelle derivate parzialidel valore
2 k ∂ valore
vengono calcolati come somma2 delle∂derivateparzialij ≠ delX j ∂X k
Xj
j
j
vengono calcolati come
di ciascun titolo rispetto ai fattori, ciascuna di queste derivate è
di ciascun titolo rispetto ai fattori, ciascuna 3di queste derivate è
1 ∂ 3 PV di 3rivalutazione PV titoli. 2Il numero
1
∂
calcolata dalle+ formuleesatte X rivalutazionedei titoli. ∆X
calcolata dalleformule esatte dij +
dei ∆X j Il numero
∆
k
3
2 di Taylor dipende
di termini da introdurre X j sviluppo jin serie∂X k Taylor dipende
6 j ∂ nello
6 k serie
di termini da introdurre nello sviluppo ≠in ∂X j di
dal grado di accuratezza con cui è necessario stimare ilil VaR e
dal grado di accuratezza con cui è necessario stimare VaR e
∂ 3 portafoglio.
dal grado di non 1linearitàdel portafoglio.
linearità del PV
dal grado di non
∑
∑
∑
+
6
∑
j ≠ k ≠l
∑
∑
∂X j ∂X k ∂X l
∆X j ∆X k ∆X l +
155. Value-at-Risk:
Rivalutazione Parametrica del Portafoglio
Nell’approccio basato sulla griglia di sensitività il punto di partenza è
costituito dalla valutazione esatta della variazione del portafoglio in
funzione dei fattori di rischio per un insieme finito e discreto di valori
di variazione dei fattori di rischio stesso.
Questo porta alla realizzazione di una griglia multidimensionale in
cui ogni punto dell’iperpiano specifica una certa variazione
congiunta dei fattori di rischio e il valore della funzione di
rivalutazione in quel punto è il valore esatto della variazione del
portafoglio corrispondente.
Una volta che la griglia è stata costruita le variazioni del valore di
portafoglio rispetto ad una variazione arbitraria dei fattori di rischio
possono essere ottenute interpolando linearmente le variazioni
calcolate nei punti della griglia stessa.
156. Funzione Caratteristica
la funzione caratteristica di una variabile aleatoria x è definita
come
Φ (ω ) =
+∞
∫
f ( x)e iωx dx
−∞
è la Trasformata di Fourier della funzione densità di
probabilità
si definisce poi la funzione generatrice dei momenti
φ ( s) =
+∞
∫
−∞
f ( x)e sx dx,
φ (iω ) = Φ (ω )
157. Funzione Caratteristica
Dalla definizione è evidente che
[ ]
[ ]
Φ (ω ) = E e iωx
φ ( s) = E e sx ,
inoltre
[
]
[ ]
φ ( n ) ( s ) = E x n e sx ⇒ φ ( n ) (0) = E x n = m ( n )
il che giustifica il nome di funzione generatrice dei momenti.
158. Value-at-Risk
Simulazione Monte Carlo per la stima dello Shortfall
(Glassermann & C.)
Qualora si consideri valida l’approssimazione Delta-Gamma, la
variazione di valore di un portafoglio può essere sempre espressa nella
forma
essendo C una qualunque matrice per cui valga
(Σ è la matrice di
varianza e covarianza), Λ è la matrice diagonale degli autovalori di
,
,e, infine, Z indica un vettore di variabili indipendenti
distribuite secondo una normale standard.
159. Value-at-Risk
Simulazione Monte
Carlo per la stima
dello Shortfall
(Glassermann & C.)
In generale possiamo quindi definire, sempre nel
contesto dell’approssimazione Delta-Gamma, una
funzione di perdita (loss function) definita come
dove a0 è una costante. Il VaR al livello di confidenza p
è quel valore xp tale che
Indicando con I(x) la funzione indicatrice possiamo
scrivere
essendo f(z) la funzione densità di probabilità congiunta
dei fattori di rischio.
160. Value-at-Risk
Simulazione Monte Carlo per la stima dello Shortfall (Glassermann & C.)
Come abbiamo già discusso la tecnica di Importance
Sampling consiste nell’effettuare un cambio di misura
ricercando una funzione densità di campionamento g(z)
che presenti caratteristiche tali da ridurre la varianza
come nel caso in esame rendendo più probabili gli
eventi corrispondenti alle code della distribuzione
originaria
avendo indicato con il valore di aspettazione sotto la
nuova misura g(z) e con l(z) la importance function.
161. Value-at-Risk
Simulazione Monte Carlo per la stima dello Shortfall (Glassermann & C.)
Nel nostro caso la funzione di distribuzione iniziale è la
normale standard multivariata
La nuova densità di probabilità g(z) verrà ricercata nella
forma di una distribuzione multivariata normale con
media µ e matrice di varianza-covarianza B
parametrizzate in funzione di un parametro θ > 0.
162. Value-at-Risk
Simulazione Monte Carlo per la stima dello Shortfall (Glassermann & C.)
possiamo allora scrivere l’espressione della important
function
dove
è data da
Si può verificare che
generatrice di Q.
è il logaritmo della funzione
163. Value-at-Risk
Simulazione Monte Carlo per la stima dello Shortfall (Glassermann & C.)
Supponiamo ora che l’approssimazione quadratica sia
esatta, cioè che sia L = a0 + Q allora poiché L > x
implica Q > x – a0 possiamo ricavare un limite superiore
per la probabilità P(L > x)
non è difficile ricavare anche un limite superiore per il
momento secondo
164. Value-at-Risk
Simulazione Monte Carlo per la stima dello Shortfall (Glassermann & C.)
Al fine di ottimizzare la simulazione occorre trovare il
valore di θ per cui m2(x, θ ) è minimo o, in alternativa, il
minimo del limite superiore che si ottiene per θx tale che
Vediamo ora quanto vale il valore di aspettazione di Q
sotto la nuova misura g(z)
165. Value-at-Risk
Simulazione Monte Carlo per la stima dello Shortfall (Glassermann & C.)
Per definizione la funzione generatrice dei momenti di Q
è data da
da cui
166. Value-at-Risk
Simulazione Monte Carlo per la stima dello Shortfall (Glassermann & C.)
quindi, ricordando che
,
Il valore di aspettazione di Q valutato con
è pertanto pari a x – a0 e
quindi il valore di aspettazione di L è proprio pari a x. Pertanto sotto la
nuova misura l’evento L > x non è più un evento raro.