Série Corrélations & Saisonnalités — Partie 6 sur 6

Outils — Construire sa Boîte à Outils

Du théorique au pratique. Python, Excel, TradingView, outils gratuits, alertes automatiques, et un projet final : construire votre propre portfolio saisonnier avec dashboard de corrélation.

Python Excel TradingView Outils gratuits Alertes
Corrélations & Saisonnalités6/6
Excel : le point de…Python + yfinance :…TradingView : visual…Les meilleurs outils…AlertesLa checklist pré-tra…Projet : construire…Quiz
Calculer une corrélation dans Excel

Excel : le point de départ

Excel reste l'outil le plus accessible pour calculer des corrélations simples. Trois fonctions essentielles suffisent pour commencer.

Les 3 fonctions essentielles

FonctionSyntaxeUsageExemple
CORREL =CORREL(A2:A252, B2:B252) Corrélation de Pearson entre 2 séries Corrélation SPY/QQQ sur 1 an (252 jours)
STDEV =STDEV(A2:A252) Écart-type (volatilité) d'une série Vol annuelle = STDEV(returns_daily) * SQRT(252)
AVERAGE =AVERAGE(A2:A252) Moyenne d'une série Rendement moyen quotidien

Étapes pour calculer une corrélation rolling dans Excel

1) Téléchargez les prix historiques (Yahoo Finance → "Download" CSV). 2) Calculez les rendements quotidiens : =(B3-B2)/B2 pour chaque actif. 3) Appliquez CORREL sur une fenêtre glissante de 60 jours : =CORREL(C2:C61, D2:D61), puis glissez la formule vers le bas. 4) Créez un graphique en ligne pour visualiser l'évolution de la corrélation. Limite : Excel devient lent au-delà de 10,000 lignes et ne gère pas facilement les matrices de corrélation multi-actifs.

Piège courant : corrélation sur les prix vs les rendements

Ne jamais calculer la corrélation sur les prix bruts — toujours sur les rendements (returns). Pourquoi ? Deux actifs peuvent avoir des prix qui montent tous les deux (tendance haussière commune) avec une corrélation de prix de +0.99 tout en ayant des rendements journaliers non corrélés (+0.20). La corrélation de prix est trompeuse car elle capte la tendance commune, pas la relation réelle entre les mouvements quotidiens.

Python : la puissance

Python + yfinance : corrélation rolling et matrice complète

Python avec les librairies yfinance, pandas et matplotlib/seaborn est l'outil le plus puissant pour l'analyse de corrélation. Voici un script complet et réutilisable.

Script 1 : Matrice de corrélation rolling

# pip install yfinance pandas matplotlib seaborn import yfinance as yf import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 1. Télécharger les données (2 ans) tickers = ['SPY', 'QQQ', 'GLD', 'TLT', 'USO', 'EEM'] data = yf.download(tickers, period='2y')['Adj Close'] # 2. Calculer les rendements quotidiens returns = data.pct_change().dropna() # 3. Matrice de corrélation statique corr_matrix = returns.corr() print(corr_matrix.round(2)) # 4. Heatmap de la matrice plt.figure(figsize=(10, 8)) sns.heatmap(corr_matrix, annot=True, cmap='RdYlGn', center=0, vmin=-1, vmax=1, fmt='.2f') plt.title('Matrice de corrélation (2 ans)') plt.tight_layout() plt.savefig('correlation_matrix.png', dpi=150) plt.show()

Script 2 : Corrélation rolling avec alertes Z-score

# Corrélation rolling SPY/TLT avec détection d'anomalie import numpy as np # Corrélation rolling 60 jours window = 60 rolling_corr = returns['SPY'].rolling(window).corr(returns['TLT']) # Calculer le Z-score de la corrélation corr_mean = rolling_corr.rolling(252).mean() corr_std = rolling_corr.rolling(252).std() z_score = (rolling_corr - corr_mean) / corr_std # Identifier les anomalies (|Z| > 2) anomalies = z_score[z_score.abs() > 2] print(f"Anomalies détectées: {len(anomalies)}") print(anomalies.tail(10)) # Visualiser fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(14, 8)) ax1.plot(rolling_corr, color='#0891b2', linewidth=1.5) ax1.axhline(y=0, color='red', linestyle='--', alpha=0.5) ax1.set_title('Corrélation Rolling 60j SPY/TLT') ax1.set_ylabel('Corrélation') ax2.plot(z_score, color='#f97316', linewidth=1) ax2.axhline(y=2, color='red', linestyle='--') ax2.axhline(y=-2, color='red', linestyle='--') ax2.fill_between(z_score.index, 2, z_score.clip(lower=2), alpha=0.3, color='red') ax2.set_title('Z-Score de la corrélation') ax2.set_ylabel('Z-Score') plt.tight_layout() plt.savefig('rolling_correlation.png', dpi=150) plt.show()

