楼主: mqlts
7744 19

[有偿编程] 多元garch模型的matlab程序如何运行?能否举例说明下啊,希望高手指点 [推广有奖]

  • 0关注
  • 1粉丝

讲师

0%

还不是VIP/贵宾

-

威望
0
论坛币
532 个
通用积分
2.4302
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
8174 点
帖子
88
精华
0
在线时间
700 小时
注册时间
2011-6-26
最后登录
2025-12-18

楼主
mqlts 发表于 2012-4-16 10:51:35 |AI写论文
400论坛币
程序如下,我也安装了uscd_garch工具箱,但是不知道该如何运行,很弱智的问题啊,邮箱whzhongc@126.com
那位能举个例子指导一下我的操作。期待!


function [parameters, loglikelihood, Ht, likelihoods, stdresid, stderrors, A, B, scores]  = full_bekk_mvgarch(data,p,q, BEKKoptions)
% PURPOSE:
%      To Estimate a full BEKK multivariate GARCH model.  ****SEE WARNING AT END OF HELP FILE****
%
%
% USAGE:
%      [parameters, loglikelihood, Ht, likelihoods, stdresid, stderrors, A, B, scores]  = full_bekk_mvgarch(data,p,q,options);
%
%
% INPUTS:
%      data          - A t by k matrix of zero mean residuals
%      p             - The lag length of the innovation process
%      q             - The lag length of the AR process
%      options       - (optional) Options for the optimization(fminunc)
%
% OUTPUTS:
%      parameters    - A (k*(k+1))/2+p*k^2+q*k^2 vector of estimated parameteters. F
%                         or any k^2 set of Innovation or AR parameters X,
%                         reshape(X,k,k) will give the correct matrix
%                         To recover C, use ivech(parmaeters(1:(k*(k+1))/2)
%      loglikelihood - The loglikelihood of the function at the optimum
%      Ht            - A k x k x t 3 dimension matrix of conditional covariances
%      likelihoods   - A t by 1 vector of individual likelihoods
%      stdresid      - A t by k matrix of multivariate standardized residuals
%      stderrors     - A numParams^2 square matrix of robust Standad Errors(A^(-1)*B*A^(-1)*t^(-1))
%      A             - The estimated inverse of the non-robust Standard errors
%      B             - The estimated covariance of teh scores
%      scores        - A t by numParams matrix of individual scores
%
%
% COMMENTS:
%    You should multiply the data by a constant so that the min std(data) is at least 10.  This will help estimation
%
%      ***************************************************************************************
%      *  THIS FUNCTION INVOLVES ESTIMATING MANY PARAMETERS.  THE EXACT NUMBER OF PARAMETERS
%      *  NEEDING TO BE ESTIMATED IS (k*(k+1))/2+pk^2+qk^2.  FOR A 5 VARIATE (1,1) MODEL THIS
%      *  65 PARAMETERS.  ESTIMATION CAN TAKE A VERY LONG TIME.  A 10 ASSET MODEL TOOK 12
%      *  HOURS ON A PIII-700.
%      ***************************************************************************************
%
%
% Author: Kevin Sheppard
% kevin.sheppard@economics.ox.ac.uk
% Revision: 2    Date: 12/31/2001


% need to try and get some smart startgin values
if size(data,2) > size(data,1)
    data=data';
end
[t k]=size(data);
k2=k*(k+1)/2;
scalaropt=optimset('fminunc');
scalaropt=optimset(scalaropt,'TolFun',1e-1,'Display','iter','Diagnostics','on','DiffMaxChange',1e-2);
startingparameters=scalar_bekk_mvgarch(data,p,q,scalaropt);
CChol=startingparameters(1:(k*(k+1))/2);
%C=ivech(startingparameters(1:(k*(k+1))/2))*ivech(startingparameters(1:(k*(k+1))/2))';
newA=[];
newB=[];
for i=1:p
    newA=[newA diag(ones(k,1))*startingparameters(((k*(k+1))/2)+i)]; %#ok<AGROW>
end
for i=1:q
    newB=[newB diag(ones(k,1))*startingparameters(((k*(k+1))/2)+i+p)]; %#ok<AGROW>
end
newA=reshape(newA,k*k*p,1);
newB=reshape(newB,k*k*q,1);
startingparameters=[CChol;newA;newB];
if nargin<=3 || isempty(BEKKoptions)
    options=optimset('fminunc');
    options.Display='iter';
    options.Diagnostics='on';
    options.TolX=1e-4;
    options.TolFun=1e-4;
    options.MaxFunEvals=5000*length(startingparameters);
    options.MaxIter=5000*length(startingparameters);   
else
    options=BEKKoptions;
end
parameters=fminunc('full_bekk_mvgarch_likelihood',startingparameters,options,data,p,q,k,k2,t);

[loglikelihood,likelihoods,Ht]=full_bekk_mvgarch_likelihood(parameters,data,p,q,k,k2,t);
loglikelihood=-loglikelihood;
likelihoods=-likelihoods;
% Standardized residuals
stdresid=zeros(size(data));
for i=1:t
    stdresid(i,:)=data(i,:)*Ht(:,:,i)^(-0.5);
end

%Std Errors
if nargout>=6
    A=hessian_2sided('full_bekk_mvgarch_likelihood',parameters,data,p,q,k,k2,t);
   
    h=max(abs(parameters/2),1e-2)*eps^(1/3);
    hplus=parameters+h;
    hminus=parameters-h;
    likelihoodsplus=zeros(t,length(parameters));
    likelihoodsminus=zeros(t,length(parameters));
    for i=1:length(parameters)
        hparameters=parameters;
        hparameters(i)=hplus(i);
        [HOLDER, indivlike] = full_bekk_mvgarch_likelihood(hparameters,data,p,q,k,k2,t);
        likelihoodsplus(:,i)=indivlike;
    end
    for i=1:length(parameters)
        hparameters=parameters;
        hparameters(i)=hminus(i);
        [HOLDER, indivlike] = full_bekk_mvgarch_likelihood(hparameters,data,p,q,k,k2,t);
        likelihoodsminus(:,i)=indivlike;
    end
    scores=(likelihoodsplus-likelihoodsminus)./(2*repmat(h',t,1));
    B=cov(scores);
    A=A/t;
    stderrors=A^(-1)*B*A^(-1)*t^(-1);
end
本文来自: 人大经济论坛 Matlab及其他计量软件专版 版,详细出处参考: https://bbs.pinggu.org/forum.php?mod=viewthread&tid=1056048&page=1&from^^uid=2691110

最佳答案

ywh19860616 查看完整内容

https://bbs.pinggu.org/forum.php? ... 5767&highlight=bekk 楼主请参看这个帖子,epoh老师已做过相关的回答。
关键词:MATLAB程序 多元GARCH GARCH模型 MATLAB ARCH模型 模型 matrix 工具箱 function matlab

回帖推荐

stanleyjunjun 发表于5楼  查看完整内容

新手应该请人手把手教一下,这样才能上路,或上路快一点。

沙发
ywh19860616 发表于 2012-4-16 10:51:36
https://bbs.pinggu.org/forum.php? ... 5767&highlight=bekk

楼主请参看这个帖子,epoh老师已做过相关的回答。
一份耕耘,一份收获。

藤椅
mqlts 发表于 2012-4-16 13:35:30
ywh19860616 发表于 2012-4-16 11:41
https://bbs.pinggu.org/forum.php?mod=viewthread&tid=1395767&highlight=bekk

楼主请参看这个帖子,epo ...
感谢支持啊,我就是不知道别人是怎么跑出结果来的,我还不会用工具箱呢,刚上传了数据,哪位兄弟能给我教一下啊,我刚学matlab,菜鸟啊,希望能详细些。

板凳
ywh19860616 发表于 2012-4-16 13:39:42
mqlts 发表于 2012-4-16 13:35
感谢支持啊,我就是不知道别人是怎么跑出结果来的,我还不会用工具箱呢,刚上传了数据, ...
请看上面帖子的2楼,epoh老师已经给出了一个例子。
一份耕耘,一份收获。

报纸
stanleyjunjun 发表于 2012-7-28 00:22:47
新手应该请人手把手教一下,这样才能上路,或上路快一点。
天行健,君子自强不息!

地板
mqlts 发表于 2012-8-30 21:31:14
stanleyjunjun 发表于 2012-7-28 00:22
新手应该请人手把手教一下,这样才能上路,或上路快一点。
多谢关注

7
mqlts 发表于 2012-8-30 21:32:57
感谢epoh!我的论文已完成,非常感谢。

8
心空111 发表于 2012-12-11 21:36:55
mqlts 发表于 2012-8-30 21:32
感谢epoh!我的论文已完成,非常感谢。
楼主教我一下唄,我也在做。怎么运行也运行不出来

9
mqlts 发表于 2012-12-12 12:27:51
心空111 发表于 2012-12-11 21:36
楼主教我一下唄,我也在做。怎么运行也运行不出来
我是用S-PLUS做的,matlab做出来的结果没有t值和p值,我也很困惑,所以建议你用splus或者rats来做。

10
skrubby 在职认证  发表于 2013-3-16 23:25:13
mqlts 发表于 2012-12-12 12:27
我是用S-PLUS做的,matlab做出来的结果没有t值和p值,我也很困惑,所以建议你用splus或者rats来做。
请问,用您说的两个软件做的话,需要编程吗?还是傻瓜的?求指点!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 04:34