Miglioriamo insieme il mondo del risparmio gestito

Questo Blog ha lo scopo di alimentare un dibattito che ci auguriamo posso accrescere anche la nostra e la vostra cultura finanziaria, per colmare il gap che ci differenzia dal mondo anglosassone e per poi far prevalere la nostra creatività e genialità tipiche del popolo Italiano

  • Home
    Home Questo è dove potete trovare tutti i post del blog in tutto il sito.
  • Categorie
    Categorie Consente di visualizzare un elenco di categorie di questo blog.
  • Tags
    Tags Consente di visualizzare un elenco di tag che sono stati utilizzati nel blog.
  • Bloggers
    Bloggers Cerca il tuo blogger preferito da questo sito.
  • Accesso
    Login Modulo Login
Inviato da il in Miglioriamo insieme il mondo del risparmio gestito
  • Dimensione carattere: Maggiore Minore
  • Visite: 22684
  • 42 Commenti - Inserisci il tuo

Come creare una simulazione Montecarlo in Excel

Pochi sanno che le basi delle simulazioni Montecarlo sono attribuite a Enrico Fermi e Jon Von Neumann, quest’ultimo è il creatore del primo computer e anche mentore di Harry Markowitz all’inizio della sua carriera di pratictioners (erano gli anni '40).

Il nome Montecarlo è stato dato all’approccio in onore del famoso casinò monegasco, in quanto questi modelli simulano dati casuali con varie metodologie.

Queste simulazioni sono utili per comprendere le caratteristiche delle serie storiche finanziarie e delle probabilità ad esse collegate che spesso sono difficili da comprendere senza computazione dei dati.

Per esempio, se acquisto un fondo che ha una media storica di rendimento annuo del 5% e una volatilità del 7%, che probabilità ho di avere un rendimento positivo l’anno successivo? e dopo tre anni? e dopo cinque anni?

Queste risposte si possono dare con calcoli matematici di probabilità, ma anche e forse più semplicemente con delle simulazioni Montecarlo che simulano serie storiche che abbiano una media ed una varianza stabilite.

Per rispondere all’esempio precedente creeremo insieme un semplice foglio excel che vi permetta di elaborare delle serie storiche casuali e quindi che vi permettano di generare le simulazioni e di conseguenza i risultati.

Per chi fosse interessato solo ai risultati e alle mie considerazioni, invito a leggere la parte finale e saltare il testo in corsivo qui sotto.

 

Quindi aprite un bel foglio vergine di Excel e cominciamo con la creazione di un bel simulatore Montecarlo.

Innanzitutto bisogna decidere se utilizzare serie storiche annuali, mensili, settimanali ovvero giornaliere.

Supponiamo di creare delle serie storiche settimanali, quindi andiamo sulla cella A10 ed inseriamo la data 31/12/2006 e sulla cella A11 scriviamo +A10+7 per avere la data della settimana successiva e trasciniamo poi fino alla cella 532 (fine 2016)

Sulla cella B10 scriviamo +casuale.tra(0;10000)/10000 e poi trasciniamo per tutte e 520 le righe corrispondenti ad una data della colonna A.

Questa semplice operazione permette ogni volta che si scrive qualcosa sul foglio di avere un nuovo numero che rappresenta una probabilità da 0 a 100% di ottenere un rendimento lungo la normale dei rendimenti che andremo a creare ora.

Sulla cella A2 scrivete: “Media annuale:” e sulla cella B2 scrivete per esempio 5% (la potrete modificare come volete in seguito); la cella modificabile potete colorarla come sfondo di azzurro, indice che è un valore personalizzabile

Sulla cella A3 scrivete: “Deviazione Standard annuale:” e sulla cella B3 scrivete per esempio 7% (anche questo valore su sfondo azzurro).

 

Sulla cella A4 scrivete: “Media su base settimanale:” e la seguente formula: +((100+B2*100)/100)^(1/52)-1 (dovrebbe venire se avete messo 5% il numero 0,00093871).

Sulla cella A5 scrivete “volatilità su base settimanale:” e inserite la seguente formula +B3/radq(52) anche in questo caso potete verificare il numero in caso di 7% in 0,00970725.

A questo punto siamo pronti a generare i rendimenti casuali in base alla normale dei rendimenti utilizzando la formula di Excel INV.NORM.(

Nella cella C10 inserire la seguente stringa: =INV.NORM.(B10;B$4;B$5) che praticamente prende la probabilità calcolata in B10 lungo la distribuzione normale e ne estrae un rendimento che può essere positivo ( se probabilità sopra 50%) o negativo (se probabilità sotto 50%).

Trascinando la stessa funzione per tutta la colonna si ottengono i rendimenti della vostra serie storica simulata con metodologia Montecarlo.

Nella colonna D a questo punto è facile realizzare una serie storica che partendo da 100 grazie ai rendimenti della colonna C crea un andamento nel tempo casuale. 

Praticamente nella cella D9 inserire 100 e nella cella D10 scrivere +D9+D9*C10.

A questo punto con una semplice macro è possibile copiare la colonna D centinaia di volte ed incollarla su un nuovo foglio in modo da generare il numero di esempi desiderati.

 

VANTAGGI E SVANTAGGI DELLA SIMULAZIONE MONTECARLO

Questa metodologia di simulazione ha alcuni pregi notevoli: 

1) è facile da implementare

2) permette di simulare andamenti storici casuali

