通貨の上昇と落ち込みとビットコインとの相関

作者: リン・ハーンリディア作成日:2023年11月17日 11:01:56 更新日:2024年01月01日 12:21:55

img

前回の記事では,デジタル通貨市場における一般的な現象について議論しました.ほとんどのデジタル通貨,特にビットコインとイーサリアムの価格変動を追跡する通貨は,しばしば上昇と減少の傾向を示します.この現象は,主流通貨との高い相関性を明らかにします.しかし,異なるデジタル通貨間の相関度も異なります.この相関性の違いは各通貨の市場パフォーマンスにどのように影響しますか? この記事では,この問題を調査するために2023年下半期の牛市を例として使用します.

デジタル通貨市場の同期起源

デジタル通貨市場は,変動性と不確実性で知られています.ビットコインとイーサリアムは,市場の2つの巨人として,しばしば価格動向において主要な役割を果たします.ほとんどの小型または新興デジタル通貨は,市場の競争力と取引活動を維持するために,しばしばこれらの主流通貨,特にプロジェクト当事者が作成したコインと一定の価格同期を維持します.この同期性は,定量的な取引戦略の設計において重要な考慮事項である市場参加者の心理的な期待と取引戦略を反映しています.

相互関係公式と計算方法

定量取引の分野では,相関の測定は統計的方法によって達成される.最も一般的に使用される測定法は,2つの変数間の線形相関度を測定するピアソン相関系数である.以下にはいくつかの基本的な概念と計算方法があります:

ピアソン相関系数 (r と表記される) の範囲は -1 から +1 までの範囲で,1 は完全な正相関を示し, -1 は完全な負相関を示し,0 は線形関係がないことを示します.この相関系数計算の式は以下のとおりです:

img

その中にはimgそしてimg2つのランダム変数の観測値です.imgそしてimgこの2つのランダム変数の平均値です. Python科学コンピューティング関連パッケージを使用して,相関を計算するのは簡単です.

データ収集

この記事では,Binanceから2023年の全年の4hK線データを収集し,1月1日にリストされた144通貨を選択しました.データをダウンロードするための特定のコードは以下のとおりです.

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)

市場レビュー

平均価格変動の指数を計算します.2023年に市場トレンドが2つあることがわかります.一つは年の初めに顕著な上昇であり,もう一つは10月から大きな上昇です.現在,それは基本的に指数に関して高い点にあります.

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

関連性分析

パンダは内蔵された相関計算機能が搭載されている.BTC価格との最も弱い相関は以下の図に示されている.ほとんどの通貨はBTCの価格をフォローするポジティブな相関性を持っている.しかし,一部の通貨は負の相関性があり,デジタル通貨市場のトレンドにおける異常とみなされている.

img

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

関連性と価格上昇

ここでは,通貨は2つのグループに分かれています.最初のグループは,BTC価格と最も関連している40の通貨で構成され,第2グループは,BTC価格と最も関係のないものを含みます.第2グループのインデックスを最初のものから引くと,第2グループのインデックスを表示します.この方法で,価格変動とBTCの相関関係との関係を計算できます.結果とともに,以下のようにします:

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

img

結果は,BTC価格と強い相関関係を持つ通貨がより良い上昇を示し,低相関関係を持つ通貨をショートすることも良いヘッジする役割を果たした.ここで不正確なのは,相関関係を計算する際に将来のデータを使用したことだ.下記では,データを2つのグループに分けます.1つのグループは相関関係を計算し,もう1つはヘッジ後の収益を計算します.結果は次の図に示されており,結論は変わっていません.

ビットコインとイーサリアムは市場リーダーとして,一般的に市場動向に大きな影響を与えます.これらの暗号通貨が価格上昇すると,市場情勢は通常楽観的になり,多くの投資家はこの傾向に従う傾向があります.投資家はこれを全体的な市場増加の信号として見て,他の通貨を購入し始めることがあります.市場参加者の集団的な行動のために,主流通貨と高度に相関する通貨は同様の価格上昇を経験することがあります.そのようなときに,価格動向に関する期待は時に自己実現する予言になり得ます.逆に,ビットコインと否定的に相関する通貨はユニークです.その基本面が悪化したり,もはや主流の視線内にないかもしれません - 投資家が上昇する価格に追いつくことができる人を追い求める市場を放棄するビットコインの血吸い状況さえ存在します.

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

img

概要

この記事では,異なる通貨間の相関度を明らかにするピアソン相関係数を論じている.この記事では,通貨間の相関を計算するためにデータを取得し,このデータを市場動向を評価するために使用する方法を示している.デジタル通貨市場の価格変動の同期性は,市場心理と戦略を反映するだけでなく,科学的方法によって定量化および予測することもできる.これは定量的な取引戦略を設計するのに特に重要です.

この記事のアイデアを拡張できる分野はたくさんあります. 例えば,ローリング相関の計算,上昇と減少時の相関を別々に計算など,多くの有用な情報を得ることができます.


もっと