Page 1 of 1

significance level in star format alongside coefficients

Posted: Mon Apr 27, 2020 7:57 am
by curiousresearcher
Dear Sir,

Is it possible that in the output we can get the significance level in the format of ***, **, * alongside the coeffecients.

For example, when i run the following code

GARCH(P=1,Q=1,MV=BEKK,robusterrors,stdresids=rstd,DIST=GED) / Australia Brazil

The output comes as

Code: Select all

Variable	Coeff	Std Error	T-Stat	Signif
***************************	******************	*************	*************	*************
1.  Mean(AUSTRALIA)	0.000584627	0.000128704	4.54243	0.00000556
2.  Mean(BRAZIL)	0.000997754	0.000268607	3.71455	0.00020357
				
3.  C(1,1)	0.001372988	0.000228461	6.00973	0
4.  C(2,1)	0.001361345	0.000381085	3.57228	0.00035388
5.  C(2,2)	0.002007599	0.000242704	8.27179	0
6.  A(1,1)	0.246281767	0.02628357	9.37018	0
7.  A(1,2)	0.059276076	0.037605948	1.57624	0.11497003
8.  A(2,1)	0.001528008	0.0107063	0.14272	0.88651097
9.  A(2,2)	0.18415498	0.019661053	9.36649	0
10. B(1,1)	0.95150441	0.010673004	89.15057	0
11. B(1,2)	-0.015836893	0.014354128	-1.1033	0.26989741
12. B(2,1)	-0.003021841	0.003775102	-0.80047	0.42344088
13. B(2,2)	0.966697673	0.006554695	147.48171	0
14. Shape(GED)	1.769156737	0.06437566	27.48176	0
My quesion is how can we get the significance level as star alongside the coeffecient.

e.g. A(2,2) = 0.18415498***

Re: significance level in star format alongside coeffecients

Posted: Mon Apr 27, 2020 3:49 pm
by TomDoan
That's what REPORT is for. The output from estimation instructions is generally not directly usable for publication since it shows way too many decimals and the combination of standard errors, t-stats and significance levels is (in practice) redundant---usually at most one of those ends up getting used (though which it is can vary from paper to paper). If it's just that you're trying to interpret the result, you should concentrate on the significance level column, where most are showing at 0's which is significant at any reasonable level.

Re: significance level in star format alongside coefficients

Posted: Fri May 08, 2020 12:51 pm
by TomDoan
This is an example of using a function to tag coefficients in a REPORT based upon the significance levels.
signiftag.rpf
(805 Bytes) Downloaded 1345 times

Re: significance level in star format alongside coefficients

Posted: Mon May 31, 2021 11:26 pm
by Narci4269
Hi Tom. I have a model with six stocks and I run a multivariate GARCH for each one. I want to use the REPORT instruction. I already have the report with coefficients and standard errors in parenthesis:

Code: Select all

com fin = 1823
cal(irregular)
all fin
open data I:\EAFIT\Tesis\GPRK\Accion_GPRK_diaria_Final.xls
data(format=xls, org=obs)

**print(win = 'datos')

***** TRANSFORMACIÓN DE DATOS *****

set us10y = us_10y; set ca10y = ca_10y; set caus = cad_usd; set eurus = eur_usd

dofor i = us10y ca10y embi_col smb hml rf erm
   set %s('r'+%l(i)) = i{0} / 252
end dofor

dofor i = gprk ecp gte pxt fec cne sp500 tsx brent vix us10y caus eurus copper crsp
   set %s('l'+%l(i)) = log(i{0})
end dofor

dofor i = lgprk lecp lgte lpxt lfec lcne lsp500 ltsx rembi_col lus10y lbrent lvix lcaus leurus lcopper lcrsp
   set %s('d'+%l(i)) = %if(%valid(i{0} - i{1}),(i{0} - i{1}),0)
end dofor

set dlptfw = wgprk*dlgprk+wecp*dlecp+wgte*dlgte+wpxt*(dlpxt - dlcaus)+wfec*(dlfec - dlcaus)+wcne*(dlcne - dlcaus)
set dlptfs 1 685 = (dlgprk + dlecp + dlgte + (dlpxt - dlcaus) + (dlcne - dlcaus))  / 5
set dlptfs 686 fin = (dlgprk + dlecp + dlgte + (dlpxt - dlcaus) + (dlcne - dlcaus) + 1*(dlfec - dlcaus)) / 6

dofor i = dlpxt dlfec dlcne
   set %s(%l(i)) = i{0} - dlcaus
end dofor

