La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Metodo Montecarlo Seminario di Metodi Matematici per l’Ottimizzazione

Presentazioni simili


Presentazione sul tema: "Metodo Montecarlo Seminario di Metodi Matematici per l’Ottimizzazione"— Transcript della presentazione:

1 Metodo Montecarlo Seminario di Metodi Matematici per l’Ottimizzazione
Giuseppe Sammatrice Daniele Licitra AA 2011/12

2 Indice Introduzione Integrazione numerica Metodi Montecarlo
Approssimazione rettangolare Regola del trapezio Regola di Simpson Metodi Montecarlo Hit or Miss Sample Mean Confronti

3 Indice Efficienza del Metodo Montecarlo
Tecniche di riduzione della varianza Variabili antitetiche Numeri casuali e pseuocasuali Calcolo di un integrale Stima del valore di un titolo quotato in borsa Conclusioni

4 Descrizione Il metodo Montecarlo consiste nell’effettuare una simulazione utilizzando N campioni casuali per studiare un processo. Di seguito, un possibile algoritmo 1. Definire un dominio di applicazione. 2. Generare Variabili Aleatorie con una determinata funzione di distribuzione. 3. Elaborare i dati in input. 4. Stimare il valore ottenuto.

5 Cenni storici Enrico Fermi negli anni ’30 studiò il moto dei neutroni utilizzando stime ottenute con tecniche di campionamento statistico; Il metodo Monte Carlo fù formalizzato negli anni ’40 da J. Von Neumann e S. Ulam che parteciparono al progetto Manhattan per lo studio della dinamica dell’esplosione nucleare; Il nome Monte Carlo fu coniato da Nicholas Costantine Metropolis in riferimento a Montecarlo, sede del celebre casinò;

6 Fenomeni nucleari Negli esperimenti nucleari una particella colpisce il nucleo di un atomo: questo si frantuma in particelle che vanno a colpire i nuclei di altri atomi vicini, che si frantumano a loro volta secondo una reazione a catena. Il processo durerà all’infinito o si arresterà dopo un certo numero di reazioni? I fisici di allora erano certi del fatto che la reazione avrebbe avuto termine?

7 Applicazioni Fisica : moto delle particelle, reazioni nucleari;
Medicina: radioterapia; Finanza: simulazione dei mercati; Matematica: calcolo di integrali ed aree, simulazioni stocastiche;

8 Integrazione Numerica
Si cerca di approssimare l’integrale con una procedura numerica come: approssimazione rettangolare; regola del trapezio; formula di Simpson;

9 Approssimazione rettangolare

10 Approssimazione rettangolare
Il costo computazionale di questo metodo numerico è di O(n) dove n è il numero di intervalli presi in considerazione; Se p(x) è l’approssimazione della f(x), l’errore è:

11 Regola del trapezio

12 Regola del trapezio Il costo computazionale è di O(n);
L’errore in questo caso è:

13 Regola di Simpson Il costo computazionale è di O(n);
L’errore in questo caso è:

14 Metodi Montecarlo Esistono due metodi Montecarlo per calcolare il valore approssimato di un integrale definito di una funzione I: Metodo “Hit or Miss”; Metodo di “Sampling” o “Sample Mean”;

15 Metodo Hit or Miss Sia f(x) definita in [a,b] e limitata, cioè
∃c∈R : 0 ≤ f (x) ≤ c. Consideriamo il rettangolo Ω = { (x, y) | a ≤ x ≤ b, 0 ≤ y ≤ c } e quindi il vettore (x,y) di numeri casuali uniformemente distribuiti in Ω. La probabilità p che il vettore (x,y,) cada sotto la curva f(x) è

16 Metodo Hit or Miss

17 Pseudo-codice Hit or Miss
HIT_MISS(f,a,b,c,N) per i = 1 → N xi ←R [a,b]; yi ←R [0,c]; Pi ← (xi, yi); fine per NH ← 0 per ogni Pi if f(xi)>yi NH ← NH+1; p= NH / N; Return c(b-a)p; Genero N vettori casuali (xi,yi) Verifico, per ogni (xi,yi) se f(xi)>yi , in questo caso incremento di 1 il numero di hit; Calcolo p = NH / N; Stimo l’integrale con:

18 Metodo Hit or Miss Per le sue iterazioni, il metodo ha un costo computazionale di O(N); Più è grande N, maggiore sarà la probabilità di ottenere una buona approssimazione;

19 Metodo Sample Mean E’ un metodo per la stima di un integrale
Deriva dall’approssimazione rettangolare Nell’approssimazione rettangolare, l’intervallo (a,b) viene suddiviso in N sotto-intervalli regolari; Nel metodo Sample Mean si generano N punti nell’intervallo (a,b) con distribuzione uniforme e se ne valuta la f(x).

