Calculating Stock Price: Detailed How-To

Calculating Stock Price: Detailed How-To

Views: 20  
Reading time: 8 min


Below, you may see the chart of the unadjusted (or nominal) closing price of Exxon (XOM) stock every day since 1996.

unadjusted (or nominal) closing price of Exxon (XOM) stock every day since 1996

Naturally, this chart does not give any idea of the profit that the trader could make since 1996: the changes in the nominal price are just one part of investment results. During these years, Exxon paid hundreds of dividends, which made the stock price decline each time. Also, Exxon carried out stock splits five times, and again, five times its stock price shrunk. Exxon acquired several enterprises and merges with Mobil Oil in 1999, which influenced the stock price. However, none of the events above influenced the stockholders because the alterations remained purely nominal.

The time-series analysis of the stock price requires adjustment for or elimination of such nominal changes. The historical stock price needs to be adjusted in such a way that the data received represented the general profit that the trader would have made if they have held a certain stock for a certain period. By adjustments, we create a series that reflects dividends, mergers, spin-offs, splits and other events influencing the factual profitability of the stock.

Any such event or a change in the company’s structure provokes discontinuous changes in the nominal stock price. Moreover, these changes are not due to the sellers or buyers reprice the company, i.e. they are corporate rather than market events. Price adjustment is meant for eliminating such events.

Below, you may also see the chart of the adjusted Exxon stock price since 1996. It differs from the first one dramatically, being much closer to the “economic reality”.

the chart of the adjusted Exxon stock price since 1996

Any professional analyst knows that analysis must be based on the adjusted stock price. However, there are few of those who really know the financial mathematics necessary for adjusting. Of course, you may rely on some third party and get the adjusted prices from them. However, the understanding of how these adjustments are made is the key to a really successful analysis.

Principles of adjustment

Almost always, stock prices are backward-adjusted. In other words, in every time-series, the stock price for “today” is the same as the current price on the exchange. All adjustments are possible on historical data solely.

The adjustment of historical stock prices is normally multiplicative. Thanks to this, the profit from holding the stocks on the days when there were no adjustments remains untouched regardless of all changes. Moreover, historically adjusted prices never turn out negative. However, some make additive adjustments, thus inducing the appearance of negative stock prices.

Below, we will discuss the most frequent corporate events and the adjustments to them.

Cash dividends

Cash dividends

When a company pays dividends, its price declines by the sum paid. This is rather clear: the money is transferred from the company’s deposits to the clients, hence, the company costs this sum less. Thus, on the ex-dividend day, the stock price declines by the size of the dividend.

\begin{align} \text{Share Price before Dividend} &= \frac{\text{Company Value}} {\text{Shares Outstanding}} \\ \\ \text{Share Price after Dividend} &= \frac{\text{Company Value – Total Cash Paid Out}}{\text{Shares Outstanding}} \\ \\ &=\frac{\text{Company Value}}{\text{Shares}} \ – \ \frac{\text{Cash Paid Out}}{\text{Shares}} \\ \\ &=\text{Share Price before Dividend – Dividend per Share} \end{align}

To create a consistent time series of adjusted stock prices, we calculate the adjustment factor which reflects the decline of the stock price and then divide the prices preceding the dividend payment by this factor.

\begin{align} \text{Adjustment Factor} = \frac{\text{Close Price on Dividend Date + Dividend per Share}}{\text{Close Price on Dividend Date}} \end{align}

As long as the adjustment factor is a multiplicative constant, it does not influence the profitability profile of the stock historically. At the same time, thanks to this factor, we may be sure that the calculated income on the dividend day is explained by real market events and not by the payment.

Let us have a look at the example of calculations with the adjustment factor after dividend payment:

Apple (AAPL) paid cash dividends of $0.47 per stock on 08.07.2014. That day, the closing price was $94.48.

The adjustment factor is calculated as follows:

\begin{align} \text{F} = \frac{94.48 + 0.47}{94.48} = 1.00497 \end{align}

The unadjusted closing price of the previous day was $94.96.

In this case, the adjusted closing price the day before was:

\begin{align} \text{P}_{adj} = \frac{\text{P}_{unadj}}{\text{F}} = \frac{94.96}{1.00497}=94.49 \end{align}

