turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- Analytics
- /
- Stat Procs
- /
- Mishkin Test

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

05-17-2010 11:36 AM

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

(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

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

05-18-2010 10:04 PM

http://personal.anderson.ucla.edu/judson.caskey/programs/mishkin.ado

This is STATA program. Who can rewrite it into SAS?

This is important for me, I really need it to do my research. Thanks.

This is STATA program. Who can rewrite it into SAS?

This is important for me, I really need it to do my research. Thanks.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

05-21-2010 07:34 PM

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;

run;

proc nlmixed data=mydata_restruct;

if response='R' then

eta = b*(earn - a0 - a1*x_tm1) + u_r;

else

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_rspec),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)));

run;

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.

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;

run;

proc nlmixed data=mydata_restruct;

if response='R' then

eta = b*(earn - a0 - a1*x_tm1) + u_r;

else

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_rspec),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)));

run;

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.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

05-31-2010 10:21 AM

Hi, Dale,

Thanks a lot for your assistance.

I had done my work. Message was edited by: hmc667888

Thanks a lot for your assistance.

I had done my work. Message was edited by: hmc667888

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

01-18-2011 06:58 PM

Hi,

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.

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.