Stratégie d'arbitrage de paires or-argent
ZSCORE, RSI, ATR, SMA, EMA
Arbitrage statistique Z-Score : le jeu mathématique du ratio or/argent
Ce n'est pas une stratégie de suivi de tendance ordinaire. La stratégie d'arbitrage statistique XAG/XAU repose sur l'hypothèse centrale selon laquelle les prix de l'or et de l'argent entretiennent une relation de retour à la moyenne à long terme. Lorsque le Z-Score dépasse ±2 écarts-types, l'écart de prix atteint une valeur extrême sur le plan statistique, ce qui constitue un point d'entrée pour capturer le retour à la moyenne. Les données de backtest montrent que cette méthode d'arbitrage statistique présente un avantage net en termes de rendement ajusté au risque sur le marché des métaux précieux.
Ratio normalisé sur 20 périodes : plus précis que l'analyse de corrélation traditionnelle
Le cœur de la stratégie consiste à construire un modèle de ratio de prix normalisé. On standardise respectivement le XAG et le XAU via une SMA sur 20 périodes, puis on calcule le ratio et on le lisse avec une EMA sur 3 périodes. Cette approche est plus stable qu'un simple ratio de prix et permet de filtrer efficacement le bruit à court terme. Lorsque le Z-Score du ratio normalisé dépasse l'intervalle ±2, cela indique que l'écart de prix actuel s'éloigne de la moyenne historique de plus de 2 écarts-types, ce qui correspond statistiquement à un événement rare, offrant une opportunité d'entrée pour un retour à la moyenne.
Filtre RSI : l'utilisation astucieuse du seuil de 50
Contrairement aux signaux traditionnels de surachat/survente du RSI, on utilise ici RSI=50 comme condition de filtrage long/short. Lorsque RSI<50, on autorise les positions longues ; lorsque RSI>50, on autorise les positions shortes. La logique de cette conception est claire : acheter dans une faiblesse relative en attendant un rebond, vendre dans une force relative en attendant un repli. Ce mécanisme de filtrage réduit efficacement le risque de transactions à contre-tendance et améliore la qualité des signaux.
Ratio risque/récompense ATR de 3:8 : espérance mathématique positive
Le take-profit est fixé à 3x ATR, le stop-loss à 8x ATR, ce qui donne un ratio risque/récompense de 1:2,67. Cette conception s'appuie sur les caractéristiques de l'arbitrage statistique : la probabilité de retour à la moyenne est élevée, mais il faut accorder une marge d'erreur suffisante. L'ATR sur 14 périodes garantit que les niveaux de stop et de take s'adaptent aux variations de la volatilité du marché. Les backtests historiques montrent que ce ratio permet d'obtenir une espérance de gain positive dans le trading de paires de métaux précieux.
Scénarios d'application : marchés en range plutôt qu'en tendance
La stratégie d'arbitrage statistique donne ses meilleurs résultats dans les marchés en range (consolidation), car le retour à la moyenne y est plus marqué. Dans les marchés unidirectionnels, les prix peuvent s'écarter de la moyenne pendant longtemps, exposant la stratégie à un risque de drawdown important. Il est recommandé d'utiliser cette stratégie lorsque la volatilité du marché est modérée et qu'il n'y a pas de tendance unidirectionnelle évidente. Il faut également noter que le marché des métaux précieux est fortement influencé par les facteurs macroéconomiques ; il convient d'être prudent lors d'événements majeurs.
Avertissement sur les risques : limites des modèles statistiques
Les relations statistiques historiques ne garantissent pas leur persistance à l'avenir. Le ratio or/argent peut subir des déviations à long terme en raison de changements dans la structure de l'offre et de la demande, de différences de politiques monétaires, etc. La stratégie comporte un risque de pertes consécutives, notamment lors de changements structurels du marché. Il est impératif d'appliquer une gestion des risques rigoureuse, de limiter le risque par transaction à 2 % du capital du compte et d'évaluer régulièrement l'efficacité de la stratégie.
//@version=6
strategy("Stat Arb(xag & xau)")
// ══════════════════════════════════════════════════════════════
// BENCHMARK DATA
// ══════════════════════════════════════════════════════════════
float benchClose = request.security("XAG_USDT.swap", timeframe.period, close)
// ══════════════════════════════════════════════════════════════
// HELPER FUNCTIONS
// ══════════════════════════════════════════════════════════════
f_cov(float src1, float src2, int len) =>- 1