Script 3 : Analyse de saisonnalité

# Rendement mensuel moyen + heatmap saisonnalité spy = yf.download('SPY', period='20y')['Adj Close'] spy_monthly = spy.resample('M').last().pct_change().dropna() spy_monthly.index = spy_monthly.index.to_period('M') # Rendement moyen par mois monthly_avg = spy_monthly.groupby(spy_monthly.index.month).mean() * 100 print("Rendement moyen par mois (%):") print(monthly_avg.round(2)) # Créer la heatmap année × mois pivot = spy_monthly.copy() pivot.index = pd.MultiIndex.from_arrays( [pivot.index.year, pivot.index.month]) pivot = pivot.unstack() * 100 plt.figure(figsize=(14, 8)) sns.heatmap(pivot, annot=True, fmt='.1f', cmap='RdYlGn', center=0, linewidths=0.5) plt.title('Rendements mensuels SPY (%) par année') plt.xlabel('Mois') plt.ylabel('Année') plt.tight_layout() plt.savefig('seasonality_heatmap.png', dpi=150) plt.show()

Installer l'environnement Python

Si vous n'avez pas Python, la manière la plus simple est d'installer Anaconda (anaconda.com) qui inclut Python, pandas, matplotlib et Jupyter Notebook. Puis installez yfinance et seaborn : pip install yfinance seaborn. Ouvrez Jupyter Notebook et collez les scripts ci-dessus. Alternativement, utilisez Google Colab (colab.research.google.com) — gratuit, rien à installer, il suffit d'un navigateur.

TradingView & Pine Script

TradingView : visualisation et Pine Script

TradingView est la plateforme la plus populaire pour la visualisation de corrélations et de saisonnalité. Son langage Pine Script permet de créer des indicateurs personnalisés directement sur le graphique.

Pine Script : indicateur de corrélation rolling

// Pine Script v5 — Corrélation Rolling avec Z-Score // Collez ce code dans Pine Editor (TradingView) //@version=5 indicator("Corrélation Rolling + Z-Score", overlay=false) // Paramètres symbol2 = input.symbol("TLT", "Second actif") window = input.int(60, "Fenêtre corrélation", minval=10) z_window = input.int(252, "Fenêtre Z-Score", minval=60) // Données price1 = close price2 = request.security(symbol2, timeframe.period, close) ret1 = ta.change(price1) / price1[1] ret2 = ta.change(price2) / price2[1] // Corrélation rolling corr_val = ta.correlation(ret1, ret2, window) // Z-Score de la corrélation corr_avg = ta.sma(corr_val, z_window) corr_dev = ta.stdev(corr_val, z_window) z_score = (corr_val - corr_avg) / corr_dev // Affichage plot(corr_val, "Corrélation", color=color.teal, linewidth=2) hline(0, "Zéro", color=color.gray, linestyle=hline.style_dashed) hline(0.5, "+0.5", color=color.green, linestyle=hline.style_dotted) hline(-0.5, "-0.5", color=color.red, linestyle=hline.style_dotted) // Alertes Z-Score bgcolor(z_score > 2 ? color.new(color.red, 85) : na) bgcolor(z_score < -2 ? color.new(color.green, 85) : na) alertcondition(math.abs(z_score) > 2, "Corrélation anormale")

Indicateurs TradingView utiles (gratuits)

IndicateurAuteurUsageComment y accéder
Correlation Coefficient Built-in Corrélation vs un autre symbole Indicateurs → Built-in → Correlation Coefficient
Seasonality TradingView Rendement mensuel moyen historique Indicateurs → rechercher "Seasonality"
Market Correlation LuxAlgo Matrice de corrélation multi-actifs Community Scripts → "Market Correlation"
VIX Term Structure Diverses Contango/backwardation du VIX Community Scripts → "VIX Term Structure"
Outils gratuits

