Stratégie statistique de Carry Trade

Ruslan Lunev | 12 janvier, 2022

Régulateurs économiques

Selon la théorie d’Adam Smith exposée dans son livre « Une enquête sur la nature et les causes de la richesse des nations »[1],, tous les processus économiques sont automatiquement régulés par l’économie de marché en utilisant les forces de l’offre et de la demande, les maintenant ainsi dans l’état optimal.

Malheureusement, la pratique montre le contraire. L'offre et la demande du marché entraînent souvent des relations financières faussées et provoquent des crises économiques.

Pour réduire l'impact des déséquilibres économiques, les régulateurs gouvernementaux interviennent pour aider l'économie de marché.

Les objectifs des régulateurs gouvernementaux consistent à contrôler indirectement les processus économiques en utilisant :


Taux d'intérêt

Les taux d’intérêt sont utilisés par les banques centrales pour contrôler les processus économiques au niveau gouvernemental :


Économie réglementée


Ne vous faites pas d'illusions en pensant vivre à l'ère de l'économie de marché « libre ». Les idées d’Adam Smith sont plus qu’utopiques. Les acteurs du marché n’ont pas à réglementer les processus économiques à leurs propres risques et périls. Et pour des raisons commerciales, ils investissent souvent dans les anti-marchés, par exemple :

Nous vivons à l’ère de l’économie réglementée. Elle n'est pas planifiée de manière centralisée, où les processus économiques sont directement contrôlés par le gouvernement, mais elle est néanmoins réglementée.


Le taux d'actualisation officiel

Le taux d’actualisation fixé par la Banque centrale d’un certain pays est l’un des principaux facteurs d’investissement. Il donne une indication aux investisseurs, notamment à ceux d'autres pays, du pourcentage de profit qu'ils obtiendront si leurs économies sont conservées dans la monnaie nationale ou les obligations d'État d'un pays donné. Car plus le taux d’actualisation est élevé, plus les intérêts sont élevés.

Les banques centrales utilisent donc le taux d’actualisation pour réguler l’économie de l’État, c’est-à-dire soit pour attirer les investisseurs en augmentant le taux, si cela est nécessaire, soit pour abaisser le taux en cas de surchauffe économique.

Cependant, il ne faut pas se laisser bercer par les illusions. Un taux d’actualisation plus élevé n’ajoute pas nécessairement à l’attractivité de la devise. Il y a un autre facteur important que les investisseurs prennent en compte - l’inflation. Si le taux d’inflation est considérablement plus élevé que le taux d’actualisation, il ne sert à rien d’investir dans une telle économie.

Par exemple, la Banque centrale de la République du Zimbabwe a déjà augmenté le taux d’actualisation à 950 %, ce qui n’a fait qu’effrayer les investisseurs car les opérations d’impression monétaire dans ce pays ne pouvaient tout simplement pas suivre le rythme de l’inflation et le papier d’impression des billets de banque était plus cher que la valeur nominale des billets.

Un taux d'actualisation bas n'indique pas toujours que l'économie réelle est en surchauffe, mais signale souvent la prévalence extrême de bulles.


Stratégie de Carry Trade

Le Carry Trade est la stratégie consistant à réaliser des bénéfices basés sur des swaps positifs.

Lors de la négociation de paires de devises, les taux d’actualisation sont transformés en la différence entre le taux d’actualisation de la devise à acheter et la devise à vendre, c’est-à-dire un swap. La différence peut donc être négative pour les achats ou les ventes. Gagner de l'argent sur la base de swaps positifs est attrayant pour les traders, notamment en raison de l'effet de levier. Cependant, l’effet de levier est une épée à double tranchant, c’est-à-dire que si les prix commencent à évoluer dans la direction opposée à celle de la position ouverte, les pertes peuvent dépasser le profit potentiel futur et conduire à un appel de marge. C’est donc une entreprise risquée de gagner de l’argent sur la base de swaps tradant une paire de devises.

Le Carry Trade présente certains avantages distincts, comme le fait que, étant une stratégie de trading à basse fréquence, il est dépourvu des problèmes associés au trading à haute fréquence, comme la nécessité de surveiller constamment les signaux de trading, les pannes de connexion et autres. L’hébergement VPS n’est pas une nécessité. De temps en temps, il suffit de surveiller les statistiques et de suivre l'actualité.

