The Basics of Investing and Trading | Explained and analyzed.

Analyst Ratings and Stock Prices

Study 1: ID3, C4.5 and the effect of Analyst Ratings on Stock Price Movements

Abstract:
The objective of this study is to investigate if the recommendations of Equity Research Analysts of prestigious Investment Banks/Brokerage firms are accurate; i.e. if these Analysts are able to predict the movement of stock prices of blue chip companies and to investigate if patterns exist in recommendation and price change data using the ID3 and C4.5 algorithms. The study suggests that there may not be a pattern that is across the Analyst and Stock price data and that the predictive value of the Upgrades/Downgrades of recommendations seems to be more accurate at predicting future price movement than absolute recommendations during bearish times.

Objective
The objective of this study is:

  1. To investigate if the recommendations of Equity Research Analysts of prestigious Investment Banks/Brokerage firms are accurate; i.e. if these Analysts are able to predict the movement of stock prices of blue chip companies and to investigate if patterns exist in recommendation and price change data using the ID3 and C4.5 algorithms.

Method

  1. The historic recommendations of the analysts of above mentioned Research firms (for specific time periods) the above mentioned stocks are tabulated. Time periods are chosen so that they reflect bullish(rising stock prices) as well as bearish (falling stock prices)
  1. The Upgrade/Downgrade history is tabulated for the same.
  1. The stock prices are adjusted for Dividends and Stock Splits and tabulated.
  1. The normalized stock price changes after periods of approximately 3 months and 1 year are tabulated. For example, Banc of America Securities initiated a “Buy” recommendation on Microsoft’s stock on 5/1/02 when the adjusted share price was 22.25 The stock price of Microsoft after 3 months, i.e.  8/2/02 (mm/dd/yy) was 18.98 .

Normalized Price Difference = (New Price – Old Price )/ Old Price

Thus, the normalized 3 month change is (22.25 – 18.98)/18.98 = -0.15831

  1. Thus, 3 month normalized price changes and 1 year normalized price changes are tabulated.
  1. This data is further “discretized” in the following format:

Action, From, To, Price Movement

For the previous example, the discretized data would be:

Initiated, Buy, Buy, Fall

The Price Movement in this case is “Fall” since the price fell after 3 months

  1. This data is fed into the system which analyzes this data using the C4.5 algorithm to produce decision trees which reflect the patterns that the C4.5 algorithm has found.
  1. These decision trees are examined for consistency across different stocks.
  1. The accuracy of the analyst recommendations are examined using the table generated from step 5.3.

Results
Decision Trees Yielded ranged simple trees such as:

From = Sell: Rise (0.0)

From = Moderate_Sell: Fall (1.0)

From = Moderate_Buy: Fall (1.0)

From = Hold: Rise (2.0)

To complex trees such as:

Action  Depth = 0

If Action = Upgrade Then   Depth = 1   Parent = Action

If Action = Downgrade Then   Depth = 1   Parent = Action

If Action = Initialized Then   Depth = 1   Parent = Action

Fall  Depth = 2   Parent = If Action = Upgrade Then

From  Depth = 2   Parent = If Action = Downgrade Then

Fall  Depth = 2   Parent = If Action = Initialized Then

If From = Buy Then   Depth = 3   Parent = From

If From = Sell Then   Depth = 3   Parent = From

If From = Strong_Buy Then   Depth = 3   Parent = From

If From = Hold Then   Depth = 3   Parent = From

If From = Strong_Sell Then   Depth = 3   Parent = From

If From = Moderate_Buy Then   Depth = 3   Parent = From

If From = Moderate_Sell Then   Depth = 3   Parent = From

To  Depth = 4   Parent = If From = Buy Then

Fall  Depth = 4   Parent = If From = Sell Then

Fall  Depth = 4   Parent = If From = Strong_Buy Then

Fall  Depth = 4   Parent = If From = Hold Then

