Programming the statistical procedures from SAS

Mishkin Test

Posts: 0

Mishkin Test

I want to run Mishkin Test, the mode as belows
(1)y1= r0 + r1*x1 + r2*x2 +e
(2)y2= b0+b1(y1 - g0 -g1 *x1 -g2* x2 )+e

where g0~g2 is estimate r0~r2

As in Mishkin (1983) to estimate eq(1) and (2) jointly using an interative generalized nonlinear least squares estimation procedure.

Also, it need to report r1, g1, and r1-g1 (with Chi-sq, or likelihood ratio statistic) Message was edited by: hmc667888
Posts: 0

Re: Mishkin Test

This is STATA program. Who can rewrite it into SAS?
This is important for me, I really need it to do my research. Thanks.
Regular Contributor
Posts: 169

Re: Mishkin Test

I neither know STATA nor do I know explicit details of the Mishkin test. However, for the problem as described on the page that you have linked to above, we can write a very short SAS program (compared to the STATA program which was given) that would fit the model and allow a test of whether one is operating in an efficient market. It should be noted that if the page that you linked to does not fully specify the model (for instance, if the residual v(t) is correlated with the residual v(t-1)), then the code presented below will not be appropriate.

Before proceeding to state the code, let me note that I the code presented below operates for the single predictor variable X and responses RETURN and EARN as employed in the linked page. You have written the model a bit differently (with more than one predictor and with specification of the equations for the responses seemingly reversed from what is described on the Judson Caskey page. You will have to revise the code that I present to accommodate differences between your model specification and the specification by Judson Caskey.

Also, let me note that for the solution which is proposed below, you will need to restructure a data set which has earnings and returns on one record so that a single response variable Y is employed with an indicator of whether the response Y represents returns or whether it represents earnings. We begin by restructuring the data.

data mydata_restruct;
  set mydata;
  record + 1;
  x_tm1 = lag(x);  /* Construct X(t-1) */
  y = return;  response='R';  output;
  y = earn;  response='E';  output;

proc nlmixed data=mydata_restruct;
  if response='R' then
    eta = b*(earn - a0 - a1*x_tm1) + u_r;
    eta = g0 + g1*x_tm1 + u_3;
  model y ~ normal(eta, exp(2*log_sd_common));
  random u_r,u_e ~ normal([0,0],
                                        exp(2*log_sd_espec)]) subject=record;
  contrast "Market Efficiency" a0-g0, a1-g1;
  estimate "Var(v(t))" exp(2*log_sd_common) + exp(2*log_sd_rspec);
  estimate "Var(u(t))" exp(2*log_sd_common) + exp(2*log_sd_espec);
  estimate "Cov(v(t),u(t))" exp(2*log_sd_common);
  estimate "Corr(v(t),u(t))" exp(2*log_sd_common) /
                                      sqrt((exp(2*log_sd_common) + exp(2*log_sd_rspec)) *
                                            (exp(2*log_sd_common) + exp(2*log_sd_espec)));

The above code is completely untested. However, it is fairly simple code to construct, so it should be pretty good code. Do you have access to some data where results have already been provided so that you could test the above model? If there are any other requirements for the model (such as serially correlated residuals), then the above code (as previously noted) would not be sufficient.
Posts: 0

Re: Mishkin Test

Hi, Dale,
Thanks a lot for your assistance.
I had done my work. Message was edited by: hmc667888
Posts: 0

Re: Mishkin Test


I am a new user of Mishkin test and would need a bit of help getting my head around it. I am testing the accrual anomaly, so the code that I need is the same. This seems to be the only thread that I can find by googling.

Would appreciate any help.
Ask a Question
Discussion stats
  • 4 replies
  • 2 in conversation