3
Suivre
1444
Abonnés

La corrélation entre la hausse et la baisse des devises et du Bitcoin

Créé le: 2023-11-16 16:53:56, Mis à jour le: 2024-11-08 09:11:10
comments   1
hits   2182

La corrélation entre la hausse et la baisse des devises et du Bitcoin

Dans un article précédent, nous avons exploré un phénomène courant sur le marché des crypto-monnaies : la plupart des crypto-monnaies, en particulier celles qui suivent les fluctuations de prix du Bitcoin et de l’Ethereum, affichent souvent une tendance à la hausse et à la baisse simultanées. Ce phénomène révèle leur forte corrélation avec les devises traditionnelles. Cependant, le degré de corrélation entre les différentes crypto-monnaies varie. Alors, comment cette différence de corrélation affecte-t-elle la performance du marché de chaque devise ? Dans cet article, nous explorerons cette question en prenant comme exemple le marché haussier du second semestre 2023.

Les racines de la synchronicité des marchés des crypto-monnaies

Le marché des crypto-monnaies est connu pour sa volatilité et son incertitude. Bitcoin et Ethereum, en tant que deux géants du marché, jouent souvent un rôle de premier plan dans les tendances des prix. Afin de maintenir la compétitivité du marché et l’activité commerciale, la plupart des petites monnaies numériques ou des monnaies émergentes ont tendance à maintenir un certain degré de synchronisation des prix avec ces monnaies traditionnelles, en particulier les monnaies créées par les parties au projet. Cette synchronisation reflète les attentes psychologiques et les stratégies de trading des acteurs du marché, ce qui constitue une considération importante dans la conception de stratégies de trading quantitatives.

Formule de corrélation et méthode de calcul

Dans le domaine du trading quantitatif, la mesure de la corrélation est réalisée grâce à des méthodes statistiques. La mesure la plus couramment utilisée est le coefficient de corrélation de Pearson, qui mesure le degré d’association linéaire entre deux variables. Voici quelques concepts de base et méthodes de calcul :

Le coefficient de corrélation de Pearson (noté \(r\)) varie de -1 à +1, où +1 indique une corrélation positive parfaite, -1 indique une corrélation négative parfaite et 0 indique l’absence de corrélation linéaire. Le coefficient est calculé comme suit :

\(r = \frac{\sum_{i=1}^{n} (X_i - \bar{X})(Y_i - \bar{Y})}{\sqrt{\sum_{i=1}^{n} (X_i - \bar{X})^2} \sqrt{\sum_{i=1}^{n} (Y_i - \bar{Y})^2}}\)

Ici, \(X_i\) et \(Y_i\) sont les valeurs observées de deux variables aléatoires, et \(\bar{X}\) et \(\bar{Y}\) sont les moyennes des deux variables aléatoires, respectivement. En utilisant les packages liés au calcul scientifique Python, il est très pratique de calculer la corrélation.

Collecte de données

Cet article rassemble les données K-line de 4 heures de Binance pour toute l’année 2023 et sélectionne 144 devises cotées au 1er janvier. Le code de données de téléchargement spécifique est le suivant :

import requests
from datetime import date,datetime
import time
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

ticker = requests.get('https://fapi.binance.com/fapi/v1/ticker/24hr')
ticker = ticker.json()
sort_symbols = [k['symbol'][:-4] for k in sorted(ticker, key=lambda x :-float(x['quoteVolume'])) if k['symbol'][-4:] == 'USDT']

def GetKlines(symbol='BTCUSDT',start='2020-8-10',end='2023-8-10',period='1h',base='fapi',v = 'v1'):
    Klines = []
    start_time = int(time.mktime(datetime.strptime(start, "%Y-%m-%d").timetuple()))*1000 + 8*60*60*1000
    end_time =  min(int(time.mktime(datetime.strptime(end, "%Y-%m-%d").timetuple()))*1000 + 8*60*60*1000,time.time()*1000)
    intervel_map = {'m':60*1000,'h':60*60*1000,'d':24*60*60*1000}
    while start_time < end_time:
        time.sleep(0.5)
        mid_time = start_time+1000*int(period[:-1])*intervel_map[period[-1]]
        url = 'https://'+base+'.binance.com/'+base+'/'+v+'/klines?symbol=%s&interval=%s&startTime=%s&endTime=%s&limit=1000'%(symbol,period,start_time,mid_time)
        res = requests.get(url)
        res_list = res.json()
        if type(res_list) == list and len(res_list) > 0:
            start_time = res_list[-1][0]+int(period[:-1])*intervel_map[period[-1]]
            Klines += res_list
        if type(res_list) == list and len(res_list) == 0:
            start_time = start_time+1000*int(period[:-1])*intervel_map[period[-1]]
        if mid_time >= end_time:
            break
    df = pd.DataFrame(Klines,columns=['time','open','high','low','close','amount','end_time','volume','count','buy_amount','buy_volume','null']).astype('float')
    df.index = pd.to_datetime(df.time,unit='ms')
    return df

start_date = '2023-01-01'
end_date   = '2023-11-16'
period = '4h'
df_dict = {}

