Handling Missing Stock Returns in Portfolio Backtests
Summary
The document considers how to handle missing monthly returns for stocks selected into a portfolio. It outlines simple treatments, including assigning zero, the risk-free rate, or a strategy-neutral return, and skipping months across assets. It also describes statistical imputation, such as estimating missing values from the observed assets’ covariance or correlation structure, with maximum likelihood and expectation-maximization mentioned as possible tools.
The answers stress that missing observations need diagnosis. Ticker or exchange changes require joining the same security’s history, while bankruptcy and delisting can imply a total loss and should not be omitted merely because the outcome is inconvenient. Mergers, reorganizations, and spin-offs require calculating the value of the resulting holdings. Backtests should use only information available when portfolios were formed. The document offers no comparison of imputation methods, and the right treatment depends on why data are missing and what information is available.
Key ideas
- Simple missing-return treatments include assigning a neutral value or excluding affected months.
- Covariance and correlation estimates can support imputation from other observed asset returns.
- Ticker and exchange changes require correctly joining a security’s price history.
- Bankruptcy and delisting outcomes should be reflected in the backtest when the strategy could not have anticipated them.
- Corporate actions may require valuing the shares or other assets received by the portfolio.
Tags
Full text
# How to deal with missing returns? # How to deal with missing returns? I'm backtesting a strategy that forms stock portfolios on a monthly basis. It sometimes happen that a stock chosen on month t does not have return data on month t+1, so I can't correctly calculate the portfolio performance. I've managed to find out why some of those returns are missing (i.e acquisitions and ticker changes), but for most cases I could not find a reason. Is there a standard way/smart way to deal with this issue? Thanks! ## Answer by Pontus Hultkrantz (score 1) https://quant.stackexchange.com/a/54438 If you know the price levels of the two neigbouring data points, as well as their returns, then you can directly imply the missing return. However, I suspect this is not what you have, and it is quite an obscure corner case anyway. In addition, in real life you could easily have several missing values in sequence. The naive, but not necessarily bad methods would be - Set the missing return to 0.0 or the risk-free interest rate (or strategy neutral value). - Skip missing months for all assets. However, might lead lack of remaining data. Other more sophisticated ways to impute the values can be using e.g. regression, or methods that finds the most likely values based on the observed returns. One intuitive way to think about this is that you can estimate how all the assets move together (covariance/correlation), and then on a month where you have missing data, you observe most assets, and calculate the likely missing asset values based on the covariance/correlation matrix. (See Maximum Likelihood / Expected Maximization Algorithm in the stackexchange link) For more detailed info and more advanced methods: Handling Missing values in stocks returns when estimating the co variance matrix https://en.wikipedia.org/wiki/Imputation_(statistics) ## Answer by Dimitri Vulis (score 0) https://quant.stackexchange.com/a/54424 To backtest, you should use only the information that would have been available to you when the portfolio would have been constructed. Suppose your strategy picked some stock X, but some of the things you mentioned happen during the month: - X changes its name (and therefore ticker symbol); or X switches from one exchange to another. This doesn't affect the return. Just make sure you concatenate the time series from different tickers or exchanges properly. - X files for bankruptcy, is delisted, and its stock becomes worthless. You definitely should not exclude it from your backtest if your strategy would not have known at the beginning of the period. You should use -100% return. - X is reorganized orspun off or merged with something - if you had 1 share of X at the beginning of the month, you would have ended up with some amounts of some other shares. You definitely should figure out what your return would have been in order to test your strategy.
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.