The price for all days preceding the payment is calculated the same way – by multiplication by the factor; i.e., this way we get all historical data of the “changes” provoked by the payment.

“Capital Repayments” and “Special Dividends” are special cases of cash dividend payments, and in these cases, the price is adjusted the same way.

Stock dividends

Sometimes, companies pay dividends in stocks: each stockholder receives new stocks in proportion to what they already hold.

The idea behind this payment is a decrease in the stock price. The price will be decreased in the ratio of the issued stocks to the existing ones. The overall cost of the company remains unchanged, while the stock price changes as long as the stock also changes. However, it should be noted that the ownership percentage and, hence, the cost of the stocks of each stockholder in dollars does not change.

\begin{align} \text{Share Price before Dividend} &= \frac{\text{Company Value}}{\text{Shares Previous}} \\ \\ \text{Share Price after Dividend} &= \frac{\text{Company Value}}{\text{Shares Previous + Shares Issued}}\\ \\ &= \frac{\text{Company Value}}{\text{Shares Previous}} \times \frac{\text{Shares Previous}}{\text{(Shares Previous + Shares Issued)}}\\ \end{align}

As before, to create a consistent time series, we calculate the adjustment factor reflecting the decrease in the stock price and then divide the prices of the days preceding the dividend payment day by this factor. In this case, the adjustment factor is the second term in the equation above, hence, the delusion affecting the stockholders’ portfolios.

\begin{align} \text{Adjustment Factor} &= \frac{\text{New Float}}{\text{Old Float}}\\ \\ &=\frac{\text{Shares Previous + Shares Issued}}{\text{Shares Previous}}\\ \end{align}

As before, as long as the adjustment factor is multiplicative rather than additive, it does not affect the profitability, just “changes the scale”.

Let us look at the example of calculations with the adjustment factor:

03.12.2014, BIOL had a 0.5% stock dividend. 0.5% stock dividends mean that to each stock that the stockholder already owns 0.005 (=0.5%) of a stock will be added. In other words, to every 200 stocks in the portfolio, 1 new stock will be added.


\begin{align} \text{New Float} = \text{1.005} \times \text{Old Float} \end{align}


\begin{align} \text{Adjustment Factor} = \frac{\text{New Float}}{\text{Old Float}} = 1.005 \end{align}

The unadjusted stock price on the pre-dividend day was 2.83.

So, the adjusted stock price that day was:

\begin{align} \text{P}_{adj} = \frac{\text{P}_{unadj}}{\text{F}} = \frac{2.83}{1.005} = 2.8159 \end{align}

Note that for there calculations we do not use the closing price on the dividend day.

Stock dividends are sometimes called Bonus Issue.

Stock split

Stock split

A stock split is like stock dividends. A stock split makes each existing stock become several stocks in a set proportion. This is exactly like at stock dividends payment stockholders get new stocks in addition to those they are already holding.

For the stock split, the adjustment factor is calculated the same way as for dividend stocks:

\begin{align} \text{Adjustment Factor} = \frac{\text{New Float}}{\text{Old Float}} \end{align}

Let us discuss an example of a stock split:

Chesapeake Utilities Corp. (CPK) had a stock split of 3 to 2 effective on 09.09.2014. Thus, instead of every 2 existing stocks, its stockholders received 3.

In other words, to every 2 stocks that they already owned, 1 stock was added; this is absolutely equal a stock dividend payment of 50%.

In this case,

\begin{align} \text{New Float} = \frac{3}{2} \times \text{Old Float} \end{align}


\begin{align} \text{Adjustment Factor} = \frac{\text{New Float}}{\text{Old Float}} = 1.5 \end{align}

The day before the split, the unadjusted stock price was 69.41.

Thus, the adjusted stock price that day was:

\begin{align} \text{P}_{adj} = \frac{\text{P}_{unadj}}{\text{F}} = \frac{69.41}{1.5} = 46.273 \end{align}

The stock split is also sometimes called Bonus Issue.

Reverse stock split

Reverse stock split differs from the normal one in the sense that the stockholders get not more but fewer stocks. Instead of increasing the number of stocks in the portfolio, a reverse split decreases it in a set proportion.

As long as the overall number of stocks after a reverse split decreases, the stock price grows. The cost of the company is not changed by this corporate event.

