Date: Wed, 8 Dec 1999 17:16:58 -0500
Reply-To: "J. Das" <jdas@INTEGRAINFO.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: "J. Das" <jdas@INTEGRAINFO.COM>
Subject: Re: SUR test using PROC SYSLIN?
Don,
I think you need to arrange your data side by side first. Then do the
following:
/* Untested Code */
proc syslin data=your data SUR;
model1: model ret001=vwret dummy;
model2: model ret002=vwret dummy;
run;
SAS should give you regular OLS estimates for each of the models one after
another. Then it would produce SUR Results: It would give you "Cross Model
Covariance", "Cross Model Correlation", Cross Model Inverse Correlation",
and "Cross Model Inverse Covariance". Finally you should get SUR-estimates
of each of the models. Compare the OLS-estimates vs. SUR-estimates for each
of your model to see whether you get different estimates. If the model
equations are related through the error terms, then you should see that the
OLS and SUR estimates are different. That also depends on how large your
sample is since the 'efficiency gain' that you get by using SUR over OLS is
a large sample property, as explained in page 554 of SAS/ETS User's Guide.
That page also gives you more guidance how to save covariance matrix. Hope
this helps.
JDas.
---------------------------------
Dr. Jayanta Das
Senior Econometrician
Integra Information, Inc.
_____________________________________________________________
Donald Peter Cram [doncram@LELAND.STANFORD.EDU]
Is there any economical way to apply PROC SYSLIN to test a restriction
across many models in a Seemingly Unrelated Regression (SUR)?
I am working with CRSP financial data and have the same regressors
across each equation. I have several hundred firms' stock returns
data for the same time period for each firm. The regressors are
market returns (variable vwret) and a dummy variable that is 0 for
some dates and 1 for others. Since the regressors are the same, the
coefficient estimates and their variances or standard errors will be
the same as if I applied OLS (see Greene's _Econometric Analysis_ or
other econometrics textbooks). But I want to use SUR because it
additionally estimates covariances, and I want to use those
covariances in testing. I want to test whether the sum of my dummy
variable's coefficients, across equations, is zero.
The following pseudo-code (I)
proc syslin SUR;
model ret=vwret dummy;
doesn't recognize that I have many separate firms' data, it just
estimates a pooled model without recognizing that I want one for each
firm, and I have no way to apply my test.
The following (II)
proc syslin SUR;
model ret=vwret dummy;
by firm;
estimates completely separated models, I think, not SUR across firms;
I see no way to apply my test.
Do I need to rearrange my data to be side by side instead of stacked,
so that something like (III):
proc syslin SUR;
mod001: model ret001=vwret dummy;
mod002: model
[...]
mod100: model ret100=vwret dummy;
stest mod001.dummy + mod002.dummy + [...] + mod100.dummy;
could be run. I am not sure if it could work as this seems too
cumbersome. Actually I want to test across several hundreds of firms.
Am I on the right track? Or can code (II) be adapted somehow? If I
could generate a variance-covariance matrix of my coefficient
estimates in II somehow (how?) saved as a dataset, then I could apply
PROC IML to construct my test.
[Aside, for those who work with CRSP data: the following would estimate
stock market betas in my data:
proc reg data=mydata;
model ret = vwret;
by firm; ]
regards
Don Cram