Cet article présente une variante de la stratégie de protection du Carry Trade qui permet de compenser le risque potentiel du mouvement des prix dans la direction opposée à celle de la position ouverte.

La stratégie statistique de Carry Trade est une stratégie multi-devises car elle implique deux paires de devises ou plus afin de compenser les pertes potentielles dues aux mouvements de prix indésirables dus à des corrélations croisées. Cependant, il est mis en œuvre de manière à augmenter progressivement le bénéfice sur fonds propres, même lorsqu'il est bloqué par des instruments financiers à corrélation négative.


Statistiques Carry Trade Mathématiques

Le Carry Trade statistique repose sur des hypothèses :

  1. Les prix des paires de devises évoluent dans le sens de swaps positifs.
  2. Si deux paires de devises ou plus sont cotées en termes d’une devise très liquide, leurs corrélations sont positives. Les mouvements de prix peuvent donc être annulés par des positions de sens contraire et de corrélation positive.

Les hypothèses ne sont toutefois pas traitées comme des règles fixes ; les deux points ci-dessus ne sont donc qu’une hypothèse qui doit être prouvée à l’aide de méthodes statistiques. Il se pourrait que la majorité des investisseurs soient, pour une raison ou une autre, d'un avis différent sur la base de facteurs fondamentaux et préfèrent éviter les risques, indépendamment des swaps positifs.

Étant donné que la variante de la stratégie de protection Carry Trade implique plusieurs paires de devises qui annulent mutuellement les mouvements de prix indésirables, l’analyse statistique des processus de cotation à l’aide de données historiques devrait être très approfondie.

Dans un cas très simple où n paires de devises sont utilisées, un modèle statistique du processus de cotation est une équation linéaire comme suit :

v1 * d1 + v2 * d2 + …  + vn * dn  = bénéfice

où :

n est le nombre total d’instruments financiers.
v1, v2, ..., vn sont les volumes de positions ouvertes sur les instruments financiers concernés. Si la valeur du volume est négative, une position courte est ouverte.
d1, d2, ..., dn est la variation moyenne du prix d'un instrument financier sur une journée de trading.
le profit est le bénéfice moyen sur une journée de trading.

La formule sera plus courte si elle est simplifiée pour deux instruments financiers :
v1 * d1 + v2 * d2 = bénéfice

Transformez-le :
d1  =  (-v2 * d2 + profit) / v1

Dans ce cas, si nous supposons que :
v1 = 1
y = d1
a = -v2
b = bénéfice
On obtient la formule classique de l'équation linéaire à un argument et à deux inconnues :
y = a * x + b

Les inconnues a et b peuvent être calculées par la méthode classique des moindres carrés.

Ensuite, vous devez spécifier la taille du profit en utilisant les swaps et obtenir les résultats finaux du profit potentiel sur une journée de trading :
b' = b – swap1 + a * swap2


où :

swap1, swap2 sont les swaps de paires de devises calculés sur une journée de trading pour les directions de positions ouvertes correspondantes.


Puisque la stratégie algorithmique exposée dans l'article présuppose la satisfaction simultanée de deux conditions :

  1. Les volumes et les directions des paires de devises sont sélectionnés de manière à ce qu'ils soient, en moyenne, rentables.
  2. Les swaps de toutes les paires de devises impliquées dans la stratégie doivent être positifs.

les essais supplémentaires utilisant la dernière formule selon les conditions ci-dessus deviennent inutiles.


Exemplification

Pourquoi avons-nous y = a * x + b, b = profit dans notre formule ?

Exemple de calcul Exemple


Supposons que les mouvements de prix quotidiens de deux paires de devises désignées par les identificateurs y et x peuvent être décrits par la formule :

y = 2 * x + 1

Transformez-la en une formule similaire :
y – 2 * x = 1


En d'autres termes, nous devons ouvrir une position longue sur le premier instrument financier (signe positif) et une position courte (signe négatif), deux fois plus grande que la première position (a = 2), sur le second instrument financier.

Dans notre exemple, les prix actuels des instruments sont de 10 et 8.

