我在论坛上下了个CML模块,然后我运行如下程序:(当然我事先都已经将该模块的各种文件放好了)
let y={....};(建立数据集,数据太长,不写出来了)
library cml;
cmlset;
proc lpr(x,z);
local t,s,m,u;
s = x[4];
m = z[.,2:4]*x[1:3,.];
u = z[.,1] ./= 0;
t = z[.,1]-m;
retp(u.*(-(t.*t)./(2*s)-.5*ln(2*s*pi)) + (1-u).*(ln(cdfnc(m/sqrt(s)))));
endp;
x0 = { 1, 1, 1, 1 };
_cml_A = { 1 -1 0 0 };
_cml_B = { 0 };
proc ineq(x);
local b;
b = x[1:3];
retp(b'b - 3);
endp;
_cml_IneqProc = &ineq;
_cml_Bounds = { -10 10,
-10 10,
-10 10,
.01 10 };
param={"s","m","u","t"};
{ x,f,g,cov,ret } = CMLPrt(CML(y,param,&lpr,x0));
可是GAUSS报错:Currently active call: _cml [384] D:\gauss\cmlutil.src
Stack trace: _cml called from D:\gauss\cml.src, line 576 cml
不知道什么意思?难道是下的模块有问题?哪为高手指点一下.
并且想请教下,如何在CML里面做多元GARCH分析?可以给个示例程序吗?
十分感谢!!!