for symbol in sort_symbols:   
    print(symbol)
    df_s = GetKlines(symbol=symbol+'USDT',start=start_date,end=end_date,period=period)
    if not df_s.empty:
        df_dict[symbol] = df_s

df_close = pd.DataFrame(index=pd.date_range(start=start_date, end=end_date, freq=period),columns=df_dict.keys())
for symbol in symbols:
    df_s = df_dict[symbol]
    df_close[symbol] = df_s.close
df_close = df_close.dropna(how='any',axis=1)

Analyse du marché

Tout d’abord, après avoir normalisé les données, nous avons calculé l’indice moyen d’augmentation et de diminution des prix. Nous pouvons voir qu’il y a deux vagues de conditions de marché en 2023, dont l’une est une forte augmentation au début de l’année, et l’autre est une forte hausse à partir d’octobre. Le point culminant de l’indice.

df_norm = df_close/df_close.fillna(method='bfill').iloc[0] #归一化
total_index = df_norm.mean(axis=1)
total_index.plot(figsize=(15,6),grid=True);

La corrélation entre la hausse et la baisse des devises et du Bitcoin

Analyse de corrélation

Pandas est livré avec un calcul de corrélation intégré. La corrélation avec le prix du BTC est illustrée dans la figure ci-dessous. La plupart des devises ont une corrélation positive, ce qui signifie qu’elles suivent le prix du BTC, tandis que certaines devises ont une corrélation négative. C’est considéré comme une anomalie sur le marché des devises numériques.

La corrélation entre la hausse et la baisse des devises et du Bitcoin

corr_symbols = df_norm.corrwith(df_norm.BTC).sort_values().index

Corrélation et augmentation des prix

Ici, nous divisons grossièrement les devises en deux groupes. Le premier groupe se compose de 40 devises les plus corrélées aux prix du BTC, et le deuxième groupe se compose de devises les moins corrélées aux prix du BTC. L’indice des deux groupes représente la moyenne à long terme position dans le premier groupe et position courte dans le deuxième groupe. La relation entre les fluctuations de prix et la corrélation avec le BTC peut être calculée. Le code et les résultats sont les suivants :

(df_norm[corr_symbols[-40:]].mean(axis=1)-df_norm[corr_symbols[:40]].mean(axis=1)).plot(figsize=(15,6),grid=True);

La corrélation entre la hausse et la baisse des devises et du Bitcoin

Les résultats montrent que les devises ayant une corrélation plus forte avec les prix du BTC ont une meilleure croissance, et la vente à découvert de devises à faible corrélation joue également un bon rôle de couverture. La partie imprécise ici est que les données futures sont utilisées pour calculer la corrélation. Ensuite, les données sont divisées en deux groupes, l’un pour calculer la corrélation et l’autre pour calculer le rendement après couverture. Les résultats sont présentés dans la figure ci-dessous, et la conclusion est toujours la même.

En tant que leaders du marché, les mouvements de prix du Bitcoin et de l’Ethereum ont souvent un impact énorme sur l’ensemble du marché. Lorsque les prix de ces bitcoins augmentent, le sentiment du marché devient généralement optimiste et de nombreux investisseurs ont tendance à suivre la tendance du marché. Les investisseurs peuvent considérer cela comme un signal indiquant que l’ensemble du marché est en hausse et commencer à acheter d’autres devises. Les pièces fortement corrélées aux principales devises peuvent connaître des augmentations de prix similaires en raison du comportement collectif des acteurs du marché. À l’heure actuelle, les attentes du marché en matière d’évolution des prix peuvent parfois devenir une prophétie autoréalisatrice. Les devises ayant une corrélation négative avec le Bitcoin sont uniques. Il est possible que leurs fondamentaux se soient détériorés ou qu’elles ne soient plus dans le viseur des investisseurs traditionnels. Il se peut même qu’il y ait un marché suceur de sang pour le Bitcoin - le marché les a abandonnés. chassez les pièces qui peuvent suivre les gains.

corr_symbols = (df_norm.iloc[:1500].corrwith(df_norm.BTC.iloc[:1500])-df_norm.iloc[:1500].corrwith(total_index[:1500])).sort_values().index 

La corrélation entre la hausse et la baisse des devises et du Bitcoin

Résumer

Cet article utilise le coefficient de corrélation de Pearson pour révéler le degré de corrélation entre les devises. L’article montre comment obtenir des données pour calculer les corrélations entre les devises et utiliser ces données pour évaluer les tendances du marché. Il révèle que la synchronisation des fluctuations de prix sur le marché des devises numériques n’est pas seulement le reflet de la psychologie et de la stratégie du marché, mais peut également être quantifiée et prédite par des méthodes scientifiques. Ceci est particulièrement important pour la conception de stratégies de trading quantitatives.

Il existe de nombreux domaines dans lesquels les idées de cet article peuvent être développées, comme le calcul des corrélations glissantes, le calcul des corrélations lors des augmentations et des diminutions séparément, etc., pour analyser des informations plus efficaces.