
Quando costruisci un modello predittivo che rappresenti l’andamento di un portafoglio azionario, di un piano di progetto o delle vendite future di un determinato prodotto, di fatto, stai facendo delle ipotesi sul futuro.
Come ben potrai immaginare, però, la realtà è più complessa e non sempre le ipotesi fatte raggiungono i risultati previsti.
Infatti, c’è sempre una variabilità, dovuta a incertezza e rischio che genera scostamenti più o meno marcati rispetto a quanto pianificato.
La simulazione Monte Carlo viene in aiuto nella costruzione di questa variabilità.
Invece di dire che un titolo azionario restituirà l’X% ogni anno, potresti affermare che esso garantirà un ritorno tra l’X% e l’Y%; e poi capire cosa ciò significa per il tuo portafoglio.
Qual è la probabilità di perdere soldi? Oppure, qual è la probabilità che il titolo azionario sia remunerativo?
Una volta determinata la variabilità del modello, puoi iniziare a capire quanto esso sia effettivamente rischioso, e quindi se ne vale la pena intraprendere una decisione piuttosto di un’altra.
Come funziona la simulazione Monte Carlo
La simulazione Monte Carlo si compone essenzialmente di tre step principali:
- Creazione di un modello stocastico: in questa prima fase vengono sostituite ai valori fissi – come i prezzi delle azioni attesi e i costi del progetto – delle variabili casuali, in modo da aggiungere casualità al modello.
- Simulazione vera e propria: nel secondo step viene simulato il mondo reale in cui i valori sono incerti. In altre parole, viene ricalcolato il modello centinaia o migliaia di volte, cambiando ogni volta i valori casuali. Tali valori vengono campionati casualmente dalle distribuzioni di probabilità di input, e ognuno di essi viene registrato per essere analizzato nella fase successiva.
- Analizza i risultati: nell’ultima fase vengono analizzati i risultati della simulazione. Si esaminano le centinaia o migliaia di risultati e si ricavano le statistiche da tali risultati. Puoi usare istogrammi, intervalli di confidenza, statistiche riassuntive. In questo modo, riesci a comprendere non solo cosa potrebbe accadere, ma quanto ciò è probabile che accada.
Ad esempio, potremmo gestire un portafoglio azionario attraverso il processo di simulazione. Quindi possiamo esaminare i risultati e affermare che nel 25% dei casi il portafoglio ha perso denaro. O nel 75% dei casi, il portafoglio ha generato un surplus nel mercato specifico.
Distribuzione di probabilità più diffuse
La simulazione Monte Carlo si basa sul processo di rappresentare esplicitamente le incertezze specificando gli input come distribuzioni di probabilità.
Per evitare di ottenere risultati fuorvianti, quindi, è importante conoscere quale distribuzione di probabilità rappresenta i valori di input prima di procedere con la simulazione vera e propria.
Proprio per questo motivo, vediamo quali sono le distribuzioni più diffuse che si possono trovare.
Distribuzione Uniforme
In questa distribuzione, tutti i valori hanno le stesse possibilità di verificarsi e l’utente definisce semplicemente il minimo e il massimo. Esempi di variabili che possono essere distribuite in modo uniforme includono i costi di produzione o i futuri ricavi di vendita per un nuovo prodotto.
Distribuzione Discreta
In una distribuzione discreta, l’utente definisce i valori specifici che possono verificarsi e la probabilità di ciascuno. Un esempio potrebbe essere il risultato di una causa legale: 25% di possibilità di verdetto positivo, 35% di variazione del verdetto negativo, 30% di possibilità di insediamento e 10% di possibilità di voto.
Distribuzione Triangolare
Nella distribuzione triangolare, l’utente definisce i valori minimo, più probabile e massimo, che hanno maggiori probabilità di accadere. Le variabili che possono essere descritte da una distribuzione triangolare includono la cronologia delle vendite passate per unità di tempo ed i livelli di inventario.
Distribuzione Pert
Come per la distribuzione triangolare, anche la distribuzione Pert utilizza il valore più probabile ed è progettata per generare una distribuzione che assomigli più da vicino alla distribuzione di probabilità realistica.
Tuttavia, a differenza della distribuzione triangolare, la distribuzione Pert costruisce una curva uniforme che pone progressivamente maggiore enfasi sui valori attorno (vicino) al valore più probabile, a favore dei valori attorno ai bordi.
In pratica, questo significa che ci fidiamo della stima per il valore più probabile, e crediamo che anche se non è esattamente accurata (come raramente le stime sono), abbiamo una previsione che il valore risultante sarà vicino a quella stima.
Un esempio dell’uso di una distribuzione Pert è la descrizione della durata di un’attività nella gestione di un progetto.
Distribuzione Normale
Definita anche “curva a campana”, in questa distribuzione l’utente definisce semplicemente il valore medio e una deviazione standard per descrivere la variazione sulla media. Nella distribuzione normale si ha una maggior probabilità che i valori vicini alla media si verifichino. Esempi di variabili descritte dalla curva a campana includono i tassi di inflazione e i prezzi dell’energia.
Distribuzione Lognormale
Questo tipo di distribuzione possiede valori che sono positivamente distorti, non simmetrici come in una distribuzione normale. È usato per rappresentare valori che non vanno sotto lo zero ma hanno un potenziale positivo illimitato. Esempi di variabili descritte da distribuzioni lognormali includono valori di proprietà immobiliari, prezzi delle azioni e riserve di petrolio.
Come implementare la simulazione Monte Carlo in Excel
Dopo aver visto come funziona la simulazione Monte Carlo e quali sono le distribuzioni di probabilità che più utilizza, si può procedere alla simulazione vera e propria.
Nel caso in cui non sia possibile avvalersi di un software specifico, si può procedere utilizzando un file Excel.
Vediamo un esempio di attuazione della simulazione Monte Carlo su un progetto composto da tre attività, magari già rappresentate sul diagramma di Gantt.
Step1: Creazione del modello
Nella pianificazione del progetto, per costruire modelli di probabilità, abbiamo bisogno di un intervallo di stime (ossia un valore minimo e massimo e di un valore molto probabile).
Nell’esempio si è utilizzato un modello che riassume le tre attività (con durata espressa in giorni) come mostrato nella tabella successiva:
Per inserire la casualità nel modello appena creato, useremo la distribuzione Beta Pert (definita anche distribuzione Pert).
Questa distribuzione viene utilizzata per modellare dati accurati quando, come qui, abbiamo stime per l’intervallo di valori possibili. Richiede un valore minimo, massimo e più probabile e restituisce un campione da tale distribuzione.
Prima di continuare vediamo come utilizzarla.
Distribuzione Beta Pert
La distribuzione Beta Pert si compone dei seguenti parametri: alfa e beta, che si calcolano con le seguenti formule:


(1)
Con:
a = durata pessimistica del progetto
c = durata ottimistica del progetto
b = modalità (valore più comune)
Alfa e Beta si calcolano dai precedenti tre valori (a,b,c), e sono una riparametrizzazione della distribuzione Beta (per maggiori informazioni su come funziona tale distribuzione, guarda il video di Coursera).
In Excel, scriviamo pertanto nelle celle C8 (a), C9 (b) e C10 (c) le durate del progetto totali come mostrato nell’immagine sottostante:
Calcoliamo Alfa e Beta con le formule proposte sopra (1):
Arrivati a questo punto non ci resta che utilizzare la funzione INV.BETA.N () (che è la funzione inversa della DISTRIB.BETA.N()) che permette di determinare, data una certa probabilità, il valore che segue la distribuzione Beta Pert. In Excel la sintassi da seguire è la seguente:
Visto che la simulazione monte carlo genera valori casuali della distribuzione di probabilità, al posto della probabilità dobbiamo inserire la funzione CASUALE (), che permette di determinare un numero casuale compreso fra 0 a 1.
In definitiva, per determinare un numero casuale che corrisponde a una possibile durata del progetto si utilizza in Excel la seguente funzione:
Applichiamo quanto detto su Excel. Nella cella C12 inseriamo la formula appena indicata.
Otteniamo un valore casuale: nell’esempio ciò ci dice che il progetto ha durata complessiva poco più di 32 giorni. Come vedremo oltre però, ciò rappresenta solo una simulazione Monte Carlo che presa singolarmente ha poca efficacia. Bisogna effettuare molte altre simulazioni per poter stimare con maggiore precisione la durata del progetto.
Ora, per semplificare le statistiche, arrotondiamo tale valore con la funzione ARROTONDA (). La formula che utilizzeremo per la simulazione Monte Carlo è la seguente:
La formula ci dice che arrotondiamo all’unità il valore ottenuto dalla funzione INV.BETA.N(CASUALE(); Alfa; Beta; a; c). Con questa formula anziché 32,64866922 otteniamo 33 giorni.
Step 2: Simulazione vera e propria
Adesso siamo pronti per eseguire la simulazione Monte Carlo.
Come puoi vedere nella formula dell’immagine sopra, nella cella C15 sono stati aggiunti i simboli del dollaro ($) tra le celle per evitare che il trascinamento faccia annullare la formula. In questo modo fissando F8 (alfa), F9 (beta), C8 (a) e C10 (c) la formula funziona.
Nell’esempio proposto vengono eseguite 1000 iterazioni (a fine articolo puoi scaricare il file Excel gratuitamente per vedere tutti i risultati ottenuti dalla simulazione).
Step 3: Analizzare i risultati
Non ci resta che analizzare quanto ottenuto. Per farlo andiamo sul menù Dati, dentro la tab Analisi e clicchiamo su Analisi dati.
Comparirà un’immagine come la seguente:
Seleziona “Statistica descrittiva” e clicca ok. Comparirà il seguente riquadro:
Nell’intervallo di input inseriamo l’intervallo dove sono state eseguite le statistiche, nell’esempio $C$15:$C$1014. Scegliamo se far apparire il risultato in un nuovo foglio di lavoro o nello stesso (nell’esempio si è inserita la cella $H$35 dello stesso foglio di lavoro).
Infine, clicca sulla spunta Riepilogo statistiche e poi su ok (di fatto stiamo eseguendo l’analisi descrittiva con Excel).
Per la simulazione in esame otterremo la seguente tabella:
Otteniamo che il progetto ha una durata minima di 17, una massima di 41 e una durata media di 29 giorni.
Dalla simulazione Monte Carlo, possiamo ricavare anche la seguente tabella:
La colonna Numero indica la durata del progetto. La colonna Frequenza ci dice quante volte nella simulazione è apparsa la durata calcolata casualmente con la distribuzione beta pert.
Per calcolare la frequenza utilizza la formula CONTA.SE() come indicato nella figura successiva:
Vediamo che nella simulazione così eseguita la durata 16 non è mai stata simulata, quindi la frequenza è nulla.
E così via per tutte le durate del progetto. Ovviamente la somma delle frequenze deve consegnarti il numero delle simulazioni eseguite, altrimenti si è commesso un errore da qualche parte.
La colonna Percentuale, invece, indica la frequenza espressa in termini percentuali.
Per il calcolo basta dividere la frequenza per il numero di simulazioni e selezionare il formato cella come Percentuale. Nell’esempio, per il primo valore avremo J3/1000, come mostrato nell’immagine successiva.
La frequenza percentuale della durata di 17 è 0,20% (2/1000). E così via per il calcolo delle altre frequenze.
Infine, la colonna Cumulata indica la somma delle frequenze percentuali. Con questo dato si è creato il grafico seguente: seleziona la prima e la quarta colonna e clicca su Inserisci e poi su Grafici consigliati.
Ti si aprirà la seguente immagine:
Clicca sul grafico “Colonne raggruppate” e poi su ok, e ti comparirà un grafico simile al seguente (simile perché ho già modificato il titolo e il valore massimo dell’asse verticale).
Seguendo la stessa procedura, selezionando la prima colonna (Numero) e la terza (Percentuale) dalla tabella mostrata sopra: otterremo il grafico delle frequenze percentuali.
Si può notare che il grafico delle frequenze percentuali è molto simile a quello che rappresenta una distribuzione di probabilità normale. Infatti, creando il grafico a dispersione delle frequenze otterremo il seguente risultato:
Questo fatto avviene perché Alfa è uguale a Beta (nell’esempio sono entrambi pari a 3) e quindi si ottiene un grafico simmetrico. Cambiando il valore di uno o dell’altro (o entrambi) e rendendoli diversi tra loro, si vede che la distribuzione Beta Pert assume una forma arrotondata e simile a quella di una distribuzione triangolare.