Les meilleurs outils gratuits

Vous n'avez pas besoin d'un terminal Bloomberg pour analyser les corrélations et la saisonnalité. Voici les meilleurs outils gratuits classés par usage.

MacroMicro.me

Le meilleur outil gratuit pour les corrélations macro. Graphiques interactifs avec overlay multi-actifs, corrélation automatique, et données remontant à 50+ ans. Idéal pour Or/DXY, Taux/Actions, Yield Curve.

FRED (St. Louis Fed)

La base de données économique de la Fed de St. Louis. 800,000+ séries temporelles gratuites. Taux, inflation, emploi, spread 2Y-10Y, TIPS. Export CSV pour vos analyses Python/Excel.

SeasonalCharts.de

Graphiques de saisonnalité pour actions, indices, matières premières et devises. Pattern mensuel moyen sur 5, 10, 20 ans. Gratuit et simple d'utilisation. Parfait pour valider vos hypothèses saisonnières.

Finviz

Screener d'actions avec heatmap sectorielle gratuite. Visualisez la rotation sectorielle en temps réel. La heatmap montre la performance relative de chaque secteur et sous-secteur.

Portfolio Visualizer

Backtesting gratuit de portefeuilles avec matrice de corrélation, frontière efficiente, et analyse risk parity. Entrez vos tickers et obtenez instantanément corrélations, drawdowns, et métriques.

Glassnode / CryptoQuant (free tier)

Indicateurs on-chain gratuits (version limitée) : MVRV, SOPR, NUPL, Fear & Greed Index. Suffisant pour suivre le cycle BTC. Le plan gratuit offre les données essentielles avec 24h de délai.

Alertes : quand une corrélation casse

Configurer des alertes automatiques

La surveillance continue des corrélations est essentielle. Plutôt que de vérifier manuellement chaque jour, configurez des alertes automatiques qui vous préviennent quand une corrélation sort de sa zone normale.

Les 3 types d'alertes à configurer

Alerte 1 : Z-Score de corrélation > 2.0 Critique

Quand la corrélation rolling 60j entre deux actifs dévie de plus de 2 écarts-types de sa moyenne 1 an. Action : examiner le catalyseur, évaluer si c'est temporaire ou structurel. Si temporaire → opportunité de pairs trade. Configurable dans TradingView (Pine Script alertcondition) ou via script Python avec notification email/Telegram.

Alerte 2 : Changement de signe de corrélation Important

Quand une corrélation passe de positive à négative (ou inverse). Exemple : SPY/TLT passant de -0.30 à +0.20. Action : réévaluer la couverture du portefeuille. Si la corrélation SPY/TLT est positive, les obligations ne protègent plus — envisager d'autres hedges (or, VIX, cash).

Alerte 3 : Seuil saisonnier atteint Planifié

Alertes calendaires pour les événements saisonniers : 1er mai (évaluer Sell in May), 3ème vendredi de chaque trimestre (Triple Witching), 26 décembre (début Santa Rally). Action : exécuter la checklist pré-trade saisonnière (section suivante). Utilisez Google Calendar ou un simple rappel smartphone.

Script Python d'alerte automatique (via email)

Combinez les scripts de la section précédente avec la librairie smtplib de Python pour envoyer un email automatique quand le Z-score dépasse 2.0. Planifiez le script avec cron (Linux/Mac) ou Task Scheduler (Windows) pour qu'il s'exécute chaque jour à 18h (après la clôture). Coût : $0. Temps de setup : 30 minutes. Alternativement, utilisez IFTTT ou Zapier avec TradingView Webhooks pour des notifications push sur votre téléphone.

Checklist pré-trade

La checklist pré-trade basée sur les corrélations

Avant chaque trade, vérifiez ces points pour vous assurer que les corrélations et la saisonnalité sont en votre faveur. Cette checklist systématique réduit les décisions émotionnelles.

Checklist en 8 points