As before,

\begin{align} \text{Adjustment Factor} = \frac{\text{New Float}}{\text{Old Float}} \end{align}

Hence, the adjustment factor at a reverse stock split is less than 1.

Let us discuss an example of a reverse stock split:

PostRock Energy Corp. (PSTR) carried out a reverse stock split in proportion of 1 to 10 01.05.2015.

\begin{align} \text{New Float} = \frac{1}{10} \times \text{Old Float} \end{align}


\begin{align} \text{Adjustment Factor} = \frac{\text{New Float}}{\text{Old Float}} = 0.1 \end{align}

The unadjusted stock price on the day before the reverse split was 0.4442.

Hence, the adjusted stock price:

\begin{align} \text{P}_{adj} = \frac{\text{P}_{unadj}}{\text{F}} = \frac{0.4442}{0.1} = 4.442 \end{align}

Reversal stock split is also called Consolidation.

Adjustment challenges

Adjustment challenges

Even a glance at the process of price adjustment is enough to realize how much work is necessary for collecting bias-free, well-adjusted historical data on stock prices. Though in essence, there is nothing complicated to it, however, the process of database creation is painstaking, tiresome work.

In 2015, there happened 20,000 of dividend payments only – and they are just one type of corporate events. There are also splits, mergers, reverse splits, consolidations, acquisitions, rights issues, buybacks, treasury repurchases, etc. When any of these events happen, all historical data on the stock price of the company needs recalculation. This means recalculating many thousands of date rows (250 date rows a year) and OHLCV for each stock, every day. And there are thousands of companies in the US public markets.

All in all, maintenance of the database of stock prices historical data is a great amount of work, requiring expertise and effort. That is why the market is dominated by a small number of highly professional data providers: low professionalism means lost rivalry. In the stock world, as anywhere else, you get what you pay for.

Corporate events in R Trader

If for some reason you are not acquainted with the multi-market trading platform R Trader, you may start with the information in this post.

Long positions

A client having an open long position on the ex-dividend day will have a sum equivalent to the paid dividend deposited on their account. The operation is reflected on the page History – Account Information – Cash Corrections.

Short Positions

A client, having an open short position on the ex-dividend day will have a sum equivalent to the paid dividend withdrawn from their free funds. The operation is reflected on the page History – Account Information – Cash Corrections.

Dividends procedure

Dividends procedure is depositing/withdrawal to/from the account on the ex-dividend date, at 3 p.m. server time. he operation is reflected on the page History.

For a Long position, Cash Dividend Amount will be:

Dividend per stock*Volume


Volume=Contracts*Contract Size

For a Short position, Cash Dividend Amount will be:

(-1)*Dividend per stock*Volume


Volume=Contracts*Contract Size

Stock Splits

In the case of a Stock Split, the necessary correction of the client’s position will be reflected in their trading account in accordance with the split parameters.

Split Procedure

The Split procedure is carried out on the server every day at 3 p.m. server time. This operation deletes all active pending orders (Limit, Stop) on the stock.

For all open short and long positions, the weighted-mean price and general volume are calculated, respectively. A split happens, and a new price and volume are set. The information is assigned to the long and short positions with maximal volume, respectively. When there are fractional stocks in a trade, such stocks are eliminated and turned into a balance operation – Split Cash Correction. The volume of other trades on the instrument is cleared and transferred to History.

Fractional Share Adjustment

If a corporate event results in a fractional position, the RoboForex company reserves the right to deposit a component to be paid to the client’s account as a balance operation.

Other Corporate Actions

If a stock is excluded from the list of the stock exchange, merged, acquired, put up to tender or distributed among the stockholders, the client’s position will be closed at the last market price.


Previous article

Turtle Strategy: the Oldest Way of Trading

The Turtle system features clear rules of entering and exiting the market, understandable to beginners. It is important to comply with them strictly, as well as with the market management rules, such as the risk of 1-2% per trade.

Next article

Profit from Investments in Pharmaceutical Companies Amounts to Hundreds Percent Due to Coronavirus

Coronavirus keeps threatening the world economy. The S&P500 index is again trading near its recent lows: by the moment this article is published, it will most probably have broken the support level at 2,850 USD and go on declining.