```
-------------------------------------------------------------------------------
help for grstest
-------------------------------------------------------------------------------

grstest - module to implement the Gibbons et al. (1989) test in a single factor
>  or a multi factor setting

Syntax :

grstest varlist,flist(factorlist) [ret(string)]

Description :

multi factor setting

grstest implements the test by Gibbons et al.(1989) within a multi factor setti
> ng when the
the number of factors in flist is greater than 1. Here, grstest computes the gr
> s test statistic as

GRS = (T/N) * ((T-N-K) / (T-K-1)) * w ~ F(df1,df2)

where w =  (bohat' * sigmahat^-1 * bohat) / (1 + fbar' * omegahat^-1 * fbar)

and,

T = total number of observations
N = Number of portfolios or assets
K = Number fo factors in the flist
fbar= column vector of the factor means (K*1)
omegahat = variance-covariance matrix for the factors (K*K)
bohat = column vector of intercept estimates (N *1)
sigmahat = the unbaised residual covariance matrix (N *N)
df1 = N
df2 = T-N-K

single factor setting

grstest implements the test by Gibbons et al.(1989) within a single factor sett
> ing when the
the number of factors in flist is equal to 1. Here, grstest computes the grs te
> st statistic as

GRS = (T * (T-N-1) / (N *(T-2)) * w ~ F(df1,df2)

where w =  (bohat' * sigmahat^-1 * bohat) / (1+ thetahat^2)

and,

T = total number of observations
N = Number of portfolios or assets
K = 1
thetahat= sample mean of the factor / sample variance of the factor.
bohat = column vector of intercept estimates (N *1)
sigmahat = the unbaised residual covariance matrix (N *N)
df1 = N
df2 = T-N-1

Example Usage:

. grstest p*, flist(rmrf smb hml) ret(r)

. grstest p*, flist(f*) ret(r)

. grstest s*b*_vwr, flist(mktrf smb hml)

. grstest s*b*_vwr, flist(mktrf)

Options

flist (factorlist) : specifies the factors.  It is a required option.

ret (string): this must be specified as ret(r) if the returns are raw returns.
> If it is not specified or incorrectly
specified with anything other than r, the pogram will assume that the returns a
> re excess returns. It is not a required
option.

Notes:

1. grstest requires that data be in the wide format i.e with each portfolio ret
> urn and factor in a separate variable.

2. grstest requires that the option ret(r) is to be specified if the portfolio/
> asset returns are raw returns.
If ret(r) is specified, the excess returns will be computed automatically.Ho
> wever, if  ret(r) is specified,
grstest requires that a variable rf containing  the relevant risk free rate
> is  present to calculate the excess
returns. Specifying ret(r) without a rf variable will result in an error. If
>  the option ret() is not specified or
incorrectly specified then grstest will display the message "The option ret(
> ) is not specified or specified
properly.grstest will assume that the returns are excess returns" and run th
> e test assuming that the returns are
excess returns.

Author:

Rajesh Tharyan
Xfi- Centre for Finance and Investment
University of Exeter
r.tharyan@ex.ac.uk

References:

Fama, E.F. & French, K.R., 1993. Common risk factors in the returns on stocks a
> nd bonds. Journal of Financial Economics, 33(1), 3-56.

Gibbons, M.R., Ross, S.A. & Shanken, J., 1989. A test of the efficiency of a gi
> ven portfolio. Econometrica, 57(5), 1121–1152.

Moore,J.D.,2009, Using the GRS test statistic to asses factor model fit. Availa
> ble at http://djmphd.googlepages.com/epublications.
{p_end}
```