Clever-Excel-Forum

Normale Version: Monte Carlo Simulation mit ungleich verteilter Normalverteilung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Ich stehe vor dem Problem, dass sich mit Excel keine Zufallszahlen aus einer ungleich verteilten Normalverteilung berechnen lassen. 

Ich würde gerne die Entwicklung von einer Investition mit einer Monte Carlo Simulation prognostizieren. Soweit ist das auch unproblematisch mit einer Normalverteilung. 

Mit der Formel norm.vert() kann man leider nur eine Zufallszahl aus einer Standardnormalverteilung berechnen. Also nur wenn Mittelwert und Median übereinstimmen. Allerdings sind die Aktienmarktrenditen ungleich verteilt. Das bedeutet Mittelwert und Median fallen auseinander. Die grüne Linie unter folgendem Link zeigt eine typische ungleich verteilte Normalverteilung: https://de.m.wikipedia.org/wiki/Normalverteilung 

Mit der Zufallszahlengenerierung von Excel komme ich nicht weiter, weil sich damit immer nur eine Wertentwicklung generieren lässt, sodass ich das nicht als Monte Carlo Simulation durchlaufen lassen kann. 

Die Renditen am Aktienmarkt sehen als Beispiel ungefähr so aus:
Mittelwert/Erwartungswert 8%
Median 6%
Varianz/Standardabweichung 20%

Hat jemand eine Idee, wie ich anhand dieser Eckdaten eine Zufallszahl mit excel berechnen kann?
Verstehe ich etwas falsch oder kann man die grüne Normalverteilung nicht mit =NORM.VERT(x;-2;0,5;FALSCH) berechnen?
(17.12.2020, 15:26)LCohen schrieb: [ -> ]Bei sulprobil: berndplumhoff.gitbook.io/sulprobil/risk-management/options/monte-carlo-simulation

Die Simulation von sulprobil hilft mir leider nicht weiter. Da wird etwas anderes berechnet. Ich kann auch kein VBA programmieren. Und ich verstehe auch nicht so richtig was da berechnet wird.

(17.12.2020, 15:46)Der Steuerfuzzi schrieb: [ -> ]Verstehe ich etwas falsch oder kann man die grüne Normalverteilung nicht mit =NORM.VERT(x;-2;0,5;FALSCH) berechnen?

Mit =NORM.VERT(x;-2;0,5;FALSCH) wird die Verteilung nur verschoben. Sie bleibt aber gleich verteilt. 

Andere Ideen?
Mal doch einmal Deine gewünschte Kurve, so wie sie sich aus den historischen (oder gewünschten) Werten in etwa ergibt.
Du kannst doch z. B. mit
https://berndplumhoff.gitbook.io/sulprob...andgeneral
fast alles näherungsweise darstellen.
(17.12.2020, 16:02)Sulprobil schrieb: [ -> ]Mal doch einmal Deine gewünschte Kurve, so wie sie sich aus den historischen (oder gewünschten) Werten in etwa ergibt.
Du kannst doch z. B. mit
https://berndplumhoff.gitbook.io/sulprob...andgeneral
fast alles näherungsweise darstellen.

Historisch sieht das so aus:
[attachment=35918]

Mittelwert: 10,67%
Median: 14,77 %
Standardabweichung: 17,41%
Nimm dies:
https://berndplumhoff.gitbook.io/sulprob...ndhistogrm

Der Aufruf muss dann etwa so erfolgen:
=sbRandHistoGrm(-42%;98%;{8.15.30.50.47.81.74.39.20.12.0.1})
(17.12.2020, 17:52)Sulprobil schrieb: [ -> ]Nimm dies:
https://berndplumhoff.gitbook.io/sulprob...ndhistogrm

Der Aufruf muss dann etwa so erfolgen:
=sbRandHistoGrm(-42%;98%;{8.15.30.50.47.81.74.39.20.12.0.1})
 
Vielen Dank für deine Hilfe!

Aber es passt glaube ich nicht. Ich würde ungerne mit diskreten Werten für die Klassen der Verteilung arbeiten. Das hat verschiedene Gründe. Zum einen kann ich das nur sehr aufwändig aktualisieren und zum anderen begrenze ich damit die möglichen Ergebnisse auf den historischen Bereich der Ergebnisse.

Das Ergebnis wird auch nicht automatisch oder manuell aktualisiert. Das passiert nur, wenn ich das Feld bearbeite.
Du kannst Deine Verteilung auch durch (d)eine "Experten"-Schätzung festlegen.
Probiere zum Beispiel:
=GAMMA.VERT(ZUFALLSZAHL();0,75;1;Falsch)

Es ist aber nicht leicht, Dir zu helfen, wenn Du aufgrund mangelnden Wissens die Dir gegebenen Tipps nicht anpassen/variieren kannst.

So könntest Du z. B. in meiner Funktion am Anfang den Befehl Application.Volatile einfügen. Dann bekämst Du nach jedem Drücken von F9 eine neue Zufallsausgabe.
Die Gammaverteilung hilft mir leider auch nicht weiter.

Ich kenne mich leider nicht mit VBA aus. Wie bzw. in welcher Zeile muss ich denn den Befehl Application.Volatile in die Funktion =sbRandHistoGrm einfügen?
Seiten: 1 2