WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Stochastischer Prozess mit Matlab?

 

Vivien

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.05.2008, 11:34     Titel: Stochastischer Prozess mit Matlab?
  Antworten mit Zitat      
Hallo, ich hab folgenden stochastischen Prozess, den ich mit matlab darstellen möchte:

dX(t) = kappa [mu(t) - X(t) - sigma^2/2] dt + sigma*dW(t)

Hab auch schon folgenden Matlab Code:

Code:
kappa = 0.05;
sigma = 3.15;
timesteps = 1500;
x=1:timesteps;
paths = 5;
delta_t = 1;
stock = 20;

       a0 =       2.801;
       a1 =      0.3061;
       b1 =      0.2427;
       w =     0.00863;
       f =  a0 + a1*cos(x*w) + b1*sin(x*w);
       fdiff = -a1*sin(x*w) + b1*w*cos(x*w);
       mu = f + (1/kappa)*fdiff + (sigma^2/2*kappa);
       
       dW = randn(paths,timesteps) * sqrt(delta_t);
S  = zeros(paths,timesteps);    
S(:,1) = stock;      
for (i=1:timesteps-1)
   
    S(:,i+1) = S(:,i).* (kappa *(mu(i)- log(S(:,i)))*delta_t + sigma *dW(:,i));

end
       
  cp = S;    
 plot(x,cp);    


Da muss aber was falsch sein, da keine richtigen Werte für S rauskommen und die Grafik auch falsch aussieht.


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 26.05.2008, 11:58     Titel:
  Antworten mit Zitat      
Moin Vivien,

ich denke du brauchst da ODE-Solver (ode45, etc. --> Hilfe) um deine Funktion richtig zu berechnen.
Leider steig ich bei deinem Code nicht so schnell durch (ist recht unstrukturiert Wink ), sonst würd ich mal schauen, was sich machen lässt...

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Vivien

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.05.2008, 14:44     Titel:
  Antworten mit Zitat      
Was kann man mit dem ODE Solver machen?

Code:
S(:,i+1) = S(:,i).* (kappa *(mu(i)- log(S(:,i)))*delta_t + sigma *dW(:,i));


In der Zeile muss irgendwas falsch sein.
mu ist ein deterministischer Trend, die parameter a0,a1,b1 und w wurden aus einer realen zeitreihe geschätzt. Und dW ist ein Wiener Prozess, also der stochastische Einfluss.
Das Programm soll eigentlich 5 Preispfade á 1500 Elementen(Preisen) simulieren.
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 26.05.2008, 15:29     Titel:
  Antworten mit Zitat      
Ich denke der Fehler ist behoben, wenn du statt
Zitat:
Code:
S(:,i+1) = S(:,i).* (kappa *(mu(i)- log(S(:,i)))*delta_t + sigma *dW(:,i));
Code:
S(:,i+1) = S(:,i) + (kappa *(mu(i)- log(S(:,i)))*delta_t + sigma *dW(:,i));
schreibst! Dann sieht der Plot bei mir zumindest recht angenehm aus...

Das mit den ODE-Solvern war meine Idee, da ich angenommen hatte, dX(t) soll dX/dt heißen... Rolling Eyes
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.