Stock Returns Documentation


"It kind of sucks running a public company. The [Tesla] stock goes through these huge gyrations for seemingly arbitrary reasons and then I'm asked to explain why it changed ... and I have no idea!"

Introduction

When a person or a computer is trying to predict what the stock-market will do in the short-term, they are essentially trying to predict what other market participants — whether human or machine — are going to do next. This is like a frantic carousel where everyone is trying to get in front of everyone else. It's a fool's game!

When investing for the long-term you are instead trying to predict the company's long-term future growth, and whether the stock may be revalued up or down relative to its sales or earnings. This was studied extensively in [Pedersen 2020] and it can be simulated using different models as described here.

Models

These are the different kinds of models for simulating stock returns. It is very easy to copy-paste your input data from one model to another, so you can easily try your input data with all the models, to find the one you prefer to work with.

Comparison

The following plot compares different models for simulating 10 years of stock returns. The input data is identical for all models, except for the discount rates used for the Net Present Values. The simulation years are normally shown individually in a so-called violin-plot, but have been combined into a single plot here, so as to show the entire probability distribution for all 10 years.

The plot shows that the Total Return (TR) and Internal Rate of Return (IRR) are quite similar, even though they are calculated very differently. The TR values are slightly lower than the IRR values. The difference is probably because the TR model reinvests the dividends at whatever share-prices happen to prevail in the future, while the IRR model does not reinvest dividends. The Present Values (PV) have very different probability distributions, that also depend on the choice of discount rate, where the red curve uses 12% and the green curve uses 8%.

Comparison of stock return simulation models: Total Return, Internal Rate of Return (IRR), Net Present Value.

Earnings Yield

One of the simplest methods for assessing whether a stock is cheap or expensive, is to consider the Earnings Yield, which is the company's earnings for the next year, divided by the current market-value of all its shares (we could also use per-share values instead): \[ Earnings\ Yield = \frac{Earnings}{MarketCap} \] Assuming the earnings were to continue every year into the future, and they were to be paid out as dividends, then the earnings yield can be compared to government bond yields, to assess whether the stock would give a sufficient return, considering that the stock is probably more risky than government bonds.

Perpetual earnings growth can also be taken into account, simply by adding the annual growth-rate to the earnings yield. For example, if the earnings are $300m and the market-cap is $10b then the earnings yield is only 3%. If the government bond yield is 5% then the company's future earnings would have to grow 2% every year, for the earnings yield to merely match the government bond yield. If we want a return premium because the stock is more risky, then the future earnings would have to grow even more, or the share-price and market-cap would have to decrease before we buy the stock, so the earnings yield would increase.

The earnings yield is identical to the Internal Rate of Return (IRR) when we only forecast earnings for a single period and use terminal growth-rates for all future years — except that the earnings yield can also handle negative earnings, which the IRR model cannot. So if you only want to forecast a single year's earnings, then it is recommended that you simulate the earnings yield instead of IRR.

The earnings can be simulated as \( Earnings = Sales \cdot Profit\ Margin \) and the market-cap can be simulated as shown in Eq.\eqref{eq_marketcap} below. If the future earnings will be delayed \( N \) years into the future, e.g. if we are considering a start-up company, or a company that is having trouble and will have zero earnings for a few years, then we may calculate the annualized earnings yield as follows, by using the earnings in future year \( N \) divided by the current market-cap: \[ \label{eq_ann_earnings_yield} Annualized\ Earnings\ Yield_N = \left( \frac{Earnings_N}{MarketCap} \right) ^ {1/N} - 1 \]

Valuation Ratio

A stock's valuation ratio measures the market-value of the stock relative to e.g. the company's earnings or sales. This is also useful for assessing whether the stock is cheap or expensive. It can also be used to simulate future share-prices using Eq.\eqref{eq_share_price} below.

If you are using historical data for the valuation ratio, then it is recommended that you use the P/S (Price-To-Sales) ratio, because it is always well-defined when the sales are greater than zero, which is the case for most publicly traded stocks. The sales are usually also far more stable than the earnings. The problem with the P/S ratio is that it can be difficult to interpret and compare across different stocks.

Although it is easier to interpret and compare the P/E (Price-To-Earnings) ratio across different stocks, the problem is that the earnings typically fluctuate much more than the sales, and the earnings may also be zero or negative, which causes the P/E ratio to be ill-defined, as shown in the plots below. That is why the simulation models using the P/E ratio only allow positive earnings.

We will use the P/S ratio in the formulas below, but you could use another valuation ratio such as the P/E or P/Book ratios in the formulas.

Example of a stock's P/Earnings ratio being ill-defined for zero and negative earnings. Example of a stock's P/Sales ratio being more stable than the P/E ratio.

Price Change

If you can perfectly predict the future valuation ratio of a stock, such as its P/E or P/S ratio, and its future earnings or sales, then you can predict the future change in share-price with complete accuracy, because the change in share-price can be mathematically decomposed into the change in these two individual components. To see this consider the trivial rewrite of the share-price using the P/S ratio: \[ \label{eq_share_price} Share\ Price = \frac{Share\ Price}{Sales\ Per\ Share} \cdot Sales\ Per\ Share = P/S \cdot Sales\ Per\ Shares \] It is often more convenient to use the market-cap instead of the share-price, and hence also use the sales for the entire company instead of the sales per share, so the formula becomes: \[ \label{eq_marketcap} MarketCap = \frac{MarketCap}{Sales} \cdot Sales = P/S \cdot Sales \] This basic formula is used in many different models for simulating a company's future market-cap from probability distributions for the P/S and sales, because it is often easier to give reasonable estimates for these two individual components rather than the market-cap or share-price directly.

