Creare una simulazione di Monte Carlo usando Excel

Tutorial: Metodo Montecarlo con MS Excel (Novembre 2024)

Tutorial: Metodo Montecarlo con MS Excel (Novembre 2024)
Creare una simulazione di Monte Carlo usando Excel

Sommario:

Anonim

Svilupperemo una simulazione Monte Carlo usando Microsoft Excel e un gioco di dadi. La simulazione Monte Carlo è un metodo numerico matematico che utilizza disegni casuali per eseguire calcoli e problemi complessi. Oggi è ampiamente utilizzato e svolge una parte fondamentale in vari settori quali la finanza, la fisica, la chimica, l'economia e molti altri.

Monte Carlo Simulation

Il metodo Monte Carlo è stato inventato da Nicolas Metropolis nel 1947 e cerca di risolvere problemi complessi utilizzando metodi casuali e probabilistici. Il termine "Monte Carlo" deriva dall'area amministrativa di Monaco conosciuta come luogo dove le elite europee giocano. Usiamo il metodo Monte Carlo quando il problema è troppo complesso e difficile da eseguire con il calcolo diretto. Un gran numero di iterazioni consente una simulazione della distribuzione normale.

Il metodo di simulazione di Monte Carlo calcola le probabilità di integrali e risolve le equazioni differenziali parziali, introducendo così un approccio statistico al rischio in una decisione probabilistica. Sebbene esistano molti strumenti statistici avanzati per creare simulazioni di Monte Carlo, è più facile simulare la legge normale e la legge uniforme usando Microsoft Excel e ignorare le basi matematiche.

Per la simulazione Monte Carlo, isolamo una serie di variabili chiave che controllano e descrivono il risultato dell'esperimento e assegnano una distribuzione di probabilità dopo che viene eseguito un gran numero di campioni casuali. Prendiamo un gioco di dadi come modello.

Game of Dice

Ecco come gioca il gioco dei dadi:

• Il giocatore lancia tre dadi che hanno 6 lati 3 volte.

• Se il totale dei 3 tiro è 7 o 11, il giocatore vince.

• Se il totale dei 3 tiro è: 3, 4, 5, 16, 17 o 18, il giocatore perde.

• Se il totale è un altro risultato, il giocatore riproduce e rilancia il dado.

• Quando il giocatore lancia nuovamente il dado, il gioco continua allo stesso modo, salvo che il giocatore vince quando il totale è uguale alla somma determinata nel primo turno.

Si raccomanda inoltre di utilizzare una tabella dati per generare i risultati. Inoltre, sono necessari 5, 000 risultati per preparare la simulazione di Monte Carlo.

Fase 1: eventi di rotolamento dei dadi

In primo luogo, sviluppiamo una gamma di dati con i risultati di ciascuno dei 3 dadi per 50 rotoli. A tal fine, si propone di utilizzare la funzione "RANDBETWEEN (1. 6)". Così, ogni volta che fai clic su F9, generiamo un nuovo insieme di risultati di roll. La cella "Outcome" è la somma dei risultati dei tre rotoli.

Fase 2: Gamma di risultati

Quindi, dobbiamo sviluppare una gamma di dati per identificare i possibili risultati del primo turno e dei successivi round. Viene fornito sotto un intervallo di dati a 3 colonne.Nella prima colonna abbiamo i numeri da 1 a 18. Queste cifre rappresentano i possibili risultati successivi al rotolamento dei dadi 3 volte: il massimo è 3 * 6 = 18. Noterete che per le celle 1 e 2, i risultati sono N / A perché è impossibile ottenere un 1 o un 2 utilizzando 3 dadi. Il minimo è 3.

Nella seconda colonna sono incluse le possibili conclusioni dopo il primo turno. Come indicato nella dichiarazione iniziale, il giocatore vince (vincita) o perde (perdere) o riprende (ri-roll), a seconda del risultato (il totale di 3 dadi di dadi).

Nella terza colonna vengono registrate le eventuali conclusioni per i successivi round. Possiamo ottenere questi risultati utilizzando una funzione "If. "Questo assicura che se il risultato ottenuto è equivalente al risultato ottenuto nel primo turno, vinciamo, altrimenti seguiamo le regole iniziali del gioco originale per determinare se ri-rollare i dadi.

Passo 3: Conclusioni

In questa fase, individuiamo l'esito dei 50 dadi di dadi. La prima conclusione può essere ottenuta con una funzione di indice. Questa funzione cerca i possibili risultati del primo round, la conclusione corrispondente al risultato ottenuto. Ad esempio, quando ottieni 6, come accade nell'immagine qui sotto, riproduciamo di nuovo.

È possibile ottenere i risultati di altri rulli da dadi, utilizzando una funzione "Or" e una funzione di indice annidata in una funzione "If". Questa funzione dice a Excel: "Se il risultato precedente è la vittoria o la perdita," smettere di rotolare i dadi perché una volta che abbiamo vinto o perso abbiamo finito. Altrimenti, andiamo alla colonna delle seguenti conclusioni possibili e individuiamo la conclusione del risultato.

Fase 4: Numero di rotoli di dadi

Ora, determiniamo il numero di rotoli di dadi richiesti prima di perdere o vincere. A tal fine, possiamo usare una funzione "Contrimo", che richiede che Excel calcoli i risultati di "Re-roll" e aggiungi il numero 1 ad esso. Lo aggiunge perché abbiamo un turno aggiuntivo, e abbiamo un risultato finale (vincere o perdere).

Passo 5: Simulazione

Sviluppiamo una gamma per monitorare i risultati di simulazioni diverse. Per fare questo, creeremo tre colonne. Nella prima colonna, una delle figure incluse è 5, 000. Nella seconda colonna cercheremo il risultato dopo 50 dadi di dadi. Nella terza colonna, il titolo della colonna, cercheremo il numero di rotoli di dadi prima di ottenere lo stato finale (vincere o perdere).

Quindi, creeremo una tabella di analisi sensibilità usando i dati delle funzioni o la tabella dati tabella (questa sensibilità verrà inserita nella seconda tabella e nelle terze colonne). In questa analisi di sensibilità, il numero di eventi da 1 a 5 000 deve essere inserito nella cella A1 del file. Infatti, si potrebbe scegliere qualsiasi cella vuota. L'idea è semplicemente di forzare ogni volta un ricalcolo e di ottenere nuovi rotoli di dadi (risultati di nuove simulazioni) senza danneggiare le formule in vigore.

Fase 6: Probabilità

Possiamo finalmente calcolare le probabilità di vincere e perdere. Lo facciamo usando la funzione "Contrimo".La formula conta il numero di "vincere" e "perdere", quindi divide per il numero totale di eventi, 5, 000, per ottenere la proporzione rispettiva di uno e l'altro. Alla fine vediamo di seguito che la probabilità di ottenere un risultato di Win è 73. 2% e ottenere un risultato perdere è quindi 26. 8%.