Calculating annual holding period returns from CRSP/Compustat merged file
Posted: 30 June 2015 08:11 PM   [ Ignore ]
Total Posts:  1
Joined  2015-06-29


I am doing my first real research project with WRDS. My current roadblock is that I’m trying to calculate holding period returns (assuming reinvestment of dividends) from the CRSP/Compustat Merged (CCM) fundamentals annual database. I have two questions:

1) The formula for calculating returns provided in the CRSP documentation is:

Total Return = (adjprc + (divamt / cumfacpr / facpr)) / prev_adjprc -1

However, the variables in the CCMA database are slightly different (the adjustment factors in particular). If I understand the variable descriptions correctly, AJEX is supposed to be used with both price data, dividends data, and share data. Does the following equation correctly calculate holding period return (assuming reinvestment of dividends)?

Total Return = ((PRCC_F + DVPSX_F)/ ADJEX_F)) / Lag ((PRCC_F + DVPSX_F)/ ADJEX_F)) – 1

2) Alternatively, I’ve seen code that merges CCMA with CRSP and uses the RET variable from CRSP to calculate returns. However, another important factor is that I’m a Masters student and WRDS does not give Masters students access to the UNIX interface. Therefore, I’m not sure if I can download datasets individually since I have to use the Web Query forms to access the data and these forms often merge the datasets for you. The significant part of this for me is that many of the sample programs at WRDS use individual datasets as inputs, which makes the programs less useful to me if I cannot start with those data sets. So, if someone suggests this method, my ready-made follow-up question will be: How do I merge these properly?

Thanks for any help with this!

Posted: 03 July 2015 06:25 AM   [ Ignore ]   [ # 1 ]
Total Posts:  901
Joined  2011-09-19


About computing return over some period: I would think most commonly people would use CRSP MSF (Monthly) or DSF (Daily) returns. MSF/DSF returns have been adjusted for splits etc, and only need to be summed/compounded.

To download the individual tables, you could use SAS with Rsubmit. If SAS is not available, you could use the web interface to download the essential variables of the datasets you need and use any other data management program to match the tables on your computer.

Hope this helps,



To reply/post new questions: Please use the group WRDS/SAS on Google Groups!