سلام. من یک معادله رو برای مقادیر مختلف k و T میخوام حل کنم.
این معادله هست: C=s0*normcdf(d1)-K*exp(-mu*(T))*normcdf(d2)
و d1 و d2 هم به ان صورت تعریف شده:
d1=(log(s0/K)+(mu+0.5*(y^2))*T)/y*sqrt(T); d2=d1-y*sqrt(T)
y مجهول معادله هست.
این کد ماست برای حل کردن با fsolve:
اما انگار در تعریف تابع اشکال هست! ممنون میشم راهنمایی کنید.
این معادله هست: C=s0*normcdf(d1)-K*exp(-mu*(T))*normcdf(d2)
و d1 و d2 هم به ان صورت تعریف شده:
d1=(log(s0/K)+(mu+0.5*(y^2))*T)/y*sqrt(T); d2=d1-y*sqrt(T)
y مجهول معادله هست.
این کد ماست برای حل کردن با fsolve:
کد پیاچپی:
function F=basicfun(x)
mu=0.0011;
callt=[78.80,78.2,80.4,82.9,89.7;48.80,49.8,53.3,57.7,66.4;28.80,32.7,37.4,43,53.1;20.3,24.8,30.4,36.6,47.2;12.2,18.1,24.3,30.8,41.5;6.5,12.7,19,25.5,36.6;1.3,5.5,10.9,17,27.3;0.35,1.95,5.8,10.8,20.2;0.25,0.45,2,5.1,12.4];
T=[0.00555;0.0889;0.17222;0.3388;0.75];
k=[450,480,500,510,520,530,550,570,600];
s0=526.88;
d1=zeros(1,9);
d2=zeros(1,9);
for i=1:9
for j=1:5
d1(i)=(log(s0/k(i))+(mu+0.5*x^2)*T(j))/(y*sqrt(T(j)));
d2(i)=d1(i)-(y*sqrt(T(j)));
end
end
F=s0*normcdf(d1)-k*exp(-mu*T)*normcdf(d2)-callt;
end
کد پیاچپی:
x0=0.7;
[x,fval]=fsolve(@basicfun1,x0)
اما انگار در تعریف تابع اشکال هست! ممنون میشم راهنمایی کنید.