Supposons que le prix du deuxième instrument ait augmenté de 1 au cours d’une journée de négociation, c’est-à-dire qu’il ait atteint 9. Par conséquent, le prix du premier instrument va, en moyenne, varier de 2 * x + 1 = 2 * 1 + 1 = 3 et atteindre 13 (les prix des deux instruments ont augmenté simultanément car la corrélation est positive). Étant donné que la position du deuxième instrument est courte, la perte sur celui-ci sera de 2, tandis que le premier instrument de la position longue gagnera 3. La différence, c’est-à-dire le bénéfice sera de +1.

Supposons qu'après le jour de trading suivant, le prix du second instrument ait diminué de 1 et soit revenu à la valeur précédente de 8. Dans ce cas, le prix du premier instrument diminuera également de la valeur de 2 * x + 1 = 2 * -1 + 1 = -1 et sera égal à 12. Calcul des résultats : il y a une perte de 1 sur le premier instrument et un profit de 2 sur le second instrument. Le résultat final est à nouveau +1. C’est-à-dire que, quelle que soit la direction et l’intervalle du mouvement des prix, nous réaliserons, en moyenne, toujours un profit du montant spécifié dans la formule et indiqué par l’identifiant b.

Ainsi, connaissant la formule sous la forme de l’équation linéaire, nous pouvons déterminer les directions et les volumes des positions d’ouverture dans deux instruments financiers corrélés croisés afin d’obtenir un profit moyen, quelle que soit la direction du prix.


Mais ne vous emballez pas car la formule est calculée par la méthode des moindres carrés, c'est-à-dire en suivant une approche statistique et en utilisant des données historiques. Il ne garantit aucun bénéfice futur. Nous avons besoin de statistiques pour nous assurer que les directions d'entrée sur le marché sélectionnées sont rentables, que ce soit en utilisant des données historiques ou en pratiquant le carry trading. Si, à l’avenir, quelque chose ne se passe pas comme prévu sur la base des calculs, nous bénéficierons toujours de la différence sur les swaps.

Mise en œuvre

Étant trop laborieux pour les calculs manuels, il est préférable de confier le calcul par la méthode des moindres carrés à un Expert Advisor.

L’Expert Advisor calcule les directions des positions et les volumes de deux instruments financiers afin d'obtenir un profit moyen. Il demande ensuite au serveur de fournir des informations sur la valeur des swaps pour les directions de position d’ouverture sélectionnées et si les deux valeurs de swap sont positives, donne une recommandation.

Le code source de l’Expert Advisor :

//+------------------------------------------------------------------+
//|                                        StatisticCarryTrading.mq5 |
//|                                  Copyright 2012, Ruslan V. Lunev |
//|                              https://www.mql5.com/ru/articles/491 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, Ruslan V. Lunev"
#property link      "https://www.mql5.com/ru/articles/491"
#property version   "1.00"

// Second currency pair
input string secondpair="AUDUSD";
// Statistics collection period in bars
input int p=100;


