Prédiction en Temps Réel des Prix Boursiers avec LSTM
Vue d’ensemble du projet :
Ce projet développe et compare deux architectures d’apprentissage profond pour la prédiction des prix boursiers : les Réseaux de Neurones Récurrents (RNN) et les Réseaux à Mémoire Longue et Courte (LSTM). L’application se concentre sur la prédiction des prix d’ouverture des actions IBM en utilisant des données de marché historiques de Yahoo Finance.
Après un entraînement et une évaluation approfondis, le modèle LSTM a significativement surclassé le RNN en termes de précision de prédiction, obtenant une amélioration de 37% de l’erreur absolue moyenne (MAE) et un score R² de 94%. L’application finale fournit une interface web interactive construite avec Streamlit pour la prévision des prix boursiers en temps réel.
Objectifs
- Comparer RNN vs LSTM architectures pour la prédiction de séries temporelles
- Entraîner les modèles sur des données historiques d’actions IBM de Yahoo Finance
- Déployer le meilleur modèle (LSTM) pour les prédictions en temps réel
- Créer une application web interactive en utilisant Streamlit
- Fournir des prévisions hebdomadaires avec visualisation et résultats téléchargeables
Caractéristiques Clés
Comparaison des Modèles
- RNN (Réseau de Neurones Récurrent) : Modèle de base pour les données séquentielles
- LSTM (Mémoire Longue et Courte) : Performance supérieure, résout le problème du gradient qui disparaît
- Capture les dépendances à long terme dans les données de séries temporelles
Application Web Interactive
- Prédictions en temps réel : Prévoir les prix boursiers pour 7-30 jours
- Paramètres personnalisables : Choisir le symbole boursier, la plage de dates, la période de prédiction
- Analyses visuelles : Graphiques interactifs montrant les données historiques et les prédictions
- Métriques clés : Prix actuel, changement prédit, variation en pourcentage
- Export de données : Télécharger les prédictions en fichier CSV
Performance du Modèle
| Modèle | MAE | RMSE | Score R² | Temps d’Entraînement |
|---|---|---|---|---|
| RNN | 3.45 | 4.82 | 0.87 | 12 min |
| LSTM | 2.18 | 2.94 | 0.94 | 15 min |
Gagnant : LSTM surclasse RNN avec 37% de MAE en moins et un meilleur score R² ! 🏆
Pourquoi LSTM a Gagné ?
- Meilleure mémoire : Mécanisme d’état de cellule préserve l’information
- Mécanismes de porte : Portes d’entrée, d’oubli, de sortie contrôlent le flux d’information
- Solution au gradient qui disparaît : Maintient le gradient sur de longues séquences
- Modèles à long terme : Capture efficacement les tendances hebdomadaires et mensuelles
Pile Technique
- Apprentissage Profond : TensorFlow/Keras, couches LSTM, API Séquentielle
- Données et Traitement : yfinance, pandas, numpy, scikit-learn (MinMaxScaler)
- Visualisation et Déploiement : matplotlib, streamlit
Méthodologie
Collecte de Données
- Source : API Yahoo Finance (yfinance)
- Fréquence : Prix de clôture quotidiens
- Période : Plus de 2 ans de données historiques
- Caractéristiques : Ouverture, Haut, Bas, Fermeture, Volume (utilisant Fermeture pour les prédictions)
Processus d’Entraînement du Modèle
- Télécharger les données historiques
- Normaliser en utilisant MinMaxScaler (plage 0-1)
- Créer des séquences (taille de fenêtre = 50 jours)
- Diviser en train/test (80/20)
- Entraîner le modèle LSTM (100 époques)
- Valider sur l’ensemble de test
- Sauvegarder le meilleur modèle
Stratégie de Prédiction
- Utiliser les 50 derniers jours comme entrée
- Prédire le jour suivant
- Ajouter la prédiction à la séquence
- Faire glisser la fenêtre vers l’avant
- Répéter pour la période de prévision souhaitée
Réalisations Clés
- ✅ Score R² de 94% : Excellent ajustement du modèle
- ✅ 37% d’amélioration par rapport au RNN de base
- ✅ Déploiement en temps réel : Application web Streamlit
- ✅ Interface conviviale : Aucun codage requis
- ✅ Évolutif : Fonctionne avec n’importe quel symbole boursier
- ✅ Résultats exportables : Fonctionnalité de téléchargement CSV