楼主: xu.6m4rmp
2783 2

[问答] 新手問題請各位大大幫我看一下 [推广有奖]

  • 0关注
  • 0粉丝

小学生

28%

还不是VIP/贵宾

-

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

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我跑指令後出現d:\gauss\src\optutil.src(1595):error G0520:argument not conformable
可是我找不到到底哪裡錯了
跪求各位大大幫忙><
new;
library optmum;
format /m1 /rd 17,7;
n=10460;
load data[n,17]=D:\final.txt;
y=data[1:n,6];
x1=data[1:n,8];x2=data[1:n,9];x3=data[1:n,10];x4=data[1:n,11];x5=data[1:n,12];
z1=data[1:n,14];z2=data[1:n,17];z3=data[1:n,13];z4=data[1:n,7];z5=data[1:n,16];
at=data[1:n,4]; da=data[1:n,2]; disp=data[1:n,15];
T=rows(y);
@=================================================================@

           START=1;  @1993.....@
c1= .1324215   ;               @  Const1  @
c2= -.0000593 ;            @  pe  @
c3=.0123564 ;            @  booktomarket  @
c4=-.1677171 ;            @  cp  @
c5=.1027254 ;            @  leverageratio  @
c6= .0038986 ;            @  dividendratio  @
c7=.3295745 ;             @ cont2 @
c8=-.0261669 ;            @  y_lag  @
c9=-.0184147 ;            @  tradevolume  @
c10=.0087584 ;             @ stockturnover @
c11=.7689457 ;            @  marketreturn  @
c12=.0266911 ;            @  marketturnover  @
c13=0 ;             @  p0   @
c14= 0 ;            @  at  @
c15= 0 ;            @  da  @
C16= 0  ;            @ dispersion  @

   
PRMTR_IN=c1~c2~c3~c4~c5~c6~c7~c8~c9~c10~c11~c12~c13~c14~c15~c16;
PRMTR_IN=PRMTR_IN';

@ Maximum Likelihood Estimation @
@==================================================@
{xout,fout,gout,cout}=optmum(&lik_fcn,PRMTR_in);
PRM_FNL=TRANS(xout);             @ Estimated  coefficients, constrained@

"Calculating Hessian..... Please be patient!!!!";
                  hout0=hessp(&lik_fcn,xout);
                  hout=inv(hout0);
grdn_fnl=gradfd(&TRANS,xout);
Hsn_fnl=grdn_fnl*hout*grdn_fnl';
SD_fnl =sqrt(diag(Hsn_fnl)); @Standard errors of the estimated coefficients@

output file=D:\Gprog\Bankpt\output\Hybrid\Hybrid2.lik reset; -1*fout; output off;
output file=D:\Gprog\Bankpt\output\Hybrid\Hybrid2.est reset; prm_fnl; output off;
output file=D:\Gprog\Bankpt\output\Hybrid\Hybrid2.sdv reset; sd_fnl; output off;

@===The default probability calculation ================@
         
         Cont1=PRM_FNL[1,1];
         
         b1=PRM_FNL[2,1];
         b2=PRM_FNL[3,1];
         b3=PRM_FNL[4,1];
         b4=PRM_FNL[5,1];
         b5=PRM_FNL[6,1];
         Cont2=PRM_FNL[7,1];
         m1=PRM_FNL[8,1];
         m2=PRM_FNL[9,1];
         m3=PRM_FNL[10,1];
         m4=PRM_FNL[11,1];
         m5=PRM_FNL[12,1];
         p0=PRM_FNL[13,1];
         p1=PRM_FNL[14,1];
         p2=PRM_FNL[15,1];
         p3=PRM_FNL[16,1];  
         
default=zeros(T,1);prob1=zeros(T,1);prob2=zeros(T,1);

i=1;
do until i>10460;
   qualt1=cont1+b1*x1[i,1]+b2*x2[i,1]+b3*x3[i,1]+b4*x4[i,1]+b5*x5[i,1];
   Default1=1/(1+EXP(-qualt1));
   qualt2=cont2+m1*z1[i,1]+m2*z2[i,1]+m3*z3[i,1]+m4*z4[i,1]+m5*z5[i,1];
   Default2=1/(1+EXP(-qualt2));

   Prob1[i,1]=EXP(p0+p1*at[i,1]+p2*da[i,1]+p3*disp[i,1])/(1+EXP(p0+p1*at[i,1]+p2*da[i,1]+p3*disp[i,1]));
   Prob2[i,1]=1-Prob1[i,1];
   Default[i,1]=Prob1[i,1]*Default1+Prob2[i,1]*Default2;
  i=i+1;
  endo;
output file=D:\Gprog\Bankpt\output\Hybrid\Hybrid2.dft reset; default; output off;
output file=D:\Gprog\Bankpt\output\Hybrid\Hybrid2.wet.pob reset; Prob1~Prob2; output off;
end;
@ end OF MAIN PROGRAM @

@========================================================================@        
        
