How to get the output to a variable
Show older comments
Hello,
I am using the following code to estimate garch parameters.
I get the estimates I want but I need to get the parameter estimates to three variables (constant, arch1, garch1) and NOT print the output generated by "GARCH" command.
Can someone please help me with this?
Thanks.
Code;
clc;
clear;
T = 300;
a0 = 0.1; a1 = 0.4; a2 = 0.0; b1 = 0.2; b2= 0.0; % garch parameters
epsi = randn(T+2000,1);
ut = zeros(T+2000,1); % garch data
sig2 = zeros(T+2000,1); % sigma squared in garch model
unvar = a0/(1-a1-a2-b1-b2); % unvar is the unconditional variance.. initial condition
for i = 1:T+2000
if i==1
sig2(i) = a0 + a1*unvar + a2*unvar + b1*unvar + b2*unvar;
sig =(sig2(i))^0.5;
ut(i) = epsi(i) * sig;
elseif i==2
sig2(i) = a0 + a1*(ut(1))^2 + a2*unvar + b1*sig2(1)+ b2*unvar;
sig =(sig2(i))^0.5;
ut(i) = epsi(i) * sig;
else
sig2(i) = a0 + a1*(ut(i-1))^2 + a2*(ut(i-2))^2 + b1*(sig2(i-1)) + b2*(sig2(i-2));
sig=(sig2(i))^0.5;
ut(i) = epsi(i) * sig;
end
end
utl = ut(2001:T+2000);
model1 = garch('Offset',NaN,'GARCHLags',1,'ARCHLags',1);
[fit1,~,LogL1] = estimate(model1,utl);
Output(I just need the parameter estimates):
GARCH(1,1) Conditional Variance Model:
----------------------------------------
Conditional Probability Distribution: Gaussian
Standard t
Parameter Value Error Statistic
----------- ----------- ------------ -----------
Constant 0.10871 0.0353215 3.07772
GARCH{1} 0.183931 0.160634 1.14503
ARCH{1} 0.375592 0.1073 3.50038
Offset 0.0219147 0.0238165 0.920149
Accepted Answer
More Answers (1)
Roger Wohlwend
on 2 Jun 2014
constant = fit1.Constant;
arch1 = fit1.ARCH{1};
garch1 = fit1.GARCH{1};
2 Comments
Roger Wohlwend
on 3 Jun 2014
Yes, there is.
[fit1,~,LogL1] = estimate(model1,utl, 'Display', 'off');
Categories
Find more on Conditional Variance Models in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!