How to calculate weekly value-weighted industry returns?
Posted: 04 June 2014 07:37 AM   [ Ignore ]
Newbie
Rank
Total Posts:  26
Joined  2014-05-03

Hi,
  I need to estimate a type of market model and one of the variable needed is INDRET, value-weighted industry returns.
  Since I estimate the market model at weekly frequencies, I wonder what should be used as the weighted value? Is it OK to use fiscal-year end or calender-year end market capitalization, or to use each week-end market capitalization?
  Thanks a lot!
Best,
Xinjiao

Profile
 
 
Posted: 04 June 2014 07:49 AM   [ Ignore ]   [ # 1 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  901
Joined  2011-09-19

hi Xinjiao,

How about both ways? Using the week-end market cap seems more precise (but more coding work), but it may not matter (identical results). Even if it doesn’t matter for the results, your paper would show robustness/care (and it would still be helpful for other researchers for follow up research).

best regards,

Joost

 Signature 

To reply/post new questions: Please use the group WRDS/SAS on Google Groups! http://groups.google.com/d/forum/wrdssas

Profile
 
 
Posted: 14 June 2014 08:58 PM   [ Ignore ]   [ # 2 ]
Newbie
Rank
Total Posts:  4
Joined  2014-06-14

Hi,

Would you mind posting a SAS code for INDRET, value-weighted industry returns? I am trying to calculate stock price synchronicity and this is the only measure I cannot find any appropriate codes for. This would help me a lot! Thanks

Profile
 
 
Posted: 16 June 2014 09:53 PM   [ Ignore ]   [ # 3 ]
Newbie
Rank
Total Posts:  26
Joined  2014-05-03

Hi
The following is the sas code I calculate indret. I hope it works. Actually, I am also calculating synchronicity.
/*calculate value-weighted indret*/                                                                   
/*calculate the sum of market capitalization in a given industry at each year and week*/                               
proc sql;                                                                                   
create table d as select *,sum(cap) as cap_sum_ind from c                                                    
group by year,week,industry;                                                                       
quit;                                                                                       
                                                                                         
/*calcuate the weight: dividing firm i’s capitalization by the corresponding industry’s total cap*/                       
data d;                                                                                     
set d;                                                                                     
weight=cap/cap_sum_ind;                                                                           
ret_vweek=weight*ret_week;                                                                         
run;                                                                                       
                                                                                         
/*calculate the sum of value-weighted firm returns in a given industry*/                                         
proc sql;                                                                                   
create table e as select *,sum(ret_vweek) as ret_vind from d                                                  
group by year,week,industry;                                                                       
quit; 

Profile