Libname Us ' Tsclient E Badm742';

Libname Us ' Tsclient E Badm742';

<p>libname us '\\tsclient\e\badm742';</p><p>/*data clean*/ data a; set us.crsp2017; year=year(date); month=month(date); if ret>-1; mktval=prc*shrout; if mktval>0; keep permno year month ret mktval; run;</p><p>/*all stocks are ranked into deciles (ten subgroups) based on their market values at the beginning of each year*/ data b; set a; if month=12; year=year+1; keep permno year mktval; run;</p><p> proc sort data=b; by year mktval; run; proc rank groups=10 data=b out=c; var mktval; ranks s1; by year; run; data d; set c; group=s1+1; keep permno year group; run; /* get monthly returns for the period between 1996 and 2015, and assign every stock to one of ten portfolios*/ data stk; set a; if year=1995 then delete; keep permno year month ret; run;</p><p> proc sort data=stk; by permno year;run; proc sort data=d; by permno year;run;</p><p> data all; merge stk d; by permno year; if ret=. or group=. then delete; run;</p><p>/* calculate the monthly return per portfolio, per month*/ proc sort data=all; by year month group; run; proc means data=all noprint; var ret; by year month group; output out=final mean = ret_port; data final; set final; keep group year month ret_port; run;</p><p>/*calculate mean, std of monthly returns of ten portfolios for the study period*/ proc sort data=final; by group; run; proc means data=final noprint; var ret_port; by group; output out=final1 mean = mean_ret std = std_ret; data final1; set final1; keep group mean_ret std_ret; run;</p><p>/* final results for means of monthly returns of ten portfolios can be found in final1 dataset*/</p><p>/* test the significance of difference in returns between small sized portfolio and large sized portfolio*/ data p1; set final; if group=1; ret_p1=ret_port; keep year month ret_p1; run;</p><p> data p10; set final; if group=10; ret_p10=ret_port; keep year month ret_p10; run;</p><p> proc sort data=p1; by year month; run; proc sort data=p10; by year month; run; data t; merge p1 p10; by year month; diff = ret_p1 - ret_p10; run;</p><p> proc means data=t noprint; var diff; output out=t_test mean = m_diff std = std_diff n = nob; data t_test; set t_test; t=(m_diff/std_diff)*sqrt(nob); keep m_diff std_diff nob t; run;</p><p>/* you will find t-stat in the table t_test*/</p>

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us