1
Corrélation du sous-jacent avec SPY — Quel est le bêta effectif ? Si corrélé à +0.80, un crash SPY emportera votre position.
2
Position dans le calendrier saisonnier — Sommes-nous dans la "bonne" saison pour ce secteur/actif ? (cf. heatmap sectorielle, Partie 3).
3
DXY direction — Le dollar est-il en hausse ou en baisse ? Impact sur commodities, EM, or (cf. Partie 2).
4
VIX et volatilité implicite — Le VIX est-il dans sa zone saisonnière normale ? Une IV élevée = options chères (vendre de la vol), IV basse = acheter de la protection.
5
Corrélation SPY/TLT actuelle — Négative = diversification fonctionne. Positive = attention, les obligations ne protègent pas.
6
OpEx prochain — Y a-t-il une expiration d'options majeure dans les 5 jours ? Si oui, méfiez-vous du pin risk et du gamma squeeze.
7
Phase du cycle Fed — Hausse, plateau, ou baisse de taux ? Quel impact sur votre classe d'actifs ? (cf. Partie 2).
8
Convergence des signaux — Combien de facteurs (corrélation, saisonnalité, macro, technique) pointent dans la même direction ? Minimum 3/4 pour un trade de conviction.

Imprimez cette checklist

La meilleure pratique est d'imprimer cette checklist et de la garder à côté de votre écran. Avant chaque trade, cochez les 8 points. Si 6+ sont favorables, le trade a un bon contexte. Si seulement 3-4 sont favorables, réduisez la taille de la position. Si moins de 3, passez votre tour. Cette discipline simple élimine 70% des trades perdants liés à un mauvais timing ou un contexte défavorable.

Projet Final

Projet : construire votre portfolio saisonnier

Pour mettre en pratique tout ce que vous avez appris dans cette série, voici un projet complet : construire un portfolio saisonnier avec dashboard de corrélation.

Architecture du portfolio

ComposantePondérationAjustement saisonnierETF
Actions US Large Caps 40% -10% en Mai-Oct si momentum faible SPY ou VOO
Obligations US Long 20% +5% si corrélation SPY/TLT < -0.20 TLT ou IEF
Or 10% +5% si taux réels en baisse GLD ou IAU
Rotation Sectorielle 15% Selon la saison (cf. Partie 3 & 5) XLE, XLK, XLY, XLU
Small Caps 10% +5% en Jan, -5% en Mai-Oct IWM
Cash / T-Bills 5% +10% quand VIX < 12 (complacency) BIL ou SHV

Dashboard de suivi : les 4 métriques à surveiller

Rééquilibrage mensuel en 5 étapes

1
Calculer la matrice de corrélation rolling 60j (Python ou TradingView). Noter les changements significatifs depuis le mois dernier.
2
Vérifier la saisonnalité du mois prochain (SeasonalCharts). Identifier les secteurs en saison haute et les risques saisonniers (OpEx, septembre, etc.).
3
Vérifier les alertes Z-score. Des corrélations anormales ? Des opportunités de pairs trade ? Des changements de signe à surveiller ?
4
Appliquer les ajustements saisonniers. Modifier les pondérations selon le mois (rotation sectorielle, Sell in May si applicable, January Effect).
5
Exécuter et documenter. Passer les ordres de rééquilibrage. Tenir un journal avec les raisons de chaque ajustement. Revoir la performance chaque trimestre.

Commencez petit, itérez

Ne construisez pas le portfolio complet dès le premier jour. Mois 1 : créez le dashboard Python (matrice de corrélation + saisonnalité). Mois 2 : configurez les alertes Z-score. Mois 3 : commencez avec un paper trading du portfolio saisonnier. Mois 4-6 : investissez avec de petites positions et observez. Après 6 mois : ajustez les paramètres selon vos observations et montez en taille progressivement. La patience et la discipline sont plus importantes que la stratégie elle-même.

Testez vos connaissances

Quiz Final — 5 questions

