Verfasst am: 20.08.2013, 10:57
Titel: Simulation eines CEV-Pfades mit stochastischer Volatilität
Hi Leute,
ich habe vor kurzem angefangen mit MATLAB zu arbeiten und will jetzt einen CEV-Prozess mit stochastischer Volatilität simulieren. Mein Code ist soweit auch fertig, aber ich bekomme immer dieselben Fehlermeldungen, obwohl ich beim Schreiben des Codes darauf geachtet habe, dass diese Fehler nicht auftreten. Hier ist mein Code:
Code:
%Unbiased Simulation Scheme Erwartungswert und Plot
%Simulation bedingter EW und bedingte Var der asymptotischen integrierten Varianz
m=sigma(i-1,j).^2*delta*(1+alpha*W2(i,j)+1/3*alpha.^2*(2*W2(i,j).^2-0.5*delta)+1/3*alpha.^3*(W2(i,j).^3-delta*W2(i,j))+1/5*alpha.^4*(2/3*W2(i,j).^4 - 3/2*delta*W2(i,j).^2+1/3*delta.^2));
v=1/3*sigma(i-1,j).^4*alpha.^2*delta.^3;
%Berechne die Parameter der moment-matched lognormal-Verteilung
sigma2=log(1+v/m.^2);
mu=log(m)-1/2*sigma2;
while(fl.*fr>0) %Lokalisierung Nullstelle
l=l+10;
r=r+10;
fl=1-ncx2cdf(a,b,l)-u;
fr=1-ncx2cdf(a,b,r)-u;
end
%Bisektions-Verfahren
for n=0:25
c=0.5*(l+r);
Hl=1-ncx2cdf(a,b,l)-u;
Hc=1-ncx2cdf(a,b,c)-u;
if Hl*Hc==0 break end if Hl*Hc<0
r=c;
else
l=c;
end end
S(i,j)=(c*nu*(1-Beta).^2).^(expo3);
elseif B>=0
S(i,j)=0;
end end end end
Ich bekomme entweder die Fehlermeldung, dass gammainc keine komplexen Zahlen verarbeiten kann oder es erscheint
"Error using gamcdf (line 63)
Non-scalar arguments must match in size.
Error in chi2cdf (line 35)
p = gamcdf(x,v/2,2);
Error in ncx2cdf (line 59)
p(k) = chi2cdf(x(k),v(k));"
womit ich noch weniger anfangen kann. Um das Problem mit den komplexen Zahlen zu umgehen, habe ich extra die Abfrage nach dem Wert von B gemacht und die if-Bedingungen in Abhängigkeit von B eingeführt. Aber aus irgendeinem Grund scheint MATLAB damit Probleme zu haben, denn wenn ich die Berechnungen "per Hand" in MATLAB mache, läuft alles.
Wäre wirklich super, wenn jemand einen Tipp hätte, denn ich sitze schon seit 2 Wochen davor und überlege woran es liegt.
wenn du selber eine lösung für das problem gefunden hast wäre es nett den spätern lesern gegenüber wenn du sie vieleicht postest
grüße winkow
_________________
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
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.