Re: SAS新手的問題
不用巨集的寫法
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
討論串 (同標題文章)