dofor i = dlgprk dlecp dlgte dlpxt dlfec dlcne dlsp500 dlbrent dlcopper dlptfw dlptfs dlcrsp
   set %s('r'+%l(i)) = 100 * (i{0} - rf)
end dofor

dofor i = rsmb rhml rerm dlbrent drembi_col dleurus dlcopper dlus10y
   set %s(%l(i)) = 100 * i{0}
end dofor

***** GARCH Factores - BRENT *****

dec symm[series] hsfac(4,4)
clear(zeros) hsfac

system(model = eqfac)
variables rdlcrsp rsmb rhml rdlBrent
lags 1 to 2
det constant
end(system)
estimate(noprint, resids = rfac, noftest)

linreg(noprint, robust, define = eqsdbr) rdlBrent / spBr
# constant dlcopper dleurus dlus10y
prj dpBr

set mkecp = 0; set sbecp = 0; set hlecp = 0; set brecp = 0;
set mkgrk = 0; set sbgrk = 0; set hlgrk = 0; set brgrk = 0;
set mkgte = 0; set sbgte = 0; set hlgte = 0; set brgte = 0;
set mkpxt = 0; set sbpxt = 0; set hlpxt = 0; set brpxt = 0;
set mkcne = 0; set sbcne = 0; set hlcne = 0; set brcne = 0;
set mkfec = 0; set sbfec = 0; set hlfec = 0; set brfec = 0;

linreg(noprint, robust, define = eqptfw) rdlptfw / uptfw
# constant rdlcrsp mkptfw rsmb sbptfw rhml hlptfw rdlBrent brptfw

linreg(noprint, robust, define = eqptfwr) rdlptfw / uptfwr
# constant rdlcrsp rsmb rhml rdlBrent

linreg(noprint, robust, define = eqecp) rdlecp / uecp
# constant rdlcrsp mkecp rsmb sbecp rhml hlecp rdlBrent brecp

linreg(noprint, robust, define = eqecpr) rdlecp / uecpr
# constant rdlcrsp rsmb rhml rdlBrent

linreg(noprint, robust, define = eqgrk) rdlgprk / ugrk
# constant rdlcrsp mkgrk rsmb sbgrk rhml hlgrk rdlBrent brgrk

linreg(noprint, robust, define = eqgrkr) rdlgprk / ugrkr
# constant rdlcrsp rsmb rhml rdlBrent

linreg(noprint, robust, define = eqgte) rdlgte / ugte
# constant rdlcrsp mkgte rsmb sbgte rhml hlgte rdlBrent brgte

linreg(noprint, robust, define = eqgter) rdlgte / ugter
# constant rdlcrsp rsmb rhml rdlBrent

linreg(noprint, robust, define = eqpxt) rdlpxt / upxt
# constant rdlcrsp mkpxt rsmb sbpxt rhml hlpxt rdlBrent brpxt

linreg(noprint, robust, define = eqpxtr) rdlgte / upxtr
# constant rdlcrsp rsmb rhml rdlBrent

linreg(noprint, robust, define = eqcne) rdlcne / ucne
# constant rdlcrsp mkcne rsmb sbcne rhml hlcne rdlBrent brcne

linreg(noprint, robust, define = eqcner) rdlcne / ucner
# constant rdlcrsp rsmb rhml rdlBrent

linreg(noprint, robust, define = eqfec) rdlfec 686 fin ufec
# constant rdlcrsp mkfec rsmb sbfec rhml hlfec rdlBrent brfec

linreg(noprint, robust, define = eqfecr) rdlfec 686 fin ufecr
# constant rdlcrsp rsmb rhml rdlBrent

group modptfw   eqfac eqptfw
group modptfwr  eqfac eqptfwr
group modecp  eqfac eqecp
group modecpr eqfac eqecpr
group modgrk  eqfac eqgrk
group modgrkr eqfac eqgrkr
group modgte  eqfac eqgte
group modgter eqfac eqgter
group modpxt  eqfac eqpxt
group modpxtr eqfac eqpxtr
group modcne  eqfac eqcne
group modcner eqfac eqcner
group modfec  eqfac eqfec
group modfecr eqfac eqfecr

***** ESTIMACIÓN DE LA VARIANZA *****

***** FACTORES *****

garch(noprint, model=eqfac, mv=DCC, DCC=CDCC, p=1, q=1, hmatrices=hmfac, pmethod=bhhh, piters=100, robusterros, $
      method=bhhh, iters=500, mvhseries=hsfac, distrib=t, asymm, stdresid=zfac, rvectors=r2fac) / $
      rdlcrsp rsmb rhml rdlBrent

dec vect[series] bptfw(4) becp(4) bgrk(4) bgte(4) bpxt(4) bcne(4) bfec(4)
set d3 = t>=1493.and.t<=1541

