Sentendo nominare la parola Monte Carlo in televisione si pensa subito al famoso quartiere del Principato di Monaco, simbolo del jet set, della ricchezza e della moda, divenuto celebre in tutto il mondo grazie anche al Gran Premio di Formula 1. Non tutti sanno, invece, che questo luogo geografico – e in particolare il casinò omonimo – ha dato il nome ad un’ampia classe di metodi computazionali per la risoluzione di algoritmi matematici, inventati negli anni Quaranta ed utilizzati nei più disparati campi del sapere. Più in dettaglio, i cosiddetti metodi Monte Carlo sono stati inventati dai fisici che lavoravano nei laboratori di Los Alamos durante la Seconda guerra mondiale, fra cui il premio Nobel Enrico Fermi, che fu uno dei primi ad usarli per studiare la diffusione dei neutroni all’interno della grafite, senza però lasciare alcuna pubblicazione ai posteri.
Le caratteristiche dei metodi Monte Carlo
Nati dunque dalla fisica, si sono in seguito diffusi in molte branche del sapere, dalla statistica inferenziale all’ottimizzazione stocastica, dalla chimica molecolare fino ai sistemi complessi, ossia quei sistemi la cui evoluzione non è descrivibile se non considerando l’interazione fra le variabili in gioco, a causa dell’elevato numero di agenti. Entrando più nello specifico, le simulazioni Monte Carlo sono utilizzate nel caso in cui vengano studiati i percorsi di sistemi stocastici dinamici sia a tempo continuo sia a tempo discreto. I processi di tipo Monte Carlo vengono simulati con un qualsiasi linguaggio di programmazione di alto livello, come C++, Python, MATLAB, Julia, o altri.
La simulazione si può suddividere in quattro step distinti:
- Generazione di numeri pseudo-random (il prefisso pseudo indica che nel loro processo di origine vi è comunque alla base una successione deterministica);
- Trasformazione in variabili casuali;
- Generazione di percorsi specifici in base al dominio;
- Analisi degli output.
Solamente il primo step è comune a tutti i metodi Monte Carlo, mentre i successivi differiscono in base al sistema preso in considerazione (nel nostro caso studieremo il prezzo di un’azione e la sua evoluzione nel tempo).
I metodi più comuni per la generazione di numeri pseudo-random sono tre: Van Der Corput, Halton e Sobol. Questi producono sequenze “a bassa discrepanza”, ossia tali che la proporzione dei numeri generati in un intervallo di dimensioni qualsiasi sia proporzionale alla grandezza dell’intervallo stesso. In maniera più semplice, una condizione indispensabile di queste distribuzioni è la loro omogeneità: non devono esservi regioni dello spazio in cui vi sia una concentrazione di numeri più elevata delle altre, come avviene ad esempio nel caso di una distribuzione normale. Successivamente gli output vengono trasformati in normali standard o in altre distribuzioni di probabilità (Poisson, polilogaritmica, esponenziale), in base al sistema preso in considerazione.
Senza entrare nel dettaglio del formalismo matematico di alto livello, l’idea in gioco è che risolvendo le equazioni si hanno delle rappresentazioni analitiche delle possibili evoluzioni del tempo di un sistema fisico: questi risultati vengono confrontati con gli omologhi ottenuti dai metodi Monte Carlo, nei quali genericamente si stima la distribuzione di probabilità dai dati precedentemente noti. Quanto più i due risultati sono coerenti, tanto più la simulazione può essere considerata accurata, partendo sempre dal presupposto che, soprattutto in sistemi aleatori come quello azionario, non vi è ovviamente nulla di certo.
Le applicazioni in finanza
Un esempio molto interessante è rappresentato da un’opzione vanilla put o call, il cui prezzo di stock può essere modellizzato tramite equazioni differenziali stocastiche, come il modello di Black-Scholes. Avendo quindi conoscenza matematica del campione possono essere effettuate delle previsioni sul payoff. Ciò è utile ad esempio nel caso di opzioni asiatiche, in cui non si ha una conoscenza analitica ma si può solo effettuare la simulazione Monte Carlo. Nel caso particolare si usa un metodo statistico denominato “variabili di controllo”, in cui si vuole conoscere il valore di aspettazione di una variabile casuale avendo noto il valore medio di un’altra variabile casuale correlata con la prima. Per calcolare il payoff di questo titolo derivato si possono utilizzare due medie diverse, quella aritmetica e quella geometrica, ottenendo una formula molto complessa per l’andamento del prezzo nel tempo. Per maggiori informazioni si può vedere il libro di Clewlow e Strickland Implementing Derivatives Models.
I metodi Monte Carlo sono tantissimi e diversi l’uno dall’altro: in questo articolo ne abbiamo accennato qualcuno comunemente utilizzato in finanza; se la vostra curiosità vi porta a guardare oltre, sono molto interessanti da studiare i metodi riguardanti il clustering, come l’algoritmo di Wolff, di Metropolis-Hastings, o Hit and Run.
https://startingfinance.com/fisica-matematica-finanza-arch/