The values for future years are denoted with the subscript \( N \), while the values for the current year do not have a subscript. So the change in market-cap from now until \( N \) years into the future, can be calculated from the change in the company's sales and P/S ratio over this period: \[ \label{eq_price_change} Price\ Change_N = \frac{ MarketCap_N }{ MarketCap} = \frac{ P/S_N }{ P/S } \cdot \frac{ Sales_N }{ Sales} \] The annualized return from the change in share-price over those \( N \) years, is then calculated as follows: \[ \label{eq_ann_price_change} Annualized\ Price\ Change_N = Price\ Change_N ^ {1/N} - 1 \]

Total Return

Changes in share-prices and dividend payouts are the only direct sources of shareholder returns. We dealt with the change in share-prices above, so we will now consider the dividends. First assume all earnings are paid out as dividends (note the caveats further below): \[ \label{eq_dividend} Dividend_N = Earnings_N \cdot (1 - TaxRateDividend) \] The Total Return assumes the dividends are reinvested immediately in the same stock. Obviously somebody must be selling their shares for this to work in practice, but it is a reasonable "what if" scenario for use in valuation. So the remaining shareholders increase their number of shares according to the factor \( \Delta Shares_N \) (the Greek letter "Delta") defined as: \[ \label{eq_delta_shares} \Delta Shares_N = 1 + \frac{Dividend_N}{MarketCap_N} \]

The cumulative change in shares over \( N \) years, is the product of the changes for the individual years: \[ \Delta Shares\ Cumulative_N = \prod_{t=1}^N \Delta Shares_t \] The Total Return then scales the actual market-cap with this change in shares for the remaining shareholders: \[ Total\ Return_N = MarketCap_N \cdot \Delta Shares\ Cumulative_N \] The capital gains after \( N \) years is the total return at that point, minus the market-cap that was originally paid at the beginning, and minus all dividend payouts during those \( N \) years, because the dividends were reinvested in the same stock and should therefore be considered a part of the purchase price: \[ Capital\ Gains_N = Total\ Return_N - MarketCap - \sum_{t=1}^N Dividend_t \] If the capital gains are negative then there is no tax, which is calculated as follows: \[ TaxCapGains_N = (1 - TaxRateCapGains) \cdot \max(Capital\ Gains_N, 0) \] The total return net of the capital gains tax is then: \[ Net\ Total\ Return_N = Total\ Return_N - TaxCapGains_N \] The annualized total return when reinvesting all dividends in the same stock over those \( N \) years, is then: \[ \label{eq_ann_tot_ret} Annualized\ Total\ Return_N = \left( \frac{Net\ Total\ Return_N}{MarketCap} \right) ^ {1/N} - 1 \]

Excess Cash

Some companies may have accumulated a lot of cash from earnings in previous years, that they haven't paid out as dividends yet, and that they cannot possibly use for investments or acquisitions in the foreseeable future. This is deemed to be excess cash that we typically include in stock valuations, by assuming it is paid out immediately as dividends. This effectively lowers the purchase price of the company's shares. We call this the market-cap net of excess cash, and it is calculated as follows: \[ \label{eq_net_mcap} MarketCap\ NetCash = MarketCap - Excess\ Cash \cdot (1 - TaxRateDividend) \] This should then be used as the purchase price when calculating stock-returns, such as the price-change in Eq.\eqref{eq_price_change}, or the earnings yield in Eq.\eqref{eq_ann_earnings_yield}, or the total return in Eq.\eqref{eq_ann_tot_ret} which becomes: \[ \label{eq_ann_tot_ret_net} Annualized\ Total\ Return_N = \left( \frac{Net\ Total\ Return_N}{MarketCap\ NetCash} \right) ^ {1/N} - 1 \]

Caveats

Return Curves

Depending on your input-data and simulation model, the stock returns often show characteristic downwards-sloping curves that we call Return Curves. They arise from the definition of annualized return such as Eq.\eqref{eq_ann_price_change}, when varying the current share-price and market-cap, and hence varying the current valuation ratio \( P/S \) in the denominator of Eq.\eqref{eq_price_change}. This shows as a so-called reciprocal downwards-sloping curve in the plot. The steepness of the curve is determined by the number of investment years \( N \), where the curve becomes more flat as the number of investment years increases. This is because the change in the stock's valuation ratio is spread over more years, so its effect on the annualized return is lower.

The following plot shows the simulated Total Return for all holding periods between 1-10 years, so there are 10 of these return curves in the plot. The steepest curve is for a 1-year holding period, the second steepest curve is for a 2-year holding period, etc. In this example the simulation model's input distributions are very narrow so the return curves for the different holding periods are clearly separated. In real use-cases with wider input distributions, you often don't see the return curves separately, but instead see a wider smearing of the simulated stock returns.

Simulated return curves for a stock.

We can also show this phenomenon using a simplified version of Eq.\eqref{eq_ann_price_change}, by setting all numbers in that formula to 1 except for the current market-cap. But here we use the current share-price instead of the market-cap, so the plot labels are the same. The simple formula for the annualized return from a change in share-price is then: \[ Annualized\ Return_N = \frac{1}{Current\ Share\ Price ^ {1/N}} - 1 \] The plot below shows this formula for different choices of investment years \( N \). Compare this to the plot above, which uses a simulation model whose input distributions were also centered around 1. These two plots essentially show the same return curves.

Formula-generated return curves for a stock.

Such downwards sloping curves often show up in plots of investment returns for different simulation models, when the purchase price is being varied. It is simply because the investment return is calculated using a fraction with the purchase price in the denominator, thus showing a reciprocal downwards-sloping curve. When plotting annualized returns, the steepness of the curve is also affected by the investment duration, with shorter durations having steeper return curves.

References