作者kingbee (狗民党广告费哪来)
看板Statistics
标题Re: SAS新手的问题
时间Sat Dec 22 02:29:02 2007
不用巨集的写法
data king;
b=1/exp(0.075*0.25);
d1=(LOG(100/(95*b))+0.313*0.313*0.25/2)/(0.313*SQRT(0.25));
d2=d1-0.313*sqrt(0.25);
value=100*probnorm(d1)-95*b*probnorm(d2);
proc print;
run;
※ 引述《kingbee (狗民党广告费哪来)》之铭言:
: ※ 引述《piao07 ()》之铭言:
: : 对不起我继续发问^^"
: : 实际上我是要写一个计算选择权价格的MARCO
: : 下面是目前的情形
: %macro number(s,r,t,x,v);
: data king;
: b=1/exp(&r*&t);
: d1=(LOG(&s/(&x*b))+&v*&v*&t/2)/(&v*SQRT(&t));
: d2=d1-&v*sqrt(&t);
: value=&s*probnorm(d1)-&x*b*probnorm(d2);
: proc print;
: run;
: %mend;
: %number(100,0.075,0.25,95,0.313);
: : %MACRO number(S,r,T,X,V);
: : data b;
: : data d1;
: : data d2;
: : data Value;
: : b=1/EXP(&r*&T);
: : d1=(LOG(&S/(&X*b))+&V*&V*&T/2)/(&V*SQRT(&T));
: : d2=d1-&V*SQRT(&T);
: : Value=&S*NORMAL(d1)-&X*b*NORMAL(d2);
: : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: : %MEND number;
: : %number(100,0.075,0.25,95,0.313);
: : proc print data=Value;
: : RUN;
: : 我知道问题出现在我画线的那行
: : 不知道SAS有没有内建的常态分配累积分布函数 ??
: : 如果没有可能比较麻烦了
: : 麻烦各位解答 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.209.186.212