Hi Nolwen,
Because LSTMs produce an output at each timestep, its perfectly reasonable to use all of the price information for training. This then becomes a sequence-to-sequence problem. There are various ways to go about doing this, assuming you’re using an MSE loss function, you could compute the MSE for your LSTM output (passed through a Linear layer so as to reduce dimensionality to the same size as your label, ie. 1) at each timestep h_t, compared with the correct label y_t, then sum the loss before backpropagating, or consider all output timesteps as a single vector, and compute the loss against the full vector of labels. There are many more complex architectures for sequence-to-sequence models, most notably encoder-decoder models, the type commonly used for machine translation.
It is also fine to simply use the final label.