@========================================================================@
PROC LIK_FCN(PRMTR1);
local prmtr,ppr,qpr,pr_vl,pr_val,likv,lik,pr_tr,prob_t,prob_dd,A,
      EN,i,tmp,pr_stt0,pr_stl0,PAI,e,pr_trf,prob_,a0,a1,b0,b1,g1,
      g2,pro_,VAR,b2,pr_trf0,u0,u1,VAR_pre,MEAN_pre,
      Resd_pre,Resd_filt,VAR_fil,cont,h1,h2,c,d,
      cont_a,cont_u,h1_a,h1_u,h2_a,h2_u,a_a,a_u,
      b_a,b_u,g2_a,g2_u,g1_a,g1_u,cor1,cor2,
      ADR_h,UND_h, V, ADR_e, UND_e, PDF1,PDF2,PDF3,PDF4,PDF,COV,
      gama_aa,gama_au, gama_uu, gama_ua,p0,q0,p1,q1, b3,b4,b5,m1,m2,p2,p3,m3,m4,m5,Cont1,Cont2,default,
      qualt1, qualt2, prob1, prob2, qualt,g, default1, default2, p4;
           
      
PRMTR=TRANS(PRMTR1);

LOCATE 16,1; PRMTR';
/* DEFINE PARAMETERS */
  
         Cont1=PRMTR[1,1];
         b1=PRMTR[2,1];
         b2=PRMTR[3,1];
         b3=PRMTR[4,1];
         b4=PRMTR[5,1];
         b5=PRMTR[6,1];
         Cont2=PRMTR[7,1];
         m1=PRMTR[8,1];
         m2=PRMTR[9,1];
         m3=PRMTR[10,1];
         m4=PRMTR[11,1];
         m5=PRMTR[12,1];
         p0=PRMTR[13,1];
         p1=PRMTR[14,1];
         p2=PRMTR[15,1];
         p3=PRMTR[16,1];  
default=zeros(T,1);prob1=zeros(T,1);prob2=zeros(T,1);
  LIKV=0;
  i=1;
  do until i>10460;
                              
   qualt1=cont1+b1*x1[i,1]+b2*x2[i,1]+b3*x3[i,1]+b4*x4[i,1]+b5*x5[i,1];
   Default1=1/(1+EXP(-qualt1));
   qualt2=cont2+m1*z1[i,1]+m2*z2[i,1]+m3*z3[i,1]+m4*z4[i,1]+m5*z5[i,1];
   Default2=1/(1+EXP(-qualt2));

   Prob1[i,1]=EXP(p0+p1*at[i,1]+p2*da[i,1]+p3*disp[i,1])/(1+EXP(p0+p1*at[i,1]+p2*da[i,1]+p3*disp[i,1]));
   Prob2=1-Prob1;
   Default=Prob1*Default1+Prob2*Default2;
   g= y[i,1];
  
   if g>0;
      LIK=-1*ln(Default+0.0000000000000001);
   else;
      LIK=-1*ln(1-Default+0.0000000000000001);
   endif;   
LIKV = LIKV+LIK;
i=i+1;
ENDO;
               LOCATE 2,35;"LIKV=";;LIKV;
RETP(LIKV);
ENDP;
@++++++++++++++++++++++++++++++++++++++++++++++++++++++++@
@++++++++++++++++++++++++++++++++++++++++++++++++++++++++@

PROC TRANS(c0); @ constraining values of reg. coeff.@
         local c1,m,u,d1,d2,d3,d4,d5,d6;
         c1=c0;
retp(c1);
endp;

二维码

扫码加我 拉你入群

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

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

关键词:coefficients coefficient Constrained Probability Calculation library

沙发
xuelida 在职认证  发表于 2013-4-16 21:23:18 |只看作者 |坛友微信交流群
gauss问题修改
1、你先把proc过程单拿出来,运行下,看看有没有问题;
2、若没有问题,那就是你数据设置有问题;
3、可以一句一句的运行你设置的数据,看看有没有问题;
4、在调用optmum时,你需要看看需要用optmum里哪个优化函数,优化算法,这个需要你参考optmum里的pdf文件;
5、最好把程序里的每个语句能简单地搞清楚;
6、其他的就看具体情况
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
xuehe + 100 + 4 + 2 + 1 根据规定进行奖励

总评分: 论坛币 + 100  学术水平 + 4  热心指数 + 2  信用等级 + 1   查看全部评分

使用道具

藤椅
longwen516317 在职认证  学生认证  发表于 2018-9-4 10:28:36 |只看作者 |坛友微信交流群
xuelida 发表于 2013-4-16 21:23
gauss问题修改
1、你先把proc过程单拿出来,运行下,看看有没有问题;
2、若没有问题,那就是你数据设置有 ...
您好!请问你有optmum的说明文件吗?我找了好长时间了,一直没有找到。如果您有,可否给我发一份,本人感激不尽。我的邮箱:307860273@qq.com。谢谢!

使用道具

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

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

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

GMT+8, 2024-4-19 21:45