Search

how to calculate fiscal year stock returns?
 Posted: 16 June 2014 10:09 PM [ Ignore ]
Newbie
Total Posts:  26
Joined  2014-05-03

HI joost,
I want to calculate fiscal year stock returns. I use monthly returns data in CRSP. But a firm’s fiscal year end date is different. How Can I calcuate the stock returns on a fiscal year basis?
Thanks a lot!
Xinjiao

 Profile

 Posted: 17 June 2014 09:21 AM [ Ignore ]   [ # 1 ]
Total Posts:  901
Joined  2011-09-19

hi Xinjiao,

What do you mean that the fiscal year end date is different? Do you mean that for example a fiscal year end of June 28 has a datadate in Funda of June 30? In that case, you will need to use daily returns.

best regards,

Joost

Signature

 Profile

 Posted: 17 June 2014 09:43 AM [ Ignore ]   [ # 2 ]
Newbie
Total Posts:  26
Joined  2014-05-03

Hi Joost,
For example. From CRSP database, I can obtan firm A’s monthly returns from 01/01/2013 to 31/12/2013. This is a calender year period. However, for firm A, the fiscal year end date, that is, the datadate in compustat database is 30/06/2014. This means for this firm 30/06/2013 to 30/06/2014 is a fiscal year perod. Since firms in compustat have different datadate, that is, different fiscal year end date, these firms thus have different fiscal period. Right? So, how can I calculate the stock returns on fiscal year period, instead of on calender year period?
Thanks!

 Profile

 Posted: 17 June 2014 09:43 AM [ Ignore ]   [ # 3 ]
Newbie
Total Posts:  26
Joined  2014-05-03

Hi Joost,
For example. From CRSP database, I can obtan firm A’s monthly returns from 01/01/2013 to 31/12/2013. This is a calender year period. However, for firm A, the fiscal year end date, that is, the datadate in compustat database is 30/06/2014. This means for this firm 30/06/2013 to 30/06/2014 is a fiscal year perod. Since firms in compustat have different datadate, that is, different fiscal year end date, these firms thus have different fiscal period. Right? So, how can I calculate the stock returns on fiscal year period, instead of on calender year period?
Thanks!

 Profile

 Posted: 17 June 2014 12:01 PM [ Ignore ]   [ # 4 ]
Total Posts:  901
Joined  2011-09-19

hi Xinjiao,

Something like this:

``` data getMsf2;set getMsf1; /* assuming this dataset holds gvkey, fyear, datadate, permno *//* start and end date of fiscal year */stFY = intnx('month', datadate,-11, 'b');endFY = datadate;/* unique identifier for firm-year */key = gvkey || datadate;/* format date variables */format stFY endFY date9.;run;/* get monthly returns */proc sql; create table getMsf3 as  select a.*, b.date as retDate, b.ret from  getMsf2 a,  crsp.msf b where  a.permno = b.permno  /* get returns between start and enddate */ and a.stFY <= b.date <= a.endFY ;quit;/* sort dataset */proc sort data = getMsf3; by key retDate; run;data getMsf4;set getMsf3;by key;/* retain (remember) cumulative return for each key (firm-year)*/retain lnRet_Sum;/* set to 1 for first record */if first.key then lnRet_Sum = 1;/* set missing returns to zero */if ret eq . then ret = 0;/* add to cumulative return */logret = log(1+ret);/* take log */lnRet_Sum = lnRet_Sum * (1+logret);/* output when last return processed for each key (firm-year)*/if last.key then output;run;  ```

best regards,

Joost

Signature