Sintesi simulazione
Dalla simulazione proposta è possibile trarre le seguenti riflessioni:
- Il progetto ha una durata stimata da 17 a 41 giorni (anziché 16 e 42 come precedentemente stimato);
- Il progetto è completato entro 30 giorni quasi nel 60% delle simulazioni (esattamente il 58,90%);
- Possiamo anche invertire la domanda e chiedere quale sarebbe il tempo di completamento (basato sulla probabilità della simulazione) a vari livelli di probabilità. Ad esempio, durante la simulazione, c’è stata una probabilità dell’80% che il progetto fosse completato in meno di 34 giorni.
- Dalle analisi effettuate, sembra molto probabile che il progetto verrà concluso entro 39/40 giorni.
Conclusioni
L’analisi di cui sopra e i dati presi dalla simulazione sono interamente basati sulle stime del progetto che sono state create nel primo passaggio. La validità e l’utilità dell’analisi, quindi, dipendono fortemente dalla stima iniziale eseguita.
Se le stime sono troppo ampie, o troppo strette, o anche se il punto “più probabile” si trova nel punto sbagliato tra i valori, l’analisi potrebbe indicare un rischio complessivo sbagliato.
È anche importante non creare stime troppo ampie e assumere che si possa usare l’analisi per restringere le probabilità.
Nella pianificazione del progetto, le stime rappresentano una combinazione di arte e abilità, mentre l’analisi Monte Carlo è solo uno strumento che lo completa.
In definitiva, se è possibile generare stime di progetti fattibili, allora l’analisi Monte Carlo può essere preziosa per aiutare a identificare e comprendere i rischi nei modelli di pianificazione del progetto.
Scarica il file Excel d’esempio
Come promesso, clicca sul bottone sotto per scaricare il file Excel d’esempio usato nell’articolo.