report(action=define,hlabels=||"Variable","Ecopetrol","Geopark","Gran Tierra","Parex","Canacol","Frontera"||)

***** ECP *****

garch(model=modecp, mv=DCC, DCC=CDCC, p=1, q=1, hmatrices=hmecp, pmethod=bhhh, piters=100, robusterros, $
      print, method=bhhh, iters=500, mvhseries=hsecp, distrib=t, asymm, stdresid=zecp, rvectors=recp,     $
      hadjust=%(hsecp(1,1)=hsfac(1,1),hsecp(1,2)=hsfac(1,2),hsecp(1,3)=hsfac(1,3),hsecp(1,4)=hsfac(1,4),  $
                hsecp(2,2)=hsfac(2,2),hsecp(2,3)=hsfac(2,3),hsecp(2,4)=hsfac(2,4), $
                hsecp(3,3)=hsfac(3,3),hsecp(3,4)=hsfac(3,4),hsecp(4,4)=hsfac(4,4), cecp=%beta,  $
                %pt(becp,t,tr(inv(%xsubmat(hmecp(t),1,4,1,4))*tr(%xsubmat(hmecp(t),5,5,1,4)))), $
                mkecp=becp(1)*rdlcrsp,sbecp=becp(2)*rsmb,hlecp=becp(3)*rhml,brecp=becp(4)*rdlBrent),xreg) / $
      rdlcrsp rsmb rhml rdlBrent rdlecp
      # d3

report(regress)

***** GPRK *****

garch(model=modgrk, mv=DCC, DCC=CDCC, p=1, q=1, hmatrices=hmgrk, pmethod=bhhh, piters=100, robusterros,   $
      print, method=bhhh, iters=500, mvhseries=hsgrk, distrib=t, asymm, stdresid=zgrk, rvectors=rgrk,       $
      hadjust=%(hsgrk(1,1)=hsfac(1,1),hsgrk(1,2)=hsfac(1,2),hsgrk(1,3)=hsfac(1,3),hsgrk(1,4)=hsfac(1,4),    $
                hsgrk(2,2)=hsfac(2,2),hsgrk(2,3)=hsfac(2,3),hsgrk(2,4)=hsfac(2,4), $
                hsgrk(3,3)=hsfac(3,3),hsgrk(3,4)=hsfac(3,4),hsgrk(4,4)=hsfac(4,4), cgrk=%beta,  $
                %pt(bgrk,t,tr(inv(%xsubmat(hmgrk(t),1,4,1,4))*tr(%xsubmat(hmgrk(t),5,5,1,4)))), $
                mkgrk=bgrk(1)*rdlcrsp,sbgrk=bgrk(2)*rsmb,hlgrk=bgrk(3)*rhml,brgrk=bgrk(4)*rdlBrent),xreg) / $
      rdlcrsp rsmb rhml rdlBrent rdlgprk
      # d3

report(regress)

***** GTE *****

garch(model=modgte, mv=DCC, DCC=CDCC, p=1, q=1, hmatrices=hmgte, pmethod=bhhh, piters=100, robusterros,   $
      print, method=bhhh, iters=500, mvhseries=hsgte, distrib=t, asymm, stdresid=zgte, rvectors=rgte,       $
      hadjust=%(hsgte(1,1)=hsfac(1,1),hsgte(1,2)=hsfac(1,2),hsgte(1,3)=hsfac(1,3),hsgte(1,4)=hsfac(1,4),    $
                hsgte(2,2)=hsfac(2,2),hsgte(2,3)=hsfac(2,3),hsgte(2,4)=hsfac(2,4), $
                hsgte(3,3)=hsfac(3,3),hsgte(3,4)=hsfac(3,4),hsgte(4,4)=hsfac(4,4), cgte=%beta,  $
                %pt(bgte,t,tr(inv(%xsubmat(hmgte(t),1,4,1,4))*tr(%xsubmat(hmgte(t),5,5,1,4)))), $
                mkgte=bgte(1)*rdlcrsp,sbgte=bgte(2)*rsmb,hlgte=bgte(3)*rhml,brgte=bgte(4)*rdlBrent), xreg) / $
      rdlcrsp rsmb rhml rdlBrent rdlgte
      # d3

report(regress)

***** PXT *****