20 Pseudo-Codice Sample Mean
SAMPLE_MEAN(f,a,b,N) per i = 1 → N Ui ←R [0,1]; xi ← a+Ui(b-a); fine per sum ← 0; sum←sum+f(xi); theta ← (b-a)sum/N; return theta; Si scelgono N numeri casuali uniformemente in [0,1]; Si adattano i valori all’intervallo; Si approssima l’integrale con:

21 Metodo Sample Mean Per le sue iterazioni, il metodo ha un costo computazionale di O(N); Più è grande N, maggiore sarà la probabilità di ottenere una buona approssimazione; Non sempre il metodo converge alla soluzione!

22 Tempi a confronto Approssimazione rettangolare : O(n);
Approssimazione trapezoidale: O(n); Approssimazione con Simpson: O(n); Hit or Miss: O(n); Sample Mean: O(n); Tutti i metodi impiegano un tempo lineare nell’approssimare gli integrali.

23 Errori a confronto Sia d il numero di dimensioni dell’integrale:
Errore rettangoli Errore trapezi Errore Simpson Errore Montecarlo

24 Confronto Dato che tutti i metodi hanno costo computazionale pari a O(N), è preferibile usare formule con gli errori minori; Nel caso di una dimensione usiamo Simpson; Al crescere di d scegliamo i metodi Montecarlo;

25 Efficienza del Metodo Montecarlo
Hit or Miss genera una stima θ1 mentre Sample mean genera un’altra stima θ2 tali che E[θ1] = E[θ2] = I V [θ1] ≠ V [θ2] Siano t1 e t2 i tempi di calcolo per θ1 e θ2. Il primo metodo è più efficiente del secondo se

26 Efficienza del Metodo Montecarlo
Varianza Hit or Miss: Varianza Sample Mean:

27 Efficienza del Metodo Montecarlo
Teorema: V [θ2] < V [θ1] Dim:

28 Efficienza del Metodo Montecarlo
Poiché f(x)≤c, allora f(x)f(x) ≤f(x)c, integrando Allora V [θ2] < V [θ1] . Se t1 ≈ t2, allora il metodo di Sampling è più efficiente del metodo Hit or Miss

29 Tecniche di Riduzione della Varianza
Si può ridurre la varianza soltanto se si hanno informazioni sul problema da trattare. Ad esempio si possono ottenere informazioni effettuando un analisi grossolanda del problema. Alcuni utili metodi sono: Importanza del Campionamento Variate di Controllo Campionamento Stratificato Variabili Antitetiche Analizzeremo in dettaglio il metodo delle variabili antitetiche.

30 Variabili Antitetiche
Con questa tecnica si cercano due stimatori dell’ Integrale I, tali che abbiano una forte correlazione negativa. Osservazione: se Ui è una variabile casuale distribuita uniformemente in [0,1], allora anche 1 − Ui è una variabile distribuita uniformemente nello stesso intervallo.

31 Variabili Antitetiche
Uno stimatore di I è Affinchè questo stimatore sia più efficentedi quello del metodo di Sampling θ2 occore che: Poiché tA = 2t2, segue che V[θA] ≤ ½ V[θ2]; Si dimostra che questo risultato è valido sse f(x) è una funzione continua e monotona non crescente con derivata prima continua.

32 Numeri casuali ? In teoria si lavora con numeri casuali;
Sono generati dall’estrazione da un’urna, da una roulette, dal lancio di un dado o di una moneta… I computer sono strumenti deterministici, non conoscono il concetto di casualità; Può un computer generare numeri casuali?

33 Numeri pseudo-casuali
In pratica il computer utilizza numeri pseudo-casuali; Sono generati secondo una sequenza: S → r0 → r1 →… Il numero s è detto seed. Utilizzando lo stesso seed avremo la stessa sequenza di numeri casuali; Questo processo è chiamato Markov-Chain;

34 Una buona funzione casuale
Una funzione pseudo-casuale (PRF) è una funzione del tipo F: KxD → R; K è l’insieme delle chiavi o seed; D è il dominio (la funzione è stata richiamata la x-esima volta, con x € D); R è il codominio; Per semplicità ignoriamo D e indichiamo la funzione con FK

35 Una buona funzione casuale
Sia F una famiglia di PRF del tipo FK: D → R; Sia A un avversario che ha accesso a scatola chiusa alla funzione; EspFprf-1(A) k ←R K; b ← A(Fk); Return b //funzione PC EspFprf-0(A) g ←R Func(D,R); b ← A(g); //funzione casuale

