楼主: please1111
1986 4

[问答] 請教大家這個code哪裡有錯 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

小学生

35%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
46 点
帖子
5
精华
0
在线时间
1 小时
注册时间
2011-6-8
最后登录
2011-6-10

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
可不可以幫我看看我的code  ,當s1=40;s2=40;k=30;sig1=0.2;sig2=0.3;p12=0.5;r=0.05;t=0.5833;q1=0.02;q2=0.03; Cmax應該是要13.4800
可是怎麼寫都不對 ,可能是二元常態裡變數問題,我順便附上題目和原本PAPER的PDF檔給大家看看
謝謝各位^ ^






new;
cls;
s1=40;
s2=40;
k=30;
sig1=0.2;
sig2=0.3;
p12=0.5;
r=0.05;
t=0.5833;
q1=0.02;
q2=0.03;

{cal1}=bs(s1,k,r,t,sig1,q1);
print "cal1" cal1;
{cal2}=bs(s2,k,r,t,sig2,q2);
print "cal2" cal2;
{Cmin}=bsm(s1,s2,k,r,q1,q2,sig1,sig2,p12,t);
print "Cmin" Cmin;
Cmax=cal1+cal2-Cmin;
print "Cmax" Cmax;
end;
proc(1)=bs(s,k,r,t,sig,q);
local d1,d2,cal;
  d1=(ln(s./k)+(r+(sig.^2)./2).*t)./(sig.*sqrt(t));
  d2=d1-sig.*sqrt(t);
  cal=s.*cdfn(d1)-k.*(exp(-(r-q).*t)).*cdfn(d2);
retp(cal);
endp;
proc(1)=bsm(s1,s2,k,r,q1,q2,sig1,sig2,p12,t);
local d11,d22,vari,A1,A2,B1,B2,C1,C2,Cmin;
  d11=(ln(s1/k)+(r-q1-(sig1^2)/2)*t)/(sig1*sqrt(t));
  d22=(ln(s2/k)+(r-q2-(sig2^2)/2)*t)/(sig2*sqrt(t));
  vari=(sig1^2)+(sig2^2)-2*p12*sig1*sig2;
  A1=d11+sig1*sqrt(t);
  A2=d22+sig2*sqrt(t);
  B1=(ln(s1/s2)+(q1-q2-(vari/2))*t)/(sqrt(vari)*sqrt(t));
  B2=(ln(s2/s1)+(q2-q1-(vari/2))*t)/(sqrt(vari)*sqrt(t));
  C1=(p12*sig2-sig1)/sqrt(vari);
  C2=(p12*sig1-sig2)/sqrt(vari);
Cmin=s1*exp(-q1*t)*cdfbvn(A1,B1,C1)+s2*exp(-q2*t)*cdfbvn(A2,B2,C2)-k*exp(-r*t)*cdfbvn(d11,d22,C2);
retp(Cmin);
endp;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:code COD ODE print Local code

未命名2.png (71.39 KB)

未命名2.png

Generalized_Analytical_Upper_Bounds.pdf

226.42 KB

沙发
zhangtao 发表于 2011-6-10 13:44:33 |只看作者 |坛友微信交流群
cal1       10.564337
cal2       10.697029
Cmin       7.8637767
Cmax       13.397589
再思考思考,是什么原因呢?
数学好就是要天天学

使用道具

藤椅
please1111 发表于 2011-6-10 17:10:05 |只看作者 |坛友微信交流群
麻煩老師指點,謝謝您

使用道具

板凳
zhangtao 发表于 2011-6-11 16:40:12 |只看作者 |坛友微信交流群
原文中CBS(.) are Black-Scholes formulas for European call options,
楼主您是不是把CBS(.) 的公式编成美式期权呢?
另外,楼主您为什么不用Gauss中就有的公式呢?
EuropeanBSCall

Purpose

European Black and Scholes Call.

Format

c = EuropeanBSCall(S0,K,r,div,tau,sigma);

Input


S0
scalar, current price

K
Mx1 vector, strike prices

r
scalar, risk free rate

div
continuous dividend yield

tau
scalar, elapsed time to exercise in annualized days of trading

sigma
scalar, volatility


Output


c
Mx1 vector, call premiums


Example

S0 = 718.46;

K = { 720, 725, 730 };

b = .0498;

r = .0498;

sigma = .2493;

t0 = dtday (2001, 1, 30);

t1 = dtday (2001, 2, 16);

tau = elapsedTradingDays(t0,t1) / annualTradingDays(2001);

c = EuropeanBSCall(S0,K,r,0,tau,sigma);

print c;



17.0975

14.7583

12.6496

Source

finprocs.src
数学好就是要天天学

使用道具

报纸
zhangtao 发表于 2011-6-11 16:41:18 |只看作者 |坛友微信交流群
如果以上错误不是,那估计就是楼主在什么少输了变量或语法错误
数学好就是要天天学

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-2 17:56