Overview
I'm training an index e.g. FTSE100, where I have 8 years of past data (daily). I also have a list of its constituents.
For each stock, I have the following features:
Date
, Open
, Close
, High
, Low
, Volume Traded
SCALING
I decided to predict whether to buy/sell the index. Instead of using close values, I decided to optimise for percent change, hence I create a new variable percent_change
, which is not bounded by 1. Does this make it a bad metric, and should I use close prices instead?
Why I didn't use close values?
I wasn't sure how to scale it to run it properly. Currently, my model input is 10 previous percentage changes, e.g. [t0, t1, ... , t10]
predicting [t11]
where ti
is the percentage change on day i
.
If I was to use scaling, I would constantly come across new values. Additionally, if tomorrow brings a new all time high, I will need to rescale the data and re-train the model.
Additionally, I thought about replacing percent change by actual index denoted by pi
. I thought about scaling just the moving window period [p0, p1, ... , p10]
, however, the predictor [p11]
could be outside the bound of 1.
Question: Does LSTM easily handle inputs and outputs > 1?
FEATURE SELECTION
Please advise me which independent variable to use: percent change
or close price
(and how should I scale it). I've trained the model on 2500 observations (500 epochs) giving me a 53% accuracy on the test set (is it good?). I also made 30% returns over 600 test days. Currently the only features I'm using are rates of change for the past 10 days.
Which features did my model learn?
I'm not sure. Did it learn moving averages, linear gradients/approximations volatility etc.? Or should I include them in my model as
[t0, t1, ... , t10, MA10days, MA3days, Gradient3day, Volatility3day]
?
TRAINING THE MODEL
Since I have 100 constituents, would it make sense to run/pre-train the same model on all of these stocks? All stocks are highly correlated with the index, and I thought about calculating MA, Gradients and so on for each of the Close, Open, High, Low
and then running PCA to select only a few components.
IF YOU MADE IT THIS FAR
I know this is a long question to ask, and I thank you for any help given, I will reward the 100 points that I have to the best answer! Thanks