Les ressources ont été chargées... Je charge...

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

Auteur:FMZ~Lydia, Créé: 2023-11-17 11:01:56, mis à jour: 2024-01-01 12:21:55

img

Dans les articles précédents, nous avons discuté d'un phénomène commun sur le marché des devises numériques: la plupart des devises numériques, en particulier celles qui suivent les fluctuations de prix de Bitcoin et Ethereum, montrent souvent une tendance à la hausse et à la baisse ensemble. 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 devises numériques varie également. Alors, comment cette différence de corrélation affecte-t-elle la performance du marché de chaque monnaie? Dans cet article, nous utiliserons le marché haussier dans la seconde moitié de 2023 comme exemple pour explorer cette question.

L'origine synchrone du marché de la monnaie numérique

Le marché de la monnaie numérique 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. La plupart des petites monnaies numériques ou émergentes, afin de maintenir la compétitivité du marché et l'activité commerciale, maintiennent souvent un certain degré de synchronisation des prix avec ces monnaies grand public, en particulier les pièces fabriquées par les parties au projet. Cette synchronisation reflète les attentes psychologiques et les stratégies de trading des participants au marché, qui sont des considérations importantes dans la conception de stratégies de trading quantitatives.

Formule et méthode de calcul de la corrélation

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

La gamme du coefficient de corrélation de Pearson (indiqué par r) est de -1 à +1, où +1 indique une corrélation positive parfaite, -1 indique une corrélation négative parfaite et 0 indique aucune relation linéaire.

img

Parmi eux,imgetimgsont les valeurs observées de deux variables aléatoires,imgetimgL'utilisation de paquets liés à l'informatique scientifique Python permet de calculer facilement la corrélation.

Collecte de données

Cet article a rassemblé les données de la ligne K de 4h pour toute l'année 2023 de Binance, en sélectionnant 144 devises répertoriées le 1er janvier.

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)

Examen du marché

Après avoir normalisé les données en premier, nous calculons l'indice des fluctuations moyennes des prix. On peut voir qu'il y a deux tendances du marché en 2023. L'une est une augmentation significative au début de l'année, et l'autre est une augmentation importante à partir d'octobre. Actuellement, il est essentiellement à un point élevé en termes d'indice.

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

img

Analyse de la corrélation

Pandas est livré avec un calcul de corrélation intégré. La corrélation la plus faible avec le prix du BTC est montrée dans la figure suivante. La plupart des devises ont une corrélation positive, ce qui signifie qu'elles suivent le prix du BTC. Cependant, certaines devises ont une corrélation négative, ce qui est considéré comme une anomalie dans les tendances du marché de la monnaie numérique.

img

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

Corrélation et hausse des prix

Ici, les devises sont divisées en deux groupes. Le premier groupe se compose de 40 devises les plus corrélées au prix du BTC, et le deuxième groupe comprend celles les moins liées au prix du BTC. En soustrayant l'indice du deuxième groupe de celui du premier, il représente un long sur le premier groupe tout en raccourcissant le second. De cette façon, nous pouvons calculer une relation entre les fluctuations de prix et la corrélation du BTC. Voici comment vous le faites avec les résultats:

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

img

Les résultats montrent que les devises ayant une corrélation plus forte avec le prix du BTC ont de meilleures augmentations, et les devises à court terme avec une faible corrélation ont également joué un bon rôle de couverture. L'imprécision ici est que des données futures ont été utilisées lors du calcul de la corrélation. Ci-dessous, nous divisons les données en deux groupes: un groupe calcule la corrélation, et un autre calcule le rendement après la couverture. Le résultat est indiqué dans la figure suivante, et la conclusion reste inchangée.

Bitcoin et Ethereum, en tant que leaders du marché, ont souvent un impact énorme sur les tendances globales du marché. Lorsque ces crypto-monnaies augmentent de prix, le sentiment du marché devient généralement optimiste et de nombreux investisseurs ont tendance à suivre cette tendance. Les investisseurs peuvent voir cela comme un signal d'une augmentation globale du marché et commencer à acheter d'autres devises. En raison du comportement collectif des participants au marché, les devises fortement corrélées avec les courants traditionnels peuvent connaître des augmentations de prix similaires. À de tels moments, les attentes concernant les tendances des prix peuvent parfois devenir des prophéties auto-réalisatrices.

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

img

Résumé

Cet article traite du coefficient de corrélation de Pearson, révélant le degré de corrélation entre les différentes devises. L'article démontre comment obtenir des données pour calculer la corrélation entre les devises et utiliser ces données pour évaluer les tendances du marché.

Il existe de nombreux domaines où les idées de cet article peuvent être élargies, tels que le calcul des corrélations en rotation, le calcul séparé des corrélations lors des hausses et des baisses, etc., ce qui peut fournir beaucoup d'informations utiles.


Plus de