garch(model=modpxt, mv=DCC, DCC=CDCC, p=1, q=1, hmatrices=hmpxt, pmethod=bhhh, piters=200, robusterros, $
      print, method=bhhh, iters=500, mvhseries=hspxt, distrib=t, asymm, stdresid=zpxt, rvectors=rpxt,     $
      hadjust=%(hspxt(1,1)=hsfac(1,1),hspxt(1,2)=hsfac(1,2),hspxt(1,3)=hsfac(1,3),hspxt(1,4)=hsfac(1,4),  $
                hspxt(2,2)=hsfac(2,2),hspxt(2,3)=hsfac(2,3),hspxt(2,4)=hsfac(2,4), $
                hspxt(3,3)=hsfac(3,3),hspxt(3,4)=hsfac(3,4),hspxt(4,4)=hsfac(4,4), cpxt=%beta,  $
                %pt(bpxt,t,tr(inv(%xsubmat(hmpxt(t),1,4,1,4))*tr(%xsubmat(hmpxt(t),5,5,1,4)))), $
                mkpxt=bpxt(1)*rdlcrsp,sbpxt=bpxt(2)*rsmb,hlpxt=bpxt(3)*rhml,brpxt=bpxt(4)*rdlBrent), xreg) / $
      rdlcrsp rsmb rhml rdlBrent rdlpxt
      # d3

report(regress)

***** CNE *****

garch(model=modcne, mv=DCC, DCC=CDCC, p=1, q=1, hmatrices=hmcne, pmethod=bfgs, piters=200, robusterros, $
      print, method=bhhh, iters=500, mvhseries=hscne, distrib=t, asymm, stdresid=zcne, rvectors=rcne,     $
      hadjust=%(hscne(1,1)=hsfac(1,1),hscne(1,2)=hsfac(1,2),hscne(1,3)=hsfac(1,3),hscne(1,4)=hsfac(1,4),  $
                hscne(2,2)=hsfac(2,2),hscne(2,3)=hsfac(2,3),hscne(2,4)=hsfac(2,4), $
                hscne(3,3)=hsfac(3,3),hscne(3,4)=hsfac(3,4),hscne(4,4)=hsfac(4,4), ccne=%beta,  $
                %pt(bcne,t,tr(inv(%xsubmat(hmcne(t),1,4,1,4))*tr(%xsubmat(hmcne(t),5,5,1,4)))), $
                mkcne=bcne(1)*rdlcrsp,sbcne=bcne(2)*rsmb,hlcne=bcne(3)*rhml,brcne=bcne(4)*rdlBrent), xreg) / $
      rdlcrsp rsmb rhml rdlBrent rdlcne
      # d3

report(regress)

***** FEC *****

garch(model=modfec, mv=DCC, DCC=CDCC, p=1, q=1, hmatrices=hmfec, pmethod=bhhh, piters=100, robusterros, $
      print, method=bhhh, iters=500, mvhseries=hsfec, distrib=t, asymm, stdresid=zfec, rvectors=rfec,     $
      hadjust=%(hsfec(1,1)=hsfac(1,1),hsfec(1,2)=hsfac(1,2),hsfec(1,3)=hsfac(1,3),hsfec(1,4)=hsfac(1,4),  $
                hsfec(2,2)=hsfac(2,2),hsfec(2,3)=hsfac(2,3),hsfec(2,4)=hsfac(2,4), $
                hsfec(3,3)=hsfac(3,3),hsfec(3,4)=hsfac(3,4),hsfec(4,4)=hsfac(4,4), cfec=%beta,  $
                %pt(bfec,t,tr(inv(%xsubmat(hmfec(t),1,4,1,4))*tr(%xsubmat(hmfec(t),5,5,1,4)))), $
                mkfec=bfec(1)*rdlcrsp,sbfec=bfec(2)*rsmb,hlfec=bfec(3)*rhml,brfec=bfec(4)*rdlBrent), xreg) 686 fin $
      rdlcrsp rsmb rhml rdlBrent rdlfec
      # d3

report(regress)

report(action=format,picture="*.###")
report(action=show)

But how can I include the significance for each parameter in the REPORT instruction? The example you put in this section (signiftag), I don´t know how to adapt it to my exercise.
Regards,

Re: significance level in star format alongside coefficients

Posted: Thu Jun 10, 2021 8:03 am
by Narci4269
Hi Tom. Could you see my last post?
regards,

Re: significance level in star format alongside coefficients

Posted: Thu Jun 10, 2021 12:28 pm
by TomDoan
There's some sort of mismatch between your data file and your program as I get a

## SX11. Identifier MKPTFW is Not Recognizable. Incorrect Option Field or Parameter Order?

at the first regression. However, I'm not really sure what you're trying to get out of this. Those GARCH models are going to have probably a full page of output each. That doesn't strike me as something that you would publish with relatively little editing. As it says earlier, if you're doing this for *your* purposes, just read the significance level columns.