3) permette di comprendere meglio i possibili risultati in base alle caratteristiche base di uno strumento finanziario

4) toglie l’effetto cosiddetto “ad hoc” quando si fanno dei back test

 

Per contro le simulazioni montecarlo non tengono conto di alcuni effetti che in realtà nei mercati finanziari esistono e ne determinano le caratteristiche strutturali.

Parlo del fenomeno di auto-correlazione di una serie storica finanziaria, ovvero quel fenomeno che se la serie storica cresce tende a crescere e se sta calando continua a calare.

Questo fenomeno deriva dall’emotività dei mercati finanziari, tutto  cresce e allora sono euforici e quindi continuano a crescere creano bolle; ovvero i mercati perdono valore e tutti sono preoccupati che possa continuare e vendono alimentando il calo dei mercati.

Altro grosso problema non stimato dalle simulazioni montecarlo, almeno quelle basate sulla normale dei rendimenti come abbiamo simulato noi, è che la volatilità cambia nel tempo e tende a crescere soprattutto quando i mercati vanno male, quindi se la volatilità cresce, aumenta la variabilità dei rendimenti e di conseguenza i potenziali drawdown.

 

CONCLUSIONI

Quindi se volete capire bene o male cosa aspettarvi dal vostro investimento o portafoglio diversificato di fondi, la simulazione Montecarlo più essere utile a comprendere i vari scenari, ma se volete testare delle strategie di timing, le serie storiche risultanti non sono indicative proprio per i problemi evidenziati sopra.

Per completare l'esempio iniziale, un investimento come il fondo Target Strategy, di cui parlerò nei prossimi post, che ha un Expected Return del 5% annuo in cinque anni ed una volatilità di poco inferiore al 7%, ha probabilità di ottenere rendimenti positivi crescenti con il passare del tempo secondo questa tabella derivante dalla simulazione Montecarlo:

Questo è il motivo per cui abbiamo chiaramente indicato che per avere un rendimento medio annuo del 5% sia necessario aspettare cinque anni, in quanto può succedere, anzi è probabile che i rendimenti non siano sempre quelli attesi nel breve periodo.

Se qualcuno vuole il file excel creato sopra nella spiegazione, può trovarlo cliccando qui: Simulazione-Montecarlo-per-Bitcoin.xlsx

Buon week end e buon lavoro a tutti.

DB

 

