In order to try what i learned about LSTM, i downloaded a simple bitcoin price dataset, and tried to make a network which predicts the bitcoin price by feeding a sequence of price history.
Looking for this topic on Google, it seems a lot of people have tried it, and they get the same results as I do : the LSTM seems to learn the identity function. Indeed i remarked that when predicting the prices with LSTM, the predicition seems to be the original price curve, but shifted to the right. (basically the LSTM just repeat the last known price)
And this is kind of logical, if you were to try to predict the current price of bitcoin given the previous prices, just by repeating the last known price you would be close to truth a lot of times.
I have tried changing my loss function in order to avoid the network to learn the identity function, but it didn't work. Has any work been done on that before ? Is it a known issue ? All the blog article which were using LSTM didn't mention it, tho it was obvious from their graphs... (e.g. http://www.quantatrisk.com/2020/04/01/how-to-predict-bitcoin-price-deep-learning-lstm-network-python/ prediction at the end)