Your SlideShare is downloading. ×
Lezione 3   metodo monte carlo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Lezione 3 metodo monte carlo

2,043
views

Published on

Published in: Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,043
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
53
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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
  • 14. Esempio Esempio Programmazione Programmazione VBA VBA “Crude” Monte Carlo “Crude” Monte Carlo
  • 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.
  • 17. Generatori di Numeri Pseudo-Causali
  • 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
  • 32. Generatori di Numeri Pseudocasuali
  • 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. ( )
  • 45. χ2 - test Valori di probabilità per la distribuzione χ2 2 Valori di probabilità per la distribuzione χ kk = 1 =1 kk = 2 =2 kk = 3 =3 kk = 4 =4 kk = 5 =5 kk = 6 =6 kk = 7 =7 kk = 8 =8 kk = 9 =9 kk = 10 = 10 kk = 20 = 20 kk = 30 = 30 pp = 1% = 1% 0.00016 0.00016 pp = 5% = 5% 0.00393 0.00393 pp = 25% = 25% 0.1015 0.1015 pp = 50% = 50% 0.4549 0.4549 pp = 75% = 75% 1.323 1.323 pp = 95% = 95% 3.841 3.841 PP = 99% = 99% 6.635 6.635 0.02010 0.02010 0.1148 0.1148 0.1026 0.1026 0.3518 0.3518 0.5753 0.5753 1.213 1.213 1.386 1.386 2.366 2.366 2.773 2.773 4.108 4.108 5.991 5.991 7.815 7.815 210 210 11.34 11.34 0.2971 0.2971 0.5543 0.5543 0.7107 0.7107 1.1455 1.1455 1.923 1.923 2.675 2.675 3.357 3.357 4.351 4.351 5.385 5.385 6.626 6.626 488 488 11.07 11.07 13.28 13.28 15.09 15.09 0.8720 0.8720 1.239 1.239 1.635 1.635 2.167 2.167 3.455 3.455 4.255 4.255 5.348 5.348 6.346 6.346 7.841 7.841 037 037 12.59 12.59 14.07 14.07 16.81 16.81 18.48 18.48 1.646 1.646 2.088 2.088 2.733 2.733 3.325 3.325 5.071 5.071 5.899 5.899 7.344 7.344 8.343 8.343 10.22 10.22 11.39 11.39 15.51 15.51 16.92 16.92 20.09 20.09 21.67 21.67 2.558 2.558 8.260 8.260 3.940 3.940 10.85 10.85 6.737 6.737 15.45 15.45 342 342 134 134 12.55 12.55 23.83 23.83 18.31 18.31 31.41 31.41 23.21 23.21 37.57 37.57 14.95 14.95 18.49 18.49 24.48 24.48 234 234 34.80 34.80 43.77 43.77 50.89 50.89 -2.33 -2.33 -1.64 -1.64 -0.675 -0.675 0.00 0.00 0.675 0.675 1.64 1.64 2.33 2.33 kk > 30 > 30 xx p p
  • 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.
  • 47. Esempio Esempio Programmazione Programmazione VBA VBA Costruiamo un Add-In di Generatori per Excel Costruiamo un Add-In di Generatori per Excel
  • 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{ ri ∈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
  • 62. Esempio Excel Esempio Excel Sequenze aa Bassa Discrepanza Sequenze Bassa Discrepanza
  • 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
  • 72. Generazione di Numeri Casuali Variabili Normali Multivariate
  • 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.
  • 82. Esempio Esempio Programmazione Programmazione VBA VBA Utilizzo Variabili Normali Multivariate Utilizzo Variabili Normali Multivariate
  • 83. Generazione di Numeri Casuali Utilizzo delle funzioni di Copula
  • 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 ρ π
  • 88. Esempio Esempio Programmazione Programmazione VBA VBA Esempio Copule Esempio Copule
  • 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
  • 100. Esempio Excel Esempio Excel Confronto fra alcuni metodi di Confronto fra alcuni metodi di Riduzione della Varianza Riduzione della Varianza
  • 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) ε  
  • 105. Esempio Excel Esempio Excel Common Random Numbers Common Random Numbers Stima del Delta Stima del Delta
  • 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 2T +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 =
  • 113. Variabile di controllo 25,00 25,00 Asiatica Aritmetica Asiatica Aritmetica Europea Black & Scholes Europea Black & Scholes Asiatica Geometrica Asiatica Geometrica 20,00 20,00 15,00 15,00 10,00 10,00 5,00 5,00 0,00 0,00 0,05 0,05 0,10 0,10 0,15 0,15 0,20 0,20 0,25 0,30 0,25 0,30 Volatilità Sottostante Volatilità Sottostante 0,35 0,35 0,40 0,40 0,45 0,45 0,50 0,50
  • 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
  • 117. Esempio Excel Esempio Excel Pricing di un’Opzione Asiatica Pricing di un’Opzione Asiatica
  • 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.
  • 127. Pricing di Opzioni Americane La Programmazione Dinamica (cenni)
  • 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;
  • 144. Esempio Excel Esempio Excel Il metodo di Longstaff e Schwartz Il metodo di Longstaff e Schwartz
  • 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
  • 150. Dati Dati Storici/Impliciti Storici/Impliciti Simulazione Montecarlo Parametri Parametri dei modelli dei modelli Simulazioni Simulazioni Modelli Modelli Stocastici Stocastici Modelli attività fin. Modelli attività fin. Valutazione Valutazione “completa” “completa” Posizioni Posizioni Portafoglio Portafoglio Distribuzione P&L Distribuzione P&L VaR VaR
  • 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.

×