|
|
Simulation des Aktienkurses |
|
sgadzhie |

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 15.02.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.02.2013, 18:02
Titel: Simulation des Aktienkurses
|
 |
Hallo zusammen!
ich programmiere in Matlab erst seit 2 Tagen und habe ein Problemchen. Hoffe sehr, dass Ihr mir helfen könnt.
Also, ich muss einen Aktienkurs nach folgender Formel simulieren.
S_t = (S_t-1)^(1-k) * exp (mu*k + sigma*E)
Parameter sind:
E soll eine standardnormalverteilte Zufallsvariable sein.
Das ganze muss über 100 Tage und jeweils 2000 Pfade simuliert werden. (also so dass man 2000 Aktienkurse hat, die in 1 starten).
Ich habe folgendes Programm geschrieben und wollte wissen, ob die richtig ist, ich habe da so meine zweifel.
Was meint Ihr? Sabina
edit by denny: bitte die Codeformatierung verwenden. Danke!
|
|
|
|
|
Seban |

Forum-Meister
|
 |
Beiträge: 600
|
 |
|
 |
Anmeldedatum: 19.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab R2014b
|
 |
|
|
 |
|
Verfasst am: 16.02.2013, 18:52
Titel:
|
 |
|
|
sgadzhie |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 15.02.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.02.2013, 01:37
Titel:
|
 |
Hallo Sebastian!
ja, ich wollte nur sicher gehen ich denke auch, dass ich es so lasse. Es geht um eine Teilaufgabe in meier Bachelorarbeit. Vielen Dank, dass Du es Dir angeschaut hast!
Schöne Grüße!
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 17.02.2013, 10:35
Titel:
|
 |
Hallo,
Fehler sehe ich auch keine. Man könnte höchstens versuchen, eine der for-Schleifen zu entfernen, um das ganze auch für große M effizienter zu bekommen.
Nur aus Neugierde: mich verwundert der Exponent bei S. Hat diese Art Modell einen bestimmten Namen?
Grüße,
Harald
|
|
|
sgadzhie |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 15.02.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.02.2013, 13:45
Titel:
|
 |
Das ist eine diskrete Version des Ornstein-Uhlenbeck-Modells für Stockpreise. Es lautet eigentlich
log(S_t+1) = (1-k)(log(S_t) -mu) +mu + sigma*E,
wobei E eine standardnormal-verteilte Zufallsvariable ist, mu, sigma und k sind konstant. Exponent bekomme ich, wenn ich die obige Formel nach S_t+1 auflöse.
Also das ganze muss ich eigentlich über n= 999 und M=20.000 simulieren, also eine (Mxn+1)-Matrix soll das Ergebnis sein.
Ich brauche es eigentlich für sehr große M, also M=20.000..... und wenn ich es so simuliere, dauert es ewig... also meinst du ich soll die for-Schleife entfernen?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.02.2013, 13:57
Titel:
|
 |
Hallo,
ja, das kann das ganze locker 10 Mal so schnell machen.
Ich würde zunächst die Schleifen vertauschen (dann kann man sich das besser vorstellen), und dann die innere for-Schleife mit Hilfe von .* und .^ vektorisieren.
Probier es sicherheitshalber dann für "normale" M und schau, ob du vergleichbare Ergebnisse bekommst.
Grüße,
Harald
|
|
|
sgadzhie |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 15.02.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.02.2013, 14:27
Titel:
|
 |
Also ich habe es ausprobiert, hoffentlich habe ich Deine Idee, Harald, richtig verstanden:
und es geht tatsächlich viel schneller! Ist das so, wie Du es gemeint hast??
Schöne Grüße
edit by denny: Bitte die Codeformatierung verwenden
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.02.2013, 15:00
Titel:
|
 |
Hallo,
dass das so schon viel schneller geht, wundert mich ein wenig.
Ich meinte aber, dass du die innere for-Schleife auch weglassen und dann mit Zeilen-Operationen arbeiten kannst. Das sollte dann nochmal deutlich schneller sein.
Grüße,
Harald
|
|
|
sgadzhie |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 15.02.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.02.2013, 15:21
Titel:
|
 |
ich habe jetzt auch nur eine Schleife benutzt und es geht prima
Vielen Dank, für Hilfe!
[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke]
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.02.2013, 16:55
Titel:
|
 |
Hallo,
genau so war es gedacht. Es sollte jetzt deutlich schneller sein, insbesondere für große M.
Grüße,
Harald
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|