全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
4176 0
2014-06-20
我想要用t-garch(1,1)去拟合一个序列的边缘分布,这样写程序对吗?但拟合出来的图形怎么不一样呢?以下是我的程序,哪位同学,可以帮帮我,究竟怎么用t-garch(1,1)去描述一个边缘分布啊?在此谢谢大家了啊
R1= 100*(log(open(2:T))-log(open(1:T-1)));   收益率序列

% 判断序列R1是否存在自相关
[results] = lmtest1(R1,5);
% 某些p值小于<0.05,则R1存在自相关,因此可用armaxfilter函数估计该序列的误差

% 估计回归方程中的误差
options=optimset('LargeScale','on','display','on','Algorithm','active-set');
[parameters, errors, LLF , SEregression, stderrors, robustSE, scores, likelihoods]=armaxfilter(R1,1,1,1);

% ARCH效应检验——LM检验:检验残差/误差是否存在自回归条件异方差
[results1] = lmtest1(errors,5);
% 存在p值<0.05,故残差序列存在条件异方差,由此,可以建立GARCH相关模型。

% 用t-garch模型去拟合数据
[parametersT, likelihoodT, stderrorsT, robustSET, htT, scoresT] = fattailed_garch(errors , 1 ,1 , 'STUDENTST');
% htT:所估计的条件方差
%其中parametersT的值为,0.0279,0.0507,0.9441,8.3283


% 获取序列真正的条件方差
[x,h]=garchsimulate(2998,[.0083 .0039  .0040]',1,1);  %【】为3*1 矩阵
% h:实际的标准差

[x,h]=fattailed_garchsimulate([.0083 .0039  .0040] ',1,1,2998,'STUDENTST'); %students t

subplot(3,1,2);plot(1:2998,sqrt(htT),'g--',1:2998,sqrt(h),'r--');legend('Estimated Std Dev','Actual Std Dev');
% ht是所估计的标准偏差, h是实际的标准偏差
结果






二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群