36 Una buona funzione casuale
Negli esperimenti l’avversario riceve una funzione senza sapere se questa sia PRF o casuale; Non si limita il comportamento dell’avversario; Possiamo limitare il suo tempo di calcolo o il numero di valutazioni; Adv(A) = |Pr(EspFprf-1(A)=1) – Pr(EspFprf-0(A)=1)|; La funzione è una buona funzione casuale se il vantaggio di A è piccolo.

37 Numeri pseudo-casuali
Nei test: Si usano seed diversi per avere stime diverse; Si usa lo stesso seed se vogliamo stimare l’accuratezza di una stima ottenuta con metodi diversi, in modo tale la stima non sia influenzata dai numeri casuali, i test hanno la stessa “fortuna”;

38 Numeri pseudo-casuali in Matlab
La funzione utilizzata è rand(N,M); Ritorna una matrice NxM riempita con valori estratti dalla distribuzione uniforme nell’intervallo (0,1) Per impostare il seed si usa rand(‘seed’,N) , dove N è il valore del seed;

39 Calcolo di un integrale
Calcoliamo l’integrale analiticamente

40 Calcolo di un integrale
Approssimiamo l’integrale con il metodo Hit or Miss al variare di N:

41 Calcolo di un integrale
Approssimiamo l’integrale con il metodo Sample Mean al variare di N:

42 I due metodi a confronto

43 Calcolo con seed variabile
Si esegue Hit or Miss t=1000 volte, con N= ma con sequenze casuali diverse e si prende la media

44 Calcolo con seed variabile
Si esegue Sample Mean t=1000 volte, con N= ma con sequenze casuali diverse e si prende la media

45 Stima del valore di un titolo quotato in borsa

46 Il mercato finanziario
Un mercato è il luogo di incontro tra la domanda e l’offerta; In un mercato finanziario, le merci scambiate sono prodotti finanziari; La molteplicità degli attori partecipanti in questi processi (Stati, banche, broker, imprese), la variabilità delle condizioni di contrattazione, l’influenza di infiniti fattori (naturali, economici, politici, sociali,…) nelle dinamiche dei mercati mondiali, fa si che questi processi siano altamente complessi e difficili da studiare, oltre che altamente imprevedibili.

47 Tipi di prodotti finanziari
Abbiamo tre grandi categorie di prodotti finanziari: Azioni: frazione del capitale sociale distribuito tra gli azionisti. Un azionista è socio dell’impresa e partecipa agli utili; Obbligazioni: emissione di titoli da parte di un’impresa per far fronte ad una mancanza di liquidità. Il possessore sarà creditore nei confronti dell’azienda; Titoli di Stato: come delle obbligazioni, ma emesse dallo Stato per far fronte al debito pubblico; Noi tratteremo le azioni.

48 Montecarlo in Economia e Finanza
Le scienze Economiche e Finanziare, che studiano questo tipo di processi, adoperano molti modelli per rendere più agevole lo studio di svariati problemi. Il Metodo M.C. trova ampio utilizzo nel prezzamento di prodotti finanziari, nella previsione dei rendimenti di titoli e panieri azionari, la stima dei fattori di rischio e molto altro ancora.

49 Processi stocastici Un processo stocastico e una famiglia di variabili casuali Xt che dipendono dal tempo in modo continuo. Per semplicità tratteremo: Processi Gaussiani: ogni “evento” ha pari probabilità di verificarsi, quindi tutte le distribuzioni sono gaussiane ed Xt è distribuita normalmente per ogni t. Processi Markoviani: Il valore di Xt dipende unicamente da Xt-1 Un processo che è sia gaussiano che markoviano si chiama di Wiener o browniano. Indicheremo questo genere di processo con W.

50 Processi di Wiener I processi di Wiener godono delle proprietà:
W0=0 , con probabilità 1 (certezza); Wt≈N(0,t) per ogni t>0. Quindi e distribuita come una normale avente media 0 e varianza t; Tutti gli incrementi ΔW=Wt+Δt -Wt su intervalli di tempo che non si sovrappongono sono indipendenti; Wt dipende in modo continuo da t.

51 Processi di Wiener Sia Δt>0 un incremento di tempo costante. Per valori di tempo ti=iΔt, i= 1, 2, … ogni corrispondente valore Wti può essere scritto come somma di incrementi ΔWk: Gli incrementi ΔWk sono indipendenti (processo markoviano) e distribuiti normalmente (processo gaussiano), con varianza V[ΔWk]=Δt, cioè ΔWk≈N(0, Δt); Operando un cambiamento di variabile Scriviamo quindi il processo di Wiener così:

