Ich möchteIntegral von normCDf in Matlab
berechnen$$e_0=r*K \int_{0}^{T} \exp{(-rt)} N\bigg(\frac{\ln{(B_t/S_0)}-e_2 t}{\sigma \sqrt{t}} \bigg)dt,$$
wo
$$e_2=r-\frac{\sigma^2}{2},$$
und
$$N(x)=\int_{0}^{x} \frac{\exp{(-z^2/2)}}{\sqrt{2\pi}}dz$$
die Standard-Normalverteilungsfunktion oder normCDf in Matlab ist.
Es sind r, K, T, B_t, S_0,
und sigma
angegeben. Hier ist mein Code:
K=90.054
r=0.075
sigma=0.2964203
T=1
Bt=66.0377
S0=206.67
syms t
e0=r*K*int(exp(-r*t)*normcdf((log(Bt/S0)-(r-(sigma^2)/2)*t)/(sigma*sqrt(t))),t,0,T)
Allerdings, wenn ich es laufen, ist das Ergebnis immer noch in der Variablen t:
e0 =
(7604384265810425*int((erfc((9007199254740992*2^(1/2)*((279831188732951*t)/9007199254740992 + 642268209798613/562949953421312))/(5339833410500203*t^(1/2)))*exp(-(3*t)/40))/2, t, 0, 1))/1125899906842624
Die erste Formel ist die frühzeitige Ausübung Prämie für amerikanische Put-Option in Carr et al Papier und damit das Ergebnis sollte numerisch sein, aber das Ergebnis, das ich bekam, ist nicht. Irgendeine Idee, was habe ich falsch gemacht?
Ja, danke für die Antwort! Ich benutze normalerweise int, weil es in Matlab 2010 in meinem Notebook gut funktioniert, aber ich habe gerade Matlab 2015 in meinem neuen Laptop installiert. –