Analyse des corrélations dynamiques entre Bitcoin et les marchés financiers traditionnels (S&P 500, NASDAQ, Or). Développement de visualisations interactives animées avec analyses de régression temporelles et impact des événements macroéconomiques. M2 — MSc Data Analytics for Business (KEDGE BS), 2025–2026
- Aperçu
- Fonctionnalités
- Structure du projet
- Installation
- Utilisation
- Visualisations
- Données
- Technologies
Ce projet analyse les relations dynamiques entre Bitcoin et différents actifs financiers (S&P 500, NASDAQ, Or, Pétrole) sur la période 2022-2025. Il génère des visualisations interactives animées permettant d'explorer l'évolution des corrélations dans le temps et l'impact des événements macroéconomiques sur les marchés crypto.
Contexte académique : Projet réalisé dans le cadre du M2 Data Analytics for Business à KEDGE Business School (2025–2026).
- Corrélations dynamiques entre BTC et les marchés traditionnels
- Bitcoin Dominance (part de BTC dans le marché crypto total)
- Régressions linéaires animées pour visualiser l'évolution des relations
- Impact des événements : guerre Ukraine, hausse des taux Fed, ETF Bitcoin, halving, élections US
- 🔄 Pipeline ETL automatisé (extraction Yahoo Finance + CSV, transformation, chargement)
- 📊 5 visualisations interactives avec animations temporelles
- 🎨 Heatmaps de corrélation avec sélecteur de périodes
- 📈 Rolling correlation sur fenêtre glissante de 30 jours
- 🎯 Analyses de régression dynamiques avec calcul du β (bêta)
- 🗺️ Annotations d'événements économiques et crypto
- 💾 Export CSV et HTML pour réutilisation et partage
analyse-marche-bitcoin-correlations/
├── FINAL.ipynb
├── DATASETS/
│ ├── btc_cap_price.csv
│ └── global_crypto_cap.csv
├── OUTPUTS/
│ ├── CSV/
│ │ └── Merged_df.csv
│ └── HTML/
│ ├── 1_correlation_matrix.html
│ ├── 2_btc_spx_rolling_corr_dynamic.html
│ ├── 3_btc_dominance_price_animated.html
│ ├── 4_regression_btc_sp500_animated.html
│ └── 5_regression_btc_gold_animated.html
└── requirements.txt
- Python 3.12 ou supérieur
- Jupyter Notebook / JupyterLab
- Connexion internet (pour télécharger les données Yahoo Finance)
- Cloner le repository
git clone https://github.com/AymaneAshrk/crypto_msc_dab.git
cd crypto_msc_dab- Installer les dépendances
pip install -r requirements.txtLe fichier requirements.txt contient : pandas, numpy, yfinance, plotly, scipy, jupyter
- Placer les fichiers CSV dans le dossier
DATASETS/ - Lancer Jupyter :
jupyter notebook FINAL.ipynb - Exécuter toutes les cellules :
Cell → Run All - Ouvrir les visualisations générées dans
OUTPUTS/HTML/
Le notebook permet de modifier facilement la période d'analyse, les actifs étudiés, et la fenêtre de corrélation roulante dans la section Configuration.
Heatmap avec échelle de couleurs personnalisée, sélecteur de périodes (période complète, dernière année, 2024, 90j, 30j, événements spécifiques), et annotations dynamiques avec valeurs de corrélation.
Animation temporelle avec slider et contrôles play/pause, marqueurs d'événements avec zones colorées par période, variations dynamiques affichées pour chaque période, et prix en temps réel.
Dual-axis chart avec dominance (%) et prix (USD), moyenne mobile 30 jours pour filtrer le bruit, et animation progressive avec étiquettes dynamiques.
Scatter plots avec points colorés par période d'événement, ligne de régression évolutive recalculée à chaque frame, et statistiques en temps réel (β, R², p-value, équation).
- Yahoo Finance (API yfinance) : prix de clôture quotidiens des actifs, téléchargement automatique
- CSV fournis : btc_cap_price.csv (historique prix et market cap Bitcoin) et global_crypto_cap.csv (market cap total crypto)
Le fichier btc_cap_price.csv doit contenir les colonnes : date, price, market_cap. Le fichier global_crypto_cap.csv doit contenir : date (timestamp en millisecondes), total_market_cap.
- pandas : manipulation et analyse de données
- numpy : calculs numériques (log returns, matrices)
- yfinance : téléchargement données financières
- plotly : visualisations interactives (graphiques animés)
- scipy : analyses statistiques (régressions, corrélations)
- pathlib : gestion des chemins cross-platform
| Section | Description | Sorties |
|---|---|---|
| 1️⃣ Configuration | Imports, chemins, paramètres, événements | Variables globales |
| 2️⃣ Functions | Fonctions réutilisables (nettoyage, corrélations, régressions) | 9 fonctions |
| 3️⃣ ETL Pipeline | Extract → Transform → Load → Export | Merged_df.csv |
| 4️⃣ Calculations | Corrélations, rolling metrics, préparation régression | Matrices, séries |
| 5️⃣ Visualizations | Création des 5 graphiques interactifs | 5 fichiers HTML |
Auteur : Aymane Acharki
Formation : M2 Data Analytics for Business - KEDGE Business School
Année académique : 2025-2026
Portfolio : GitHub
Ce projet démontre une approche avancée de l'analyse financière quantitative, combinant techniques statistiques modernes et visualisation interactive pour l'analyse des marchés cryptocurrency.