52 Parametri di un titolo azionario
Per semplicità, trattiamo come modello un titolo azionario i cui dividendi sono reinvestiti in azienda. I parametri di mercato che influenzano il prezzo S(t) dell’azione, al tempo t sono: Il tasso di crescita dell’azione μ La volatilità σ del prezzo S(t). Il primo indica l’andamento generale del titolo nel corso di un dato periodo di tempo, il secondo da delle indicazioni sull’ampiezza delle fluttuazioni cui e soggetto il valore del titolo in un dato periodo di tempo. Entrambi si misurano, e si calcolano, su base annua.

53 Parametri di un titolo azionario
Quindi μ=0.2 vuol dire che un’azione ha guadagnato il 20% nel corso di un anno, mentre σ=0.15 indica fluttuazioni del 15% (negative o positive che siano) rispetto il prezzo di riferimento. Questi due parametri “governano” quindi il comportamento complessivo del titolo azionario, il tasso di crescita ci da informazioni generali sul comportamento del titolo, la volatilità indica quanto il titolo e soggetto a perturbazioni da parte del suo mercato di riferimento o in seguito ad un qualche avvenimento. Ovviamente nel mercato reale μ e σ sono funzioni del tempo, e oggetto di processi stocastici. Supporremo che questi due parametri rimangano costanti nel tempo.

54 Funzione prezzo Supponiamo che la volatilità del titolo sia nulla.
Vogliamo trovare una legge che descriva come cambia il valore di un’azione, a partire da un tempo iniziale t0=0 fino ad un tempo finale T. Scriviamo la variazione di prezzo in termini di tasso di crescita ed intervallo di tempo dS = μSdt Quindi la funzione prezzo sarà: S(t) = S(t0)+dS; Notiamo che per un periodo T, S(T) = S(t0) + μS; Consideriamo la volatilità del titolo, che supponiamo essere del tipo di Wiener, da cui segue dS = μSdt + σSdW con dW = r √(dt) dove r è un valore estratto dalla distribuzione normale standardizzata, cioè con valori in [-1,1].

55 Esempio utilizzato Consideriamo la società Example S.p.A. che reinveste ogni eventuale utile senza elargire dividendi ai soci. Il titolo presenta una volatilità elevata, σ=0.3, ma nel complesso ha dimostrato di avere un tasso di guadagno annuo affidabile del 15%, μ=0.15. Supponiamo di aver acquistato azioni al valore nominale di 100€. Quanto sarà cambiato il valore del titolo tra una settimana? Ricordando che assumiamo come unità temporale l’anno, otteniamo che dt=7/365 ≈ Quindi applicando l’equazione precedente troviamo che dS=μSdt+σSdW ≈ * r L’incremento di prezzo si ottiene da una deviazione standard di media E(dS)= e deviazione standard, o scarto tipo, (la radice quadrata della Varianza Var(dS)).

56 Valutazioni Valutiamo la funzione k=100 volte con sequenze casuali diverse

57 Valutazione annuale Se volessimo stimare il prezzo assunto dall’azione tra un anno? Potremmo porre dt=1, oppure ripetere iterativamente il calcolo precedente 52 volte. Ovviamente nessun metodo (analitico, numerico o di altro tipo) potrà predire con certezza il verificarsi di un dato evento in un processo stocastico. Noi tuttavia abbiamo fatto forti assunzioni che avranno il loro peso.

58 Valutazione annuale

59 Conclusioni sull’esempio
L’esempio è molto banale e non può essere utilizzato per la stima di un titolo reale, soprattutto in questa congiuntura economica; Dovremmo assumere come processi stocastici anche gli indici μ e σ, in modo continuo al variare del tempo. Inoltre dovremmo prendere in esame altri fattori di natura aleatoria come la variazione dei tassi di interesse, la variazione dei cambi tra valute estere, le oscillazioni dei prezzi del petrolio. Tutti fattori che giocano un ruolo non sempre trascurabile sui processi che regolano i mercati.

60 Conclusioni sull’esempio
Troppe variabili sono complesse da gestire, alcune sono anche incontrollabili (uragani, terremoti); Avere un metodo di stima, anche se semplificato può comunque aiutare nella scelta dell’acquisto di un titolo;

61 Grazie per l’attenzione
Conclusioni Il metodo MC non è conveniente per le stime su problemi di dimensioni limitate; Quando le dimensioni del problema aumentano, una soluzione analitica o metodo di soluzione iterativo diventano progressivamente più complessi, se non addirittura intrattabili. In questi casi i metodi MC si rivelano un’utilissima “ultima spiaggia”; Possono essere utilizzati per confermare l’esistenza di un dato o prevedere l’esito di un esperimento, ma dopo la loro applicazione è utile trovare un modello matematico analitico con cui risolvere il problema Grazie per l’attenzione


Scaricare ppt "Metodo Montecarlo Seminario di Metodi Matematici per l’Ottimizzazione"

Presentazioni simili


Annunci Google