Question 1 : Pourquoi faut-il calculer la corrélation sur les rendements et non sur les prix bruts ?
Réponse : Les prix bruts captent la tendance commune, pas la relation réelle entre les mouvements quotidiens.
Deux actifs en tendance haussière auront une corrélation de prix proche de +1.0 même si leurs mouvements journaliers sont indépendants. Les rendements (returns = variation en %) éliminent cette tendance commune et mesurent la véritable co-mouvement. En finance quantitative, toutes les corrélations sont calculées sur les rendements logarithmiques ou arithmétiques, jamais sur les prix bruts.
Question 2 : Quelle est la meilleure plateforme gratuite pour visualiser la corrélation entre l'or et le dollar sur 20 ans ?
Réponse : MacroMicro.me (macromicro.me).
MacroMicro offre des graphiques interactifs avec overlay multi-actifs et calcul de corrélation automatique. Les données remontent à 50+ ans pour les actifs majeurs. C'est l'outil gratuit le plus complet pour l'analyse macro. FRED (Federal Reserve Economic Data) est la meilleure alternative pour les données brutes (taux, inflation, yield curve) mais est moins visuel.
Question 3 : Dans la checklist pré-trade, combien de facteurs favorables sont nécessaires minimum pour un trade de conviction ?
Réponse : Au moins 3 sur 4 facteurs principaux (corrélation, saisonnalité, macro, technique) doivent pointer dans la même direction.
Si 6+ des 8 points de la checklist sont favorables, le trade a un excellent contexte. Si seulement 3-4 sont favorables, réduisez la taille de la position. Si moins de 3, passez votre tour. La convergence des signaux est le principe fondamental : un signal isolé est faible, mais 3-4 signaux convergents créent une probabilité élevée de succès.
Question 4 : Comment configurer une alerte automatique quand la corrélation SPY/TLT change de signe ?
Réponse : Trois méthodes possibles, de la plus simple à la plus avancée.
1) TradingView : utilisez le Pine Script avec alertcondition() qui se déclenche quand la corrélation rolling 60j passe de négatif à positif (ou inversement). 2) Python + cron : un script qui calcule la corrélation rolling chaque soir et envoie un email via smtplib si le signe a changé. 3) Webhook : TradingView peut envoyer un webhook vers IFTTT/Zapier pour une notification push sur votre téléphone. La méthode TradingView est la plus rapide à mettre en place (5 minutes avec le Pine Script fourni dans cette partie).
Question 5 : Quelle est l'erreur la plus courante des débutants qui utilisent les corrélations pour investir ?
Réponse : Traiter la corrélation comme une constante alors qu'elle change de régime.
L'erreur la plus fréquente est de prendre une corrélation historique moyenne (ex: SPY/TLT = -0.30) et de supposer qu'elle sera toujours valide. En 2022, cette corrélation est passée à +0.50. Un investisseur qui comptait sur TLT pour protéger son portefeuille d'actions a été doublement pénalisé. La corrélation est un animal vivant : elle varie dans le temps, change selon le régime de marché, et peut s'inverser brusquement. Il faut la surveiller en continu (rolling 60j) et adapter sa stratégie en conséquence.
À retenir — Conclusion de la série

Les 7 enseignements clés de cette partie (et de la série)

  • Toujours corrélation sur les rendements, jamais les prix — piège numéro 1 des débutants. Les prix captent la tendance, les rendements captent le co-mouvement réel.
  • Python + yfinance = la boîte à outils idéale — matrice de corrélation, rolling, Z-score, et saisonnalité en quelques lignes de code. Gratuit et puissant.
  • TradingView + Pine Script pour le suivi temps réel — corrélation rolling avec alertes directement sur le graphique. Le Pine Script fourni est prêt à l'emploi.
  • MacroMicro, FRED et SeasonalCharts sont gratuits et suffisants — pas besoin d'un terminal Bloomberg pour suivre les corrélations macro et la saisonnalité.
  • Automatisez vos alertes — Z-score > 2, changement de signe, dates saisonnières. Ne surveillez pas manuellement, laissez la technologie faire le travail.
  • La checklist pré-trade en 8 points élimine 70% des erreurs — corrélation, saisonnalité, DXY, VIX, SPY/TLT, OpEx, cycle Fed, convergence.
  • Commencez petit, documentez tout, itérez — dashboard en mois 1, alertes en mois 2, paper trading en mois 3-4, positions réelles à partir du mois 5-6.

AVERTISSEMENT

Partie précédente
5. Stratégies
Série terminée
Retour à l'accueil — Market Watch
1. Corrélations 2. Or, Dollar, Taux 3. Saisonnalités 4. Crypto Cycles 5. Stratégies 6. Outils

Corrélations & Saisonnalités — Partie 6/6 : Outils

Publication : Février 2026 | market-watch.xyz

Ce contenu est strictement éducatif et ne constitue pas un conseil en investissement.

Corrélations & Saisonnalités6/6