Fall  Depth = 4   Parent = If From = Strong_Sell Then

Fall  Depth = 4   Parent = If From = Moderate_Buy Then

Fall  Depth = 4   Parent = If From = Moderate_Sell Then

If To = Buy Then   Depth = 5   Parent = To

If To = Sell Then   Depth = 5   Parent = To

If To = Strong_Buy Then   Depth = 5   Parent = To

If To = Hold Then   Depth = 5   Parent = To

If To = Strong_Sell Then   Depth = 5   Parent = To

If To = Moderate_Buy Then   Depth = 5   Parent = To

If To = Moderate_Sell Then   Depth = 5   Parent = To

Rise  Depth = 6   Parent = If To = Buy Then

Rise  Depth = 6   Parent = If To = Sell Then

Rise  Depth = 6   Parent = If To = Strong_Buy Then

Rise  Depth = 6   Parent = If To = Hold Then

Rise  Depth = 6   Parent = If To = Strong_Sell Then

Fall  Depth = 6   Parent = If To = Moderate_Buy Then

Rise  Depth = 6   Parent = If To = Moderate_Sell Then

Tabulated  Results

Types of Calls Stock Calls Non- Bearish Calls Bearish Calls 3 month correct calls 6 month correct calls 1 year correct calls
Bullish Stocks
GE
Vanilla Calls GE 7 7 0 5 6 5
% Right 71 86 71
Grade Calls GE 6 3 3 3 4 3
% Right 50 67 50
Apple
Vanilla Calls Apple 16 16 0 14 15 15
% Right 88 94 94
Grade Calls Apple 13 8 5 8 9 8
% Right 62 69 62
Bearish Stocks
Amazon 10/24/2001 2/1/2000
Vanilla Calls Amazon 14 14 0 4 1 0
% Right 29 8 0
Grade Calls Amazon 11 3 8 4 7 5
% Right 36 64 63
Microsoft 3/8/2000 12/31/02
Vanilla Calls Microsoft 15 15 0 6 7 4
% Right 40 47 31
Grade Calls Microsoft 10 6 4 4 3 3
% Right 40 33 38

Terminology:

  • Vanilla Calls – Total No. of Recommendations made
  • Non- Bearish Recommendations  - Buy, Strong Buy, Moderate Buy and Hold
  • Bearish Recommendations – Sell, Moderate Sell, Strong Sell
  • Correct Call – Non-Bearish Call followed by Bullish Price Movement (Increase in adjusted stock price for the given time period)

Analysis of Findings

  1. The ID3 algorithm returned complex trees with a high depth showing no consistency across different stocks. This suggests that the ID3 algorithm was not able to pick any pattern in the data.
  2. The C4.5 algorithm returned relatively simple trees with a low depth. However, these trees had very little in common to each other. This suggests that the C4.5 algorithm did not find any pattern common to all the stocks.
  3. The number of “Sell”, “Moderate Sell”, “Strong Sell” ratings are very low, in fact 0 for these 4 stocks over the time periods under consideration despite the fact that there was considerable bearish movement
  4. It is interesting to note that the Analyst recommendations seem to be inaccurate at predicting stock price movement during bearish times with accuracy rates as low as 8%, 0%.

Conclusions

  1. From 1,2 and 3, it appears that there may not be a pattern that is across the Analyst and Stock price data.
  2. Analyst recommendations seem to be accurate at predicting stock price movement during bullish times with accuracy rates as high as 94%. This however, could be due to the fact that Analyst recommendations almost always seem to be bullish.
  3. The predictive value of the Upgrades/Downgrades of recommendations seems to be more accurate at predicting future price movement than absolute recommendations during bearish times.

References

  1. Quinlan’s C4.5 library source code was used to generate decision trees
  1. All financial data was retrieved from Yahoo Finance  URL –     http://finance.yahoo.com

No comments yet.

Leave a comment!

You must be logged in to post a comment.

Find it!

Theme Design by devolux.org