// Arrays for storing historical opening prices
double open0[];
double open1[];

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   // Reading the time series of opening prices
   // for the currency pairs involved
   CopyOpen(_Symbol,PERIOD_D1,0,p+1,open0);
   ArraySetAsSeries(open0,true);
   CopyOpen(secondpair,PERIOD_D1,0,p+1,open1);
   ArraySetAsSeries(open1,true);

   int i=0;

   double pp=p;

   double s1 = 0;
   double s2 = 0;
   double s3 = 0;
   double s4=open1[0]-open1[p];
   double s5=open0[0]-open0[p];

   double averagex = s4 / pp;
   double averagey = s5 / pp;

   for(i=0; i<p; i++) 
     {
      double x0 = open1[i] - open1[i + 1];
      double y0 = open0[i] - open0[i + 1];
      double x1 = x0 - averagex;
      double y1 = y0 - averagey;
      s1 = s1 + x1 * x1;
      s2 = s2 + y1 * y1;
      s3 = s3 + x1 * y1;
     }
   
   // Pearson's linear correlation coefficient
   double r=s3/MathSqrt(s1*s2);

   // Calculation of proportions of opening positions sizes given the contract sizes
   double a = signum(r) * SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE) * MathSqrt(s2) 
   / (MathSqrt(s1) * SymbolInfoDouble(secondpair, SYMBOL_TRADE_CONTRACT_SIZE));
   
   // Calculation of the average daily profit
   double b = averagey - averagex * a;

   // Derive the resulting formula of joint price movement
   if(b>0) 
     {
      Print(_Symbol+" = ",a," * "+secondpair+" + ",b);
        } else {
      Print(_Symbol+" = ",a," * "+secondpair+" - ",MathAbs(b));
     }

   a=-a*signum(b);

   // Recommendations
   string recomendation="Buy "+_Symbol;

   if(b<0) 
     {
      recomendation="Sell "+_Symbol;
      if(SymbolInfoDouble(_Symbol,SYMBOL_SWAP_SHORT)<0.0) 
        {
         recomendation="Short positions swap in "+_Symbol+" is negative";
         MessageBox(recomendation,"Not recommended",1);
         return(0);
        }
        } else {
      if(SymbolInfoDouble(_Symbol,SYMBOL_SWAP_LONG)<0.0) 
        {
         recomendation="Long positions swap in "+_Symbol+" is negative";
         MessageBox(recomendation,"Not recommended",1);
         return(0);
        }
     }

   if(a<0) 
     {
      recomendation=recomendation+"\r\nSell "+a+" "+secondpair;
      if(SymbolInfoDouble(secondpair,SYMBOL_SWAP_SHORT)<0.0) 
        {
         recomendation="Short positions swap in "+secondpair+" is negative";
         MessageBox(recomendation,"Not recommended",1);
         return(0);
        }
        } else {
      recomendation=recomendation+"\r\nBuy "+a+" "+secondpair;
      if(SymbolInfoDouble(secondpair,SYMBOL_SWAP_LONG)<0.0) 
        {
         recomendation="Long positions swap in "+secondpair+" is negative";
         MessageBox(recomendation,"Not recommended",1);
         return(0);
        }
     }

   double profit=MathAbs(b)/SymbolInfoDouble(_Symbol,SYMBOL_POINT);

   if((SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==5) || (SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==3)) 
     {
      profit=profit/10;
     }

   recomendation = recomendation + "\r\nCorrelation coefficient: " + r;
   recomendation = recomendation + "\r\nAverage daily profit: "
   + profit + " points";


   MessageBox(recomendation,"Recommendation",1);

   return(0);
  }

// Step function - Signum
double signum(double x) 
  {
   if(x<0.0) 
     {
      return(-1.0);
     }
   if(x==0.0) 
     {
      return(0);
     }
   return(1.0);
  }
//+-----------------------The End ------------------------

L’Expert Advisor comporte deux paramètres d’entrée :


L’Expert Advisor doit être attaché au graphique de la première paire de devises exécutée sur la période D1, tandis que la deuxième paire de devises doit être spécifiée dans les paramètres d’entrée.

Le calcul est ensuite effectué sur un nombre de barres « p » défini dans les paramètres d'entrée et une recommandation est affichée.

Si la recommandation donnée convient au trader, il peut ouvrir des positions manuellement en respectant les directions et les volumes indiqués par l’Expert Advisor. Après cela, l’Expert Advisor n’a pas besoin d’être retiré du graphique car la stratégie utilisée est une stratégie basse fréquence et il n’est pas nécessaire d’avoir le terminal constamment connecté au serveur. Au lieu de cela, chaque fois que l’Expert Advisor accède au terminal, il donnera la même recommandation qu’auparavant ou, en fonction des changements du taux de swap du courtier ou des statistiques basées sur des données historiques, affichera un message « Non recommandé » qui permet au trader de changer rapidement la stratégie précédente et de fermer tous les ordres de trading qui ont déjà été placés.


Avertissement

On sait que les instruments financiers ne sont pas indépendants du temps et que leurs paramètres statistiques peuvent donc changer au fil du temps. Les valeurs de volume et les directions des paires de devises calculées dans le cadre de cette stratégie à l’aide de statistiques ne sont donc pas prédites, mais confirment plutôt l’hypothèse selon laquelle le prix évolue dans le sens de taux d’actualisation positifs, même s’il est annulé par des corrélations croisées de paires de devises dirigées de manière opposée. C’est-à-dire qu’il existe une demande du marché statistiquement confirmée pour les devises avec des taux d’actualisation élevés.


Références

  1. Smith, А., Une enquête sur la nature et les causes de la richesse des nations. — М. : Eksmo, 2007. — (Série : L’Anthologie de la pensée économique) — 960 p. — ISBN 978-5-699-18389-0