不好意思 麻烦大侠们都来帮帮忙,我是才刚刚接触SAS,很多不懂 大家帮帮忙 这是我的 程序
目标,利用历史数据实际上算出来的y
跟估算出的
y
比较,当他们的
差的平方最小的
时
导出参数
1.
赋值
y
零风险利率
m
,股票到期的年数1
到30
的
自然数,
c
,股票每年收到利润,
百分比,每个年数m对应一个 Y
和 c
创造数据DATA mylib.test
2.
我
给出参数初始值,
已
有
,要同过参数(b0,b1,b2,b3,t1,t2, m
是 1
到30
的
整值)得出
z
,
z =
b0+b1*(1-exp(-m /t1))/(m /t1)+b2*((1- exp(- m /t1))/ (m/t1)- exp(- m/t1))+b3*((1- exp(- m/t2))/( m /t2)- exp(- m/t2));
3
然后由
z
得出d
,DISKANTFAKTOR,
d=1/((1+z)**m
4.然后通过
这个公式
P=d(1)*c(1)+...+d(m)*c(m)+d(m)*100得
出p,
,m
是电脑自动算的m (1-30)
的最后一个值,
5.
然后通过这个公式
c(1)/(1+y1)**1+...+c(m)/(1+ym)**m+100/(1+ym)**m-p=0得出y
,这里要用牛顿估算,
然后这里的y
跟 DATA mylib.test
(里面有y, m, c
的赋值)里
的 y
比较,
我的
问题:4,5,这两个公式在红字部分
MODEL 那怎么编入——
不知道
我
的表达清楚了没
我的主程序,
proc
nlin
method=marquardtDATA=mylib.test;
parmsb0=0.050923834 b1=1
b2=1b3=1 t1=0.0001t2=0.0001 ;
modelz =
b0+b1*(1-exp(-m /t1))/(m /t1)+b2*((1- exp(- m /t1))/ (m/t1)- exp(- m/t1))+b3*((1- exp(- m/t2))/( m /t2)- exp(- m/t2));
d=1/((1+z)**m )
A = max(d)
N=max(m)
p=sum(ofd*c-A*c)+D*100
sum(0f c/(1+y)**m-c/(1+Y)**N)+100/(1+y)**M-p=0;
bounds
0.020923834<= b0<=0.080923834;
...
bounds
0<m <=30;
run;
另外
我的
赋值程序》
libnamemylib "C:\Dokumente und Einstellungen\Mei\EigeneDateien\My SAS Files\9.0";
datamylib.test;
INPUTm
$
y
$
c $;
PUTm
y
c;
DATALINES;
1
0.030330849
0.0375
...
30
0.050946955
0.05
;
RUN;