Earning surprises are probably one of the few elements that can have a high impact on stock prices. In this post, we will have a look at what are earning surprises. Then we will have a look at the impact of earning surprises on stock prices.
In the process on learning more about earning estimates and surprises, we will also learn how to analyse earning surprises using Python.
Photo by Suzy Hazelwood on Pexels.com
Contents
What are earning surprises?
All public companies must meet the reporting requirements set up by the Security and Exchange Commission (SEC). One of the requirements is for companies to report earnings on a quarterly basis. When a company announces its earnings, it is telling to the public how well or bad it has performed during the latest quarter or year.
The majority of companies (or at least the big ones) have a number of analysts following the company on a daily basis. During this process, analysts are forming expectations on what will be the company future earnings.
A company can either meet analyst expectations, beat estimates or miss estimates. All earnings that are above or below to what it was estimated by the analysts is considered as an earning surprise. Within an earning surprise, we can have below two scenarios:
If a company earnings is above analyst estimates, then we can say that the company has beaten earning estimates.On the other hand, if a company is below analyst estimates then we can say that it has missed the estimates
In addition to analysts sharing company earning estimates, companies may also issue guidance on what they expect for upcoming earnings.
Is possible to know in advance about earning surprises?
It is actually not possible to know if a company is going to have an earning surprise before hand. Only company insiders, like top management of the company, may know what are the earnings before they are made public.
However, all company insiders with access to company earnings before making them public must not act on this information. Otherwise, company insiders would have an advantage respect to investors. And this goes against the integrity of the capital markets.
In addition, it is also forbidden by law to act on material non public information.
Why is important to look at earning surprises?
Even though earning surprises only take place after the fact it is still a good idea to look at the track record of company earning beats and misses. If a company is constantly beating earning estimates it may indicate that is a super performer company.
A good way to look into how often a company is beating earning estimates is by comparing a few of the latest company earnings to what analysts were estimating. Below is an example on how actual Apple earnings look compared to Analyst estimates (source Yahoo Finance):
Apple Beating Earning Expectations
There are multiple sites offering information about company future earning estimates. One of them is Yahoo Finance. Below is an example on the earning estimates shared by Yahoo Finance.
Yahoo Finance Earning Estimates
In addition to look into financial websites to check for earning surprises, we will see below how to analyse this using Python.
What if a company misses earning estimates?
For a company to miss earning estimates is a very bad situation. The consequences of missing earning estimates are huge. It has a very big impact on the stock price, and therefore, it hurts investors going long on the stock.
Not only investors are affected by an earning miss. For company management is also terrible. Keep in mind that top management of a company tend to have the salary compensation tied to stock performance. Therefore, it is on their best interest to meet or beat earning estimates. They do not like earning surprises. For that reason, very often when a company is issuing future earning guidance, they tend to be rather conservative. So it is important to be aware of this
How to use Python to analyse earning surprises?
Analysing earning estimates is rather easy with Python. As in some of my previous posts, we will use financialmodelingprep API to analyse earning surprises. It offers up to 250 free requests a day upon registration.
To retrieve past earning, we can make a request to the API end point by passing the name of the stock and the API key. Exactly as it is shown in the code below.
Note that the API returns a Python list containing a few of the latest actual and estimated earnings of a company. Since we do not want to look at very old earnings, we slice the list in order to keep only the latest 4 earning surprises. That way we only look at the last year of earnings.
import requests
api_key = ‘your api key’
stock = ‘MSFT’
earning_surprises = requests.get(f’https://financialmodelingprep.com/api/v3/earnings-surprises/{stock}?apikey={api_key}’).json()
earning_surprises = earning_surprises[0:4]
print(earning_surprises)
As you see below, MSFT has actually beaten earnings in each of the four latest quarters.
How does the stock price move after beating estimates?
To analyse the impact on stock prices after beating earnings, we are going to use real examples. Below, we have a list of top S&P500 stocks which have beaten earning estimates on the latest reporting period. We include only companies that are announcing earnings after the market is closed. That way, in the code below, we will compare the close price of the stock before earnings vs. post earnings.
It is sounded to think that when a company beats earning estimates, the stock price should rise. For that reason, we could expect the stock price to rise for all companies below since they have a positive earning surprises (actual earnings higher than estimated earnings). Lets find out if our assumption holds true or not.
Assumption to test: If company beats earning estimates, stock price goes up.
tickers = [‘AAPL’,’MSFT’,’ETSY’,’V’,’AMZN’,’FB’,’JNJ’,’GOOG’]
Below is the whole code for testing our assumption. The first part is basically the same as in the previous section. The only difference is that here we also calculate how much the company actual earnings are above or below earning estimates. If bigger than 0, it means that the company actual earnings are higher than estimates.
Then, in the second part of the code, we simply retrieve stock historical prices. Then, we select only the close price from the day of the earnings (remember that earnings for these companies are announced after the market is closed) and the close price for the day after the earnings are made public.
Finally, we calculate the price change in percentage terms.
Earning surprises results and Wrap Up
Below is the obtained outcome after running the code. The results are rather surprising and we can conclude that our assumption does not hold. Not all companies see an increase of price after beating earnings.
It is quite surprising that Apple and Microsoft, with positive earning surprises of more than 15%, did not experience an increase on the stock price.
on the 2021-01-27 AAPL beat/miss earnings by 19.148936170212767% and the price changed next day by -3.4985232084826534%
on the 2021-01-26 MSFT beat/miss earnings by 23.780487804878046% and the price changed next day by 0.24533723371636906%
on the 2021-02-25 ETSY beat/miss earnings by 83.05084745762714% and the price changed next day by 11.48395676198039%
on the 2021-01-28 V beat/miss earnings by 10.937499999999991% and the price changed next day by -2.507315596270225%
on the 2021-02-02 AMZN beat/miss earnings by 94.88243430152143% and the price changed next day by -1.99615298816568%
on the 2021-01-27 FB beat/miss earnings by 20.496894409937877% and the price changed next day by -2.6236549593781735%
on the 2021-01-26 JNJ beat/miss earnings by 2.1978021978021998% and the price changed next day by -1.5251003408047878%
on the 2021-02-02 GOOG beat/miss earnings by 39.462163852407755% and the price changed next day by 7.396073548795735%
Why stock prices do not always rise after a company beats earning estimates?
Below we can find a couple of reasons why a company stock price may not increase after beating earning estimates:
Company actually beats earnings but management provides a pessimistic guidance for next quarter or year. Since markets are very reactive to future expectations, this may affect more to the stock price than the current earnings beat.If the beaten estimates were based on company guidance, it may be that the guidance provided by the company was very conservative, and therefore, the stock price was already counting on the company beating the estimates.In the current market environment it seems that investors are moving from technology stocks to more defensive stocks. This current market trend may have a high impact on stock prices.
Feel free to continue the analysis by looking into more periods and including more stocks to the list. It would be great if you would share your results in the comments below!
Thanks for reading, check out Coding and Fun for more awesome stuff.
The post What are Earning Surprises and How They Impact Stock Prices? appeared first on Coding and Fun.