|
|
Korrelation zwischen zwei Zufallsprozesse |
|
goalyralf |

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 05.08.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.08.2010, 11:30
Titel: Korrelation zwischen zwei Zufallsprozesse
|
 |
Hallo liebe Forum-Mitglieder,
ich habe nur ne kurze Frage und vll ist einer so freundlich und kann sie mir beantworten.
In meiner Monte Carlo Simulation habe ich zwei Zufallsprozesse. Eine geometrisch brownsche Bewegung und einen mean reversion Prozess.
Bisher sehen die zwei so aus und die Simulation funktioniert:
R(:, a)=R(:,a).*exp((my(:,a)-lam_R*sigma_t-sigma_t^2/2)+sigma_t*anti(a,1)*R_randn);
gamma_next(:, a)=gamma(:,a)*exp(-k_gamma)+(1-exp(-k_gamma))*(gamma_quer-lam_gamma*phi_t/k_gamma)+sqrt((1-exp(-2*k_gamma))/(2*k_gamma))*phi_t*anti(a,1).*gamma_randn;
Ich möchte jetzt gerne, dass die zwei Zufallsvariablen miteinander um 0,5 korreliert sind, da normalerweise sich die Kosten in die gleiche Richtung wie der Umsatz bewegen.
Hat hier zufälligerweise einer eine Lösung am Start? Ihm wäre ich sehr dankbar...
Thanks,
Ralf
|
|
|
|
|
Vito |

Forum-Guru
|
 |
Beiträge: 315
|
 |
|
 |
Anmeldedatum: 02.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.08.2010, 12:38
Titel:
|
 |
|
|
goalyralf |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 05.08.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.08.2010, 18:05
Titel:
|
 |
Hallo Vito
Danke für den Hint, aber der bringt mich momentan auch nicht all viel weiter.
Ich will eigentlich nur, dass wenn der erste random generator bspw. 0.7 zieht, dass dann der zweite random generator nicht -0.7 zieht, sondern eine korrelation von 0.5 besitzt und somit bspw. 0.5 zieht...
Wäre euch sehr dankbar, wenn das jemand knacken könnte, da meine DA-Abgabe relativ zeitnah erfolgen muss
Vielen Dank,
Ralf
|
|
|
Vladi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.08.2010, 09:30
Titel:
|
 |
Hallo Ralf,
zwei korrelierte Prozesse kannst du folgendermaßen entkoppeln:
Sei P1 und P2 deine beiden Prozesse mit Wiener Prozessen W1 und W2 und Korrleation r zwischen W1 und W2, dann gilt:
wobei W3 unabhängig von W1 ist, das d vor den Prozesses steht für das Inkrement.
Die Aussage gilt für die Inkremente der Bewegungen, müsste aber auch für die Lösung gelten.
Du benutzt
weil die Zuwäche der Brownschen bewegungen normal verteilt sind. Das gleiche machst du hier jetzt auch.
Allerdings berechnest du den Wert W2 über obige Formel.
Viele Grüße
der Vladi
|
|
|
goalyralf |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 05.08.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.08.2010, 19:43
Titel:
|
 |
Hallo Vladi,
vielen Dank für deine ausführliche Antwort. Ich habe es soeben in die Simulation eingebaut und Sie läuft jetzt mit Korrelation durch
Ich hoffe, dass ich es so richtig eingebaut habe?
R_randn=randn(n,1);
dummy_gamma=randn(n,1);
gamma_randn=rho_R_gamma(i)*R_randn+sqrt(1-rho_R_gamma^2)*dummy_gamma;
kannst du mir eventuell noch freundlicherweise sagen, wieso der Wurzelterm hinzukommt bzw. wo ich dies nachlesen könnte, damit ich dann in der Lage bin diesen Zusammenhang meinem Betreuer zu erklären? Wäre super lieb von dir?!? Hab zwar Statistik als Spezialisierung aber dieser Term ist mir neu...
Nochmals herzlichen Dank und dir ein schönes Wochenende,
Viele Grüße,
Ralf
|
|
|
goalyralf |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 05.08.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.08.2010, 11:02
Titel:
|
 |
Hallo Vladi, hallo Forum
habe nochmals nachgedacht und dein Tipp ist super, wenn ich korrelierte Prozesse habe, aber ich will doch erst eine Korrelation erzeugen.
beisp. dW1*dW2=r*dt
reicht das, wenn ich dann einfach folgendes eingebe?
ich muss gamma_randn so erzeugen, dass die Korrelation zwischen gamma_randn und R_randn mit 0,5 korreliert ist...
Vielleicht kann mir da jemand noch nen coolen Tipp geben...
Nochmals vielen Dank,
Ralf
Edit by denny: Bitte die Code-Formatierung verwenden. Danke!
|
|
|
Vladi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.08.2010, 13:31
Titel:
|
 |
Hallo Ralf,
so genau versteh ich deinen letzten Beitrag nicht. dW1 * dW2 = r dt ist eine andere Schreibweise um zu betonen, dass die beider brownschen Inkremente korreliert sind. Wenn man genau hinsieht, erkennt man, dass die Korrelation sich auf die Inkremente bezieht. Es sind nicht die Pfade korreliert. Das ist wichtig zu verstehen...
Du kannst das z.B.: in "Paul Glasserman: Monte Carlo Methods in Financial Engeneering" (Seite 71, "2.3.3 Generating Multivariate Normals")
Grob gesagt: Die Korrelationsmatrix S lässt sich mittels Cholesky Zerlegung eindeutig, bis aufs Vorzeichen, in eine Dreiecksmatrix L zerlegen, so dass S = L*L'.
Dann berechnest du X_i = mu_i + L_i*Z_i mit Z_i ~ N(0,1) und bekommst dann X_i ~ N(mu_i, S_i).
Viele Grüße
der Vladi
|
|
|
|
|
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.
|
|