Relation zwischen dem Kursverfall und Bitcoin

Schriftsteller:Das Gras, Erstellt: 2023-11-16 16:53:56, aktualisiert: 2023-11-17 21:36:53

img

In einem früheren Artikel haben wir ein allgemeines Phänomen in den digitalen Währungsmärkten untersucht: Die meisten digitalen Währungen, insbesondere diejenigen, die den Preisschwankungen von Bitcoin und Ethereum folgen, zeigen häufig einen Trend, bei dem sie häufig gleichbleiben. Dieses Phänomen zeigt eine hohe Korrelation zwischen ihnen und den Mainstream-Geldsorten.

Synchronisierte Wurzeln des Marktes für digitale Währungen

Der Markt für digitale Währungen ist bekannt für seine Volatilität und Unsicherheit. Bitcoin und Ethereum, die beiden größten Marktführer, spielen oft eine führende Rolle bei der Preisentwicklung. Die meisten kleinen oder aufstrebenden digitalen Währungen sind in der Regel in einem gewissen Maße mit diesen Mainstream-Währungen, insbesondere den pro-Projekt-Markt-Währungen, in Preissynchronisation, um ihre Marktwettbewerbsfähigkeit und Handelsaktivität zu erhalten.

Formeln und Berechnungen der Korrelation

Im Bereich der Quantifizierung von Transaktionen wird die Korrelationsmessung durch statistische Methoden realisiert. Die am häufigsten verwendete Methode ist die Pearson-Korrelationskoeffiziente, die die lineare Korrelation zwischen zwei Variablen misst. Hier sind einige Kernkonzepte und Berechnungsmethoden:

Die Pearson-Relationschaftskoeffizienten (geschrieben als $r$) liegen zwischen -1 und +1, wobei +1 eine vollständige positive, -1 eine vollständige negative und 0 keine lineare Relation darstellt. Die Berechnungsformel für die Koeffizienten lautet:

$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}}$

$X_i$ und $Y_i$ sind die beobachteten Werte der beiden Zufallsvariablen, $\bar{X}$ und $\bar{Y}$ sind die durchschnittlichen Werte der beiden Zufallsvariablen.

Datenerhebung

Dieser Artikel sammelt die Daten der 4hK-Linien für das gesamte Jahr 2023 und wählt 144 Währungen aus, die am 1. Januar auf den Markt kommen.

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)

Erinnerungen

Wenn man zunächst die Daten zusammensetzt und den Index für den durchschnittlichen Preisverfall berechnet, kann man sehen, dass es im Jahr 2023 zwei Wellen gibt, darunter die erste Welle des Jahres und die Welle, die im Oktober begann und sich derzeit im Wesentlichen auf dem Index befindet.

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);

img

Korrelationsanalyse

Pandas selbstgebundene Korrelationsberechnung, mit BTC-Preis- und Schwächsten-Korrekturen, die für die meisten Währungen positiv sind, was bedeutet, dass sie den Preis von BTC folgen, und auch für einige Währungen negativ, was in der digitalen Währungsbranche eine Ausnahme ist.

img

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

Relevanz und Preissteigerungen

Hier wird die Währung in zwei Gruppen unterteilt, die erste Gruppe in 40 Währungen, die am meisten mit dem BTC-Preis zusammenhängen, und die zweite Gruppe in die Währungen, die am wenigsten mit dem BTC-Preis zusammenhängen.

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

img

Die Ergebnisse zeigen, dass die stärker mit BTC-Preisen verknüpften Währungen besser anstiegen und die mit geringer Nullverknüpfung auch eine gute Hedging-Funktion spielten. Hier ist es unbedeutend, dass bei der Berechnung der Korrelation Futures-Daten verwendet wurden, die dann in zwei Gruppen unterteilt werden, eine Gruppe, die die Korrelation berechnet, und eine andere Gruppe, die die Erträge nach der Hedging berechnet, und die Ergebnisse, wie in der Abbildung unten dargestellt, bleiben die gleichen.

Bitcoin und Ethereum sind Marktführer und ihre Preisbewegungen haben oft einen großen Einfluss auf den gesamten Markt. Wenn die Preise dieser Bitcoins steigen, wird die Stimmung im Markt in der Regel optimistisch, und viele Investoren neigen dazu, den Markttrend zu folgen. Investoren können dies als ein Signal für einen Anstieg des gesamten Marktes ansehen und andere Währungen kaufen.

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

img

Zusammenfassung

Der Artikel zeigt, wie man Daten aus der Berechnung von Wechselwirkungen zwischen Währungen erhält und diese Daten nutzt, um Markttrends zu bewerten. Der Artikel zeigt, dass die Synchronisierung der Preisschwankungen im digitalen Währungsmarkt nicht nur eine Reflexion von Marktpsychologie und -strategie ist, sondern auch wissenschaftlich quantifiziert und vorhergesagt werden kann. Dies ist besonders wichtig für die Gestaltung einer quantitativen Handelsstrategie.

Es gibt viele weitere Bereiche, in denen die Ideen dieses Artikels erweitert werden können, z. B. die Berechnung der Roll-Relativität, die Berechnung der Relativität bei Aufstieg und Abstieg, etc., um weitere effektive Informationen zu analysieren.


Mehr

mztcoinNun, die Korrelationsanalyse kann mit der bisherigen Strategie von "nichts übernehmen, mehr fallen" kombiniert werden.