5
votes

Comment prédire les stocks futurs à l'aide de LSTM Keras

Tout d'abord, je dois dire que je suis un débutant dans ce domaine de l'IA. J'ai suivi la plupart des tutoriels sur les prévisions boursières et tous sont à peu près identiques. Ces didacticiels utilisent un ensemble de données et se divisent en deux ensembles. Le premier est l'ensemble d'entraînement et le second est l'ensemble d'essai. Ils utilisent le cours de clôture des actions pour former et fabriquer un modèle. À partir de ce modèle, ils insèrent un ensemble de données de test contenant le cours de clôture et montrant deux graphiques. Ensuite, ils disent que les graphiques réels et prévus sont à peu près les mêmes. Le dépôt github du tutoriel. - https://github.com/surajr/Stock-Predictor-using-LSTM/blob/master/Stock-Predictor-using-LSTM.ipynb Voici ma question, 1. Pourquoi tous ces tutoriels mettent le cours de clôture dans les tests mis aussi? Ils sont seulement supposés insérer des dates, non? Parce que nous prévoyons le cours de clôture. Ceci est déroutant. Expliquez-moi, s'il vous plaît. 2. Personne ne me dit comment prédire les valeurs des 7 prochains jours. Donc, si nous avons un modèle, comment obtenir la valeur de clôture des 7 prochains jours?

S'il vous plaît, aidez-moi à clarifier cela. Merci beaucoup.


1 commentaires

Juste curieux: le cours de clôture est-il la valeur à une heure fixe ou inclut-il le trading après les heures d'ouverture?


4 Réponses :


-1
votes
  1. Pourquoi tous ces tutoriels mettent également le cours de clôture dans l'ensemble de test? -> Il est facile de comprendre que le cours de clôture est une sorte de variable d'entrée qui est nécessaire pour calculer le prix de l'action.

  2. Comme je vois le code, il semble prédire le cours de l'action avec un historique de 22 jours

X_train (1173, 22, 3) y_train (1173,) X_test (130, 22, 3) y_test (130,)

Je pense que vous devriez vous reformer avec (~~~, 7, 3) pour prédire le prix de 7 jours après aujourd'hui.


1 commentaires

Donc, je peux comprendre que le cours de clôture est bon pour prédire le prix futur. Ma question est la suivante: pourquoi l'utilisons-nous également dans l'ensemble de test. Ensemble d'entraînement, c'est bien. Mais dans l'ensemble de test, pourquoi utilisons-nous? Ne sommes-nous pas supposés prédire le cours de clôture à l'aide d'un ensemble de données de test?



0
votes

Pourquoi tous ces tutoriels mettent également le cours de clôture dans l'ensemble de test?

Le but ultime est de prédire le mouvement (croissance), qui est la clôture moins le prix d'ouverture. Le modèle ultime est le modèle qui calcule la croissance de l'ensemble de données de test très proche de la croissance réelle. La croissance est le principal problème que le modèle tente de résoudre et constitue le point de référence lorsque vous calculez la précision du modèle entraîné.

Ils sont seulement supposés insérer des dates, non? Parce que nous prédisons le cours de clôture

Le modèle prévoit la croissance en fonction de facteurs donnés. Pour une entreprise, vous disposez de nombreux facteurs qui sont quantifiés, par jour. Je soupçonne que le tutoriel que vous avez fait utilise un ensemble de tests extrait pour un jour particulier et différents stocks. Comme extraire tous les paramètres pour toutes les entreprises, mais seulement le 10 janvier, puis vérifier la précision du modèle formé. Le kit de formation, quant à lui, contient le stock pendant plus d'un jour la plupart du temps.

Personne ne me dit comment prédire les valeurs des 7 prochains jours. Donc, si nous avons un modèle, comment obtenir la valeur de clôture des 7 prochains jours?

Pour prédire le cours de l'action de manière relativement précise, vous avez besoin d'un modèle bien formé. Pour ce faire, vous devez entraîner votre modèle en fonction de nombreux facteurs. Le même modèle ne peut pas prédire le stock dans différents pays. Un modèle peut convenir pour prédire les stocks technologiques (AAPL) mais pas d'autres domaines.

Dans l'ensemble, c'est un sujet compliqué. Les conseillers financiers paient énormément d'argent uniquement pour utiliser des modèles fiables. La plupart d'entre eux utilisent plusieurs modèles basés sur le portefeuille de leurs clients. Ces tutoriels vous présentent le sujet et vous apprennent le concept principal. À mon humble avis, je dirais que la prochaine étape serait d'apprendre puis de concourir à Kaggle.

0 commentaires

0
votes

Jetez un œil à ce lien. Je pense que cela vous mènera dans la bonne direction.

https://www.datacamp.com/community/tutorials/lstm-python-stock-market


0 commentaires

0
votes

Dans l'ensemble d'entraînement, la valeur de clôture est incluse en tant qu'entrée, car elle est pertinente pour le prix du "lendemain" ou "prix dans X jours" (pour les modèles qui prédisent l'évolution des prix sur plus d'un jour).

Notez que dans les données d'entraînement, le prix futur (aujourd'hui + 1 jour) est généralement la valeur cible (train_Y).

Dans les données de test, les données de clôture sont incluses car les données de test prédisent un «prix futur».

Pour déterminer la précision du modèle, la prévision de prix de (aujourd'hui + X jours) est comparée à la valeur future (test_Y) pour déterminer l'efficacité de la prédiction. Tout comme un négociant en actions humaines, si vous devinez / prédisez si le prix FUTUR sera Y (c'est-à-dire à la hausse / à la baisse), vous auriez alors accès au cours de clôture de la journée en cours ... c'est pourquoi il s'agit d'un entrée pertinente. De toute évidence, dans un modèle réel, la précision de la prédiction ne serait connue qu'APRÈS X jours. Lors de la formation puis du test d'un modèle, les données sont généralement historiques.Par conséquent, les valeurs hors échantillon (comme le prix d'aujourd'hui + X jours) sont utilisées pour la détermination de la précision, bien que la valeur FUTURE ne devrait certainement pas être une entrée.


0 commentaires