help xtpsortversion: 1.5
also see: xtscc

Title

xtpsort - Portfolio Sorts Approach (or Jensen alpha approach)

Syntax

xtpsort
depvar
[indepvars]
[if] [in]
[, options]

Model
groupvar(varname) Dummy variable which defines TWO subject groups (e.g. firms, funds, or investors).
If this option is not set, then it is assumed that all observations belong to the same subject group.

lag(#) Compute Newey-West standard errors with a lag length of lag(#) periods.

vcetype(vcetype) Define the covariance matrix estimator that has to be applied in the estimation. See below.

robust Compute heteroscedasticity consistent (or White) standard errors.

ase Compute asymptotic rather than small sample adjusted standard errors.

ipw(varname) Variable containing the intra-period weights of the observations;
by default all observations within a period are equally weighted.

Reporting
level(#) set confidence level; default is level(95)

You must tsset your data before using xtpsort.

by may be used with xtpsort; see by.

Description

xtpsort performs the portfolio sorts approach (or Jensen alpha approach).
The procedure includes two steps. In the first step, all observations in a given period are aggregated
by computing the (weighted) average value for the depvar. Then, in the second step, a time-series
regression is estimated with the averaged depvar as the dependent variable and the indepvars
as the explanatory variables.

The xtpsort program assumes that the indepvars are identical for all subjects. Put
differently, the indepvars are expected to be factor variables which vary over time but
not across the subjects.

The xtpsort program works for both balanced and unbalanced panels, respectively.
Moreover, it is capable to handle missing values and gaps.

Options

Model

groupvar(varname) is a dummy variable which defines TWO groups of subjects. In corporate
finance applications, the subject groups are typically event firms and non-event firms. In studies
on the performance of private investors, the subject groups could be men and women. If this option
is set, then xtpsort computes for each period the difference between the portfolio excess
return (or whatever the depvar is) of group 1 and that of group 0.

An example might help here. Let the dependent variable (depvar) be the monthly portfolio excess
return (X) and option groupvar(varname) be set as group(Woman) where Woman is a
dummy variable which is one for women and zero for men. Then, the xtpsort program computes
for each month the return differential between the aggregated portfolio excess return of the women
and that of the men: Delta(X,t) = X(Women,t) - X(Men,t). In the second step of the procedure,
the xtpsort program then estimates the regression model:

Delta(X,t) = c0 + c1 * Indepvar_1(t) + ... + ck * Indepvar_k(t) + e(t).

lag(#) estimates the time-series regression of the second step with Newey-West standard errors
which are autocorrelation consistent up to lag(#) lags.

robust estimates the time-series regression of the second step with heteroscedasticity consistent
(or White) standard errors. Option robust produces identical results as lag(0).

vcetype(vcetype) specifies how to compute the standard errors for the
coefficient estimates. The following vcetypes are allowed: robust estimates
the time-series regression of the second step with heteroscedasticity consistent (or White)
standard errors. This option yiels similar results as if option robust (see above)
is chosen. bootstrap provides bootstrapped standard errors for the time-series
regression of the second step. Finally, jacknife derives jacknifed standard errors
for the time-series regression of the second step.

ase estimates asymptotic rather than small sample adjusted standard errors.

ipw(varname) defines the intra-period weights of the observations; by default all
observations within a period are equally weighted. This option may be used to compute value or
firm size weighted portfolio returns rather than equally weighted portfolio returns.

Reporting

level(#); see estimation options.

Examples

. webuse grunfeld, clear

. gen FDummy = (company>6)

. by year, sort: egen tvar = mean(invest - kstock + mvalue/10)

. xtpsort invest tvar, group(FDummy) lag(2) ase

. xtpsort invest tvar if FDummy==1, robust

Author

Daniel Hoechle, FHNW Business School, daniel.hoechle@fhnw.ch

Also see

Manual: [R] regress, [XT] xtreg

Online: xtscc, xtscc postestimation;

tsset, regress, xtreg, _robust