Commenti

  • Ospite
    gianluca Venerdì, 28 Ottobre 2016

    la leggo sempre con piacere, sarei interessato al file, gianlucamartella@gmail.com
    Grazie Gianluca

  • Daniele Bernardi
    Daniele Bernardi Sabato, 29 Ottobre 2016

    Grazie Gianluca dei complimenti, mi da forza per continuare con questa impresa di diffusione di cultura finanziaria
    DB

  • Ospite
    Paolo Tirabassi Sabato, 29 Ottobre 2016

    Davvero interessante. Chiedo anch'io cortesemente il file. Indirizzo: info@studiotirabassi.it
    Sebbene convenga anch'io circa i problemi originati dal variare della volatilità nel tempo e dalla vischiosità dei trend, ritengo che la simulazione Montecarlo possa essere uno strumento utile per prospettare agli investitori i rischi impliciti nelle scelte.

  • Daniele Bernardi
    Daniele Bernardi Sabato, 29 Ottobre 2016

    Grazie Paolo, abbiamo la stessa visione, continui a seguirci e a condividere ciò che ritiene interessante
    Db

  • Ospite
    Fabrizio Monge Sabato, 29 Ottobre 2016

    Mi farebbe piacere ricevere il file. Grazie ! fabrizio.monge@gmail.com

  • Ospite
    Maurizio Placido Domenica, 30 Ottobre 2016

    Veri complimenti Bernardi,
    mi piacerebbe applicare il suo file xlsx ad alcuni casi in mio possesso.
    La ringrazio per il suggerimento. la mia mail è maurizpl9@gmail.com

    Buona domenica

  • Daniele Bernardi
    Daniele Bernardi Domenica, 30 Ottobre 2016

    Grazie Maurizio dei complimenti, mi da forza per continuare con questa impresa settimanale di diffusione di cultura finanziaria.
    continua a seguirci ed a condividere i temi che ritieni utili

    DB

  • Ospite
    Maggiorino Domenica, 06 Novembre 2016

    Grazie anticipate! maggiorino.guida@gmail.com

  • Ospite
    Aldo Venerdì, 11 Novembre 2016

    Salve, sono uno studente di finanza, innanzitutto volevo farle i complimenti per il suo blog.
    Volevo chiederle quale fosse la macro che lei menziona e se gentilmente mi potrebbe inviare il suo file.
    La mia mail è aldo.prifti@alice.it
    La ringrazio in anticipo.

  • Ospite
    Aldo Venerdì, 11 Novembre 2016

    Salve sono uno studente di finanza, per favore potrebbe inviarmi il suo file all'indirizzo aldo.prifti@alice.it.
    Inoltre volevo chiederle quale fosse la macro che menziona nell'articolo.
    La ringrazio in anticipo e complimenti per il blog.

  • Ospite
    Diego Sabato, 26 Novembre 2016

    Complimenti, articolo molto interessante.

    Anche io le sarei grato se mi inviasse il file excel alla mail diego.bossio@libero.it

    Grazie mille

  • Ospite
    Emilio Sonlieti Martedì, 29 Novembre 2016

    Vi ringrazio e chiedo l'invio del file Excel al seguente indirizzo: emilio.sonlieti@bancadipiacenza.it

  • Ospite
    Cesare Lunedì, 23 Gennaio 2017

    Ha per caso effettuato una simulazione Montecarlo che estrae i dati da un determinata serie (estrazione ed eliminazione del dato estratto) in modo tale che il percorso è simulato ma il punto di arrivo è il medesimo?

  • Daniele Bernardi
    Daniele Bernardi Lunedì, 23 Gennaio 2017

    Gentile Cesare, non ho seguito questa logica (che è una forma di Bootstrapping) ma una logica casuale pura, dove il rendimento è estratto in base a media e varianza e la funzione casuale di excel.
    Delle tecniche di bootstrapping ne parlerò in futuro perché anch'esse hanno pregi e difetti.
    Continui a seguirci
    DB

  • Ospite
    Sigfrido Lunedì, 30 Gennaio 2017

    Articolo molto interessante. Quindi titoli che hanno lo stesso rendimento e la stessa volatilità dovrebbero avere un comportamento simile?
    In base alle sue indicazioni sono riuscito a creare il file excel, ma non la macro per generare la moltitudine di simulazioni. Le sarei grato se potesse inviarmi il file excel + la macro ad esso legata (credo).
    Grazie infinite

    La mia e-mail: andstef@tiscalinet.it

    Grazie.

    Sigfrido

  • Ospite
    lorenzo Domenica, 18 Giugno 2017

    Buongiorno,
    ho visto che il file che, gentilmente, mi ha inoltrato presenta più pagine rispetto a quelle descritte nel suo impeccabile post. Posso chiederle con quale matrice è possibile recplicare la colonna D centinaia di volte? E' possibile, nel caso, avere istruzioni dettagliate su come ha fatto a creare anche i folgi excel risultati e risultati2?
    Grazie, saluto

  • Ospite
    Marco Manneschi Domenica, 16 Luglio 2017

    Da studente universitario di statistica trovo questi articoli veramente molto interessanti e molto stimolanti, complimenti.
    Le sarei davvero grato se potesse inviarmi il file excel.

    La mia mail è: marcomanneschi1234@gmail.com

    La ringrazio ancora della disponibilità.

    Cordiali Saluti
    Marco Manneschi

  • Ospite
    Giovanni Sermisoni Lunedì, 17 Luglio 2017

    Blog appena scoperto.
    Ottima formazione...
    gser64@alice.it
    Grazie.

  • Ospite
    federico pascucci Giovedì, 28 Settembre 2017

    Molto interessante la spiegazione di questo articolo. Non sapevo che il nome Montecarlo derivasse dalle simulazioni fatte per battere il famoso casino.

  • Daniele Bernardi
    Daniele Bernardi Venerdì, 29 Settembre 2017

    Grazie Federico, sempre un piacere dare informazioni interessanti ai miei lettori.
    Continua a seguirci e farci sapere le tue opinioni, DB

Lascia il tuo commento

Ospite Domenica, 15 Giugno 2025