리소스 로딩... 로딩...

화폐의 상승과 하락과 비트코인의 상관관계

저자:FMZ~리디아, 창작: 2023-11-17 11:01:56, 업데이트: 2024-01-01 12:21:55

img

이전 기사에서 우리는 디지털 통화 시장에서 일반적인 현상을 논의했습니다: 대부분의 디지털 화폐, 특히 비트코인 및 이더리움의 가격 변동을 따르는 경우, 종종 함께 상승과 하락의 경향을 나타냅니다. 이 현상은 주류 통화와의 높은 상관관계를 보여줍니다. 그러나 다른 디지털 화폐 간의 상관관계의 정도도 다릅니다. 그렇다면 이러한 상관관계의 차이가 각 화폐의 시장 성과에 어떻게 영향을 미치나요? 이 기사에서는 이 문제를 탐구하기 위해 2023년 하반기 황소 시장을 예로 사용하겠습니다.

디지털 화폐 시장의 동시적 기원

디지털 화폐 시장은 변동성과 불확실성으로 유명하다. 비트코인과 이더리움은 시장의 두 거장으로 종종 가격 트렌드에서 선도적인 역할을 한다. 대부분의 소규모 또는 신흥 디지털 화폐는 시장 경쟁력과 거래 활동을 유지하기 위해 종종 이러한 주류 화폐, 특히 프로젝트 당사자가 만든 동전과 일정 수준의 가격 동기화를 유지한다. 이러한 동기화는 양적 거래 전략을 설계하는 데 중요한 고려 사항인 시장 참여자의 심리적 기대와 거래 전략을 반영한다.

연동의 공식 및 계산 방법

양적 거래 분야에서 상관관계를 측정하는 것은 통계적 방법을 통해 이루어진다. 가장 일반적으로 사용되는 척도는 두 변수 사이의 선형 상관관계의 정도를 측정하는 피어슨 상관관계 계수이다. 다음은 몇 가지 핵심 개념과 계산 방법이다:

피어슨 상관 계수 (r로 표시) 의 범위는 -1에서 +1까지이며, +1은 완벽한 긍정적 상관 관계를 나타냅니다. -1은 완벽한 부정적인 상관 관계를 나타냅니다. 0은 선형 관계가 없다는 것을 나타냅니다. 이 계수를 계산하는 공식은 다음과 같습니다.

img

그 중에는img그리고img두 개의 무작위 변수의 관찰 값입니다.img그리고img각각 이 두 개의 무작위 변수의 평균 값입니다. 파이썬과학 컴퓨팅 관련 패키지를 사용하여 상관 관계를 계산하는 것이 쉽습니다.

데이터 수집

이 기사는 1 월 1 일에 나열 된 144 화폐를 선택하여 바이낸스에서 2023 년 전체의 4h K- 라인 데이터를 수집했습니다. 데이터를 다운로드 할 수있는 특정 코드는 다음과 같습니다.

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 년에는 두 가지 시장 추세가 있음을 알 수 있습니다. 하나는 올해 초에 상당한 증가이며 다른 하나는 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

상관관계 및 가격 상승

여기, 화폐는 크게 두 그룹으로 나뉘어 있습니다. 첫 번째 그룹은 BTC 가격과 가장 상관관계가 있는 40개의 화폐로 구성되어 있으며, 두 번째 그룹에는 BTC 가격과 가장 덜 관련이 있는 화폐가 포함됩니다. 첫 번째 그룹에서 두 번째 그룹의 지수를 빼면, 첫 번째 그룹에 장기간에 걸리고 두 번째 그룹을 단축하는 것을 나타냅니다. 이 방법으로 우리는 가격 변동과 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 가격과 더 강한 상관관계를 가진 통화가 더 나은 상승률을 보이고 있으며, 낮은 상관관계를 가진 통화를 단축하는 것도 좋은 헤지링 역할을했습니다. 여기서의 불확정성은 상관관계를 계산할 때 미래 데이터가 사용되었기 때문입니다. 아래에서 데이터를 두 그룹으로 나눕니다. 한 그룹은 상관관계를 계산하고 다른 그룹은 헤지링 후 수익을 계산합니다. 결과는 다음 그림에서 표시되며 결론은 변하지 않습니다.

시장을 선도하는 비트코인과 이더리움은 종종 전체 시장 추세에 큰 영향을 미친다. 이 암호화폐가 가격 상승할 때, 시장 정서는 일반적으로 낙관적이 되고 많은 투자자들이 이 추세를 따르기 마련이다. 투자자들은 이를 전체 시장 증가의 신호로 보고 다른 통화를 구매하기 시작할 수 있다. 시장 참여자들의 집단적 행동으로 인해, 주류와 높은 상관관계를 가진 통화는 비슷한 가격 상승을 경험할 수 있다. 그러한 시점에서는 가격 추세에 대한 기대는 때때로 자기 충족 예언이 될 수 있다. 반대로, 비트코인과 부정적인 상관관계 있는 통화는 독특하다; 그 기본이 악화되거나 주류의 시야에서 더 이상 보이지 않을 수도 있다 - 심지어 비트코인 투자자들이 상승세를 따라갈 수 있는 사람들을 쫓아다니는 시장에서 포기하는 피 빨아먹는 상황이 존재할 수도 있다.

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

img

요약

이 문서에서는 피어슨 상관률을 논의하고, 서로 다른 통화들 사이의 상관관계를 드러낸다. 이 문서에서는 통화들 사이의 상관관계를 계산하기 위해 데이터를 얻는 방법과 시장 추세를 평가하기 위해 이 데이터를 사용하는 방법을 보여준다. 이 문서에서는 디지털 통화 시장에서의 가격 변동의 동기성이 시장 심리학과 전략을 반영할 뿐만 아니라 과학적인 방법을 통해 수치화되고 예측될 수 있다는 것을 밝혀준다. 이는 양적 거래 전략을 설계하는데 특히 중요하다.

이 문서의 아이디어가 확장 될 수있는 많은 영역이 있습니다. 예를 들어 롤링 상관관계를 계산하고 상승과 하락 중에 상관관계를 별도로 계산하는 등 많은 유용한 정보를 얻을 수 있습니다.


더 많은