Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re: st: re: help with sureg


From   [email protected]
To   [email protected]
Subject   Re: Re: st: re: help with sureg
Date   Wed, 15 Oct 2008 18:30:00 +0200

By the way, Stata 10 lets take you advantage of -xtsur-. Just -findit-

Nicola
P.S. I'll NOT receive/read any email but the Digest.

At 02.33 14/10/2008 -0400, "Thomas Jacobs" wrote:
>Kit,
>
>Thanks very much for the explanation.  That was helpful.  You were
>certainly correct on the coffee comment.  I had already cribbed the
>`eqn' logic from your Modern Econometrics text and run with manually
>generated lags.  Using the tsset will be much cleaner.  Thanks again.
>
>Tom
>
>On Mon, Oct 13, 2008 at 4:15 PM, Kit Baum <[email protected]> wrote:
>> < >
>> Thomas said:
>>
>> I am trying to use sureg on a dataset of approximately 50 firms with
>> 900 trading days of observations:
>>
>> . xtset
>>       panel variable:  CompanyNum (strongly balanced)
>>        time variable:  TradeDateNum, 501 to 1402
>>                delta:  1 unit
>>
>> I keep only the necessary variables:
>>
>> . keep TradeDateNum CompanyNum LnRt*
>>
>> and reshape from long to wide for the company specific variables:
>>
>> . reshape wide LnRtFiveYrMid LnRtStock, i(TradeDateNum) j(CompanyNum)
>> (note: j = 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24
>> 25 26 27 28 29 30 32 33
>>>  34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57)
>>
>> Data                               long   ->   wide
>> -----------------------------------------------------------------------------
>> Number of obs.                    47806   ->     902
>> Number of variables                  10   ->     113
>> j variable (53 values)       CompanyNum   ->   (dropped)
>> xij variables:
>>                          LnRtFiveYrMid   ->   LnRtFiveYrMid1
>> LnRtFiveYrMid2 ... LnRtFiveYrM
>>> id57
>>                              LnRtStock   ->   LnRtStock1 LnRtStock2
>> ... LnRtStock57
>> -----------------------------------------------------------------------------
>>
>> I then attempt to execute sureg on my current pooled OLS specification
>> for just two firms:
>>
>> . sureg (LnRtFiveYrMid1 L(1/2).LnRtFiveYrMid1 L(0/4).LnRtCDX LnRtCMT
>> LnRtTED L(0/2).LnRtStoc
>>> k1) (LnRtFiveYrMid2 L(1/2).LnRtFiveYrMid2 L(0/4).LnRtCDX LnRtCMT LnRtTED
>>> L(0/2).LnRtStock2
>>> )
>> variable CompanyNum not found
>>
>> and I get the error CompanyNum (the dropped variable after reshaping
>> to wide) not found.  So far, the only way it will run is if I exclude
>> time series operators:
>>
>> . sureg (LnRtFiveYrMid1 LnRtCDX LnRtCMT LnRtTED LnRtStock1)
>> (LnRtFiveYrMid2 LnRtCDX LnRtCMT
>>> LnRtTED LnRtStock2)
>>
>> Seemingly unrelated regression
>> ----------------------------------------------------------------------
>> Equation          Obs  Parms        RMSE    "R-sq"       chi2        P
>> ----------------------------------------------------------------------
>> LnRtFiveY~d1      887      4    .0453147    0.1464     152.27   0.0000
>> LnRtFiveY~d2      887      4    .0479444    0.0777      74.68   0.0000
>> ----------------------------------------------------------------------
>>
>> ------------------------------------------------------------------------------
>>             |      Coef.   Std. Err.      z    P>|z|     [95% Conf.
>> Interval]
>> -------------+----------------------------------------------------------------
>> LnRtFiveY~d1 |
>>     LnRtCDX |   .5369359    .054891     9.78   0.000     .4293515
>>  .6445204
>>     LnRtCMT |  -.3181771   .0979303    -3.25   0.001    -.5101169
>> -.1262374
>>     LnRtTED |  -.0106727   .0188642    -0.57   0.572    -.0476459
>>  .0263005
>>  LnRtStock1 |   .0629164   .1021791     0.62   0.538    -.1373509
>>  .2631838
>>       _cons |  -.0006975   .0015239    -0.46   0.647    -.0036843
>>  .0022893
>> -------------+----------------------------------------------------------------
>> LnRtFiveY~d2 |
>>     LnRtCDX |    .362548   .0568002     6.38   0.000     .2512216
>>  .4738745
>>     LnRtCMT |  -.3034092   .1032472    -2.94   0.003    -.5057699
>> -.1010485
>>     LnRtTED |  -.0484131    .019944    -2.43   0.015    -.0875027
>> -.0093235
>>  LnRtStock2 |  -.0617068   .0777801    -0.79   0.428     -.214153
>>  .0907394
>>       _cons |  -.0000496   .0016117    -0.03   0.975    -.0032085
>>  .0031093
>> ------------------------------------------------------------------------------
>>
>> Does sureg prevent the use of time series operators?  If so, am I best
>> to manually generate all the lags before reshaping or after?  Any
>> other suggestions?  Thanks.
>>
>>
>>
>> The problem is that -tsset- (or -xtset-) remembers how your original
>> long-format data were defined, in terms of CompanyNum and TradeDateNum.
>> -sureg- is happy to accept timeseries operators, as -help sureg- indicates.
>> But you must after using -reshape- reestablish the -tsset-, which will now
>> be just
>>
>> tsset TradeDateNum
>>
>> as what you have now is a pure timeseries dataset. Then you should be able
>> to give the -sureg- command.
>>
>> As you have 57 equations to specify, I suggest you use a -local- and a
>> -forvalues- loop over company numbers to build up the equation list.
>> For instance, as a simplified example,
>>
>> local eqlist
>> forv i = 1/57 {
>>        local eqlist  "`eqlist'  (LnRtFiveYrMid`i' LnRtCDX LnRtCMT LnRtTED
>> LnRtStock`i')"
>> }
>>
>> Just make sure you never use an equals sign in this local statement. You can
>> then say
>>
>> sureg `eqlist'
>>
>> and go have a cup of coffee. 

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index