目标,利用历史数据实际上算出来的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;



雷达卡



京公网安备 11010802022788号







