I completed a challenge which asks the user to predict tomorrow's market return. The data available is prices data and the model must be logistic regression. They call it "machine learning" but it's pure regression. I derived a number of features from the data (e.g. momentum) etc.
The challenge implies that I need to train a model to predict returns out-of-sample. This is "extrapolation" which is not what regression is usually used for. Is this a valid use of regression?
I split my train/test data into 80%/20%. The split is performed by random sampling. What I mean is that for example, if I have data for 2010-2020, I don't use 2010-2018 for training and 2018-2020 for test but rather I randomly picked elements from the data such that 80% is train. This means that 2010-01-05 might belong to the train dataset but 2010-01-06 (next day) might belong to the test dataset.
My questions are:
- Are my points about the use of regression here valid?
- Does my test/train split mitigate the extrapolation problem with regression?
- Does the random sampling of train/test cause problems due to the timeseries nature of the data?