Skip to content
All library documents

Choosing Historical Prices for Annual Stock Returns Without Look-Ahead

Article Quant Q&A · Author: Alex McLean

Summary

The document considers how to calculate a one-year stock return when the matching calendar date in the prior year has no price observation. The response recommends using the most recent price that was available by the target date, such as the preceding trading day when the market was closed. Using a later observation would introduce information that was not yet known and could create look-ahead bias.

As a simpler alternative, it suggests defining the horizon in trading days and comparing observations roughly one trading year apart, with the calculation documented in a note. These approaches define the return horizon differently: one follows the calendar date while respecting information availability, and the other uses a fixed count of market sessions. The discussion does not quantify the difference between the conventions or address adjustments such as dividends and splits, so the chosen method should be stated clearly when reporting returns.

Key ideas

  • For a missing calendar-date price, use the latest observation available by that date.
  • Using a later price introduces future information and can create look-ahead bias.
  • A fixed trading-day interval is a simpler alternative to matching calendar dates.
  • Document the return convention so the horizon is clear to readers.

Tags

Full text
# Calculating the rate of return over a year then the data for a year before does not exist


# Calculating the rate of return over a year then the data for a year before does not exist












I am trying to find the growth rate of a stock over a given year.

Let's say I wanted to find the growth rate from today, June 11, 2015 to June 11, 2014. This is easy enough when you have perfect information and both sets of data exist.

However let's say June 11,2014 stock data does not exist, but June 10th and June 12th do. Which date do I compare to? Do I extend the "year" by a day and go to June 10th, or do I shorten the year and go to June 12th?

## Answer by Alex C (score 1, accepted)

https://quant.stackexchange.com/a/18315

There are several ways to do this:

If you need the price for June 11 and the market is closed on that day, you can use the price for June 10th (which is known on June 11th). I would advise against using the price of June 12th because it is not known on the 11th, so you would be "looking into the future" which is a bad idea and can lead to subtle fallacies and traps. Always use "information which could have been known on that date".

Even simpler however, is to use trading days instead of calendar years. There are about 255 trading days a year. If I have an vector P containing the prices on trading days I would just compare P[i] to P[i+255] and call that the yearly return. Put a footnote explaining how it was calculated.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.