Disclaimer: Program codes and data provided here are "as is" and may require updates and corrections for your purposes. Please use at your own risk.
Program Codes (SAS, STATA, Python, JAVA)
SAS code to adjust IBES estimates for stock splits using CRSP cumulative split factors: [Download]
"Relatively the most reliable and accurate way of joining unadjusted IBES details and actuals is to use CRSP." (IBES, 2006)
I slightly modified the program, unadjust_merge.sas, coded by Robinson and Glushkov (WRDS, 2006)
Please feel free to send me an email. Available upon request.
Notes on the I/B/E/S
I/B/E/S - Restructuring of analyst and estimator identifiers in October 2018:
"With the onset of the MiFID II..., Thomson Reuters is modifying the display of detailed estimates data in the I/B/E/S Detail History Product Suite... Effective October 18, 2018, the contributor and analyst names ... will be anonymized... Estimates from UBS will be removed from the I/B/E/S Detail History" (IBES, 2018)
My Observation (as of 08 June 2019):
Since October 2018, IBES has stopped providing analyst names (ANALYST) and randomly shuffled key identifiers of analysts (AMASKCD) and brokers (EMASKCD). This makes new versions of IBES datasets incompatible with their corresponding old vintage files that still contain information on analyst names. I make a couple observations:
In terms of the broker's key identifier (EMASKCD), there seems to be a pattern: If you substract 50000 from a broker's new EMASKCD that is shuffled in 2018, you can retrieve its old EMASKCD (e.g., 50406 -> 406).
In terms of the analyst's key identifier (AMASKCD), there is no clear pattern. Yet, an analyst's old AMASKCD can still be identified using additional information on the analyst that you can collect from IBES, such as his or her coverage portfolio, forecast timings, and broker affiliation. Below, I illustrate such a case with an example of analyst R. Davis who covered Castlight Health, Inc. in 2014-2015.