Search

How to calculate weekly value-weighted industry returns?
 Posted: 04 June 2014 07:37 AM [ Ignore ]
Newbie
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 ]
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

 Profile

 Posted: 14 June 2014 08:58 PM [ Ignore ]   [ # 2 ]
Newbie
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
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