Aligning Forward Returns with Forecasting Inputs
Summary
The document compares backward-looking returns, which relate a current price to a prior price, with forward-looking returns, which relate a later price to the current price. It frames the distinction as a target-construction issue: historical returns describe realized movement into the present, while forward returns describe the outcome after a forecast origin. A short dataframe example illustrates both directions using shifted observations.
For a forecasting task, forward returns can align more naturally with information available at time t and an outcome measured over a later horizon. However, the document does not establish that one convention is universally preferable or report any forecasting results. A valid implementation must align predictors with the forecast origin and ensure that future observations are used only as labels, not as inputs. The example uses a ratio of price-like values; it does not discuss log returns, multi-period horizons, transaction costs, or validation procedures.
Key ideas
- Backward-looking returns measure price change from a past observation to the current observation.
- Forward-looking returns measure price change from the current observation to a later one.
- Forward returns can serve as forecast targets aligned with information available at the forecast origin.
- Predictors must not incorporate future observations when evaluating a forecasting method.
- The document raises the convention choice but provides no evidence that either direction is universally superior.
Tags
Full text
# Forward Looking vs Backward Looking Returns for Forecasting
# Forward Looking vs Backward Looking Returns for Forecasting
I have a general question about the best way to setup returns for a forecasting problem.
Most of the time I see issue of studying returns carried out with the following formula:
$ r_{t, k} = \frac{r_{t}}{r_{t - k}} $
So, essentially if you were studying one day returns you would divide the price today by the price yesterday.
However, I've seen other people do things in the opposite order, where they take the future price at some time lag and then divide it by the current price.
The former situation measures how much the price today deviates from the price at some point in the past. The latter measures how much some price in the future is different from the price today.
If you would like here's some simple python code to demonstrate what I'm discussing:
```
import pandas as pd
import numpy as np
# create mock data
dates = pd.date_range(start='2010-01-01', periods = 20)
values = np.random.normal(size = 20)
df = pd.DataFrame({'date': dates, 'value': values})
# backward looking return
df['value'] / df['value'].shift()
# forward looking return
df['value'].shift(-1) / df['value']
```
The forward return is more intuitive to me because presumably if you are trying to forecast asset prices it makes more sense to look at input data today and then relate that to what happened n days later. It maps better to how you'd want to use it. But most people seem to set things up the other way, and I'm wondering if there are concrete reasons why you would prefer one over the other or if it's just a matter of taste.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.