상세 컨텐츠

본문 제목

파이썬과 CCXT를 활용한 비트코인 데이터 분석 및 시각화

파이썬

by 코딩트리01 2024. 1. 29. 22:34

본문

 암호화폐 시장에서 데이터 분석은 중요한 역할을 한다. 이번 포스팅에서는 Python과 CCXT 라이브러리를 사용하여 비트코인의 종가 데이터를 1년 동안 수집하고, 30일간의 역사적 변동성을 계산하는 방법을 소개한다. 또한, 종가와 변동성의 추이를 표준화하여 시각적으로 비교하는 방법도 다룬다.

 

1. CCXT를 사용한 데이터 수집

import ccxt
import pandas as pd
import datetime

exchange = ccxt.binance()
since = exchange.parse8601((datetime.datetime.now() - datetime.timedelta(days=365)).strftime('%Y-%m-%d'))

Binance 교환소에서 비트코인의 일별 종가 데이터를 수집한다.

 

2. 역사적 변동성 계산:

ohlcv = exchange.fetch_ohlcv('BTC/USDT', '1d', since)
df = pd.DataFrame(ohlcv, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume'])
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms')
df.set_index('timestamp', inplace=True)
df['returns'] = df['close'].pct_change()
df['volatility'] = df['returns'].rolling(window=30).std() * np.sqrt(365)

30일간의 역사적 변동성을 계산한다. 이 때, 연간 거래일 기준을 365로 설정하여 계산한다.

 

3. 데이터 시각화:

import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
df['close_scaled'] = scaler.fit_transform(df[['close']])
df['volatility_scaled'] = scaler.fit_transform(df[['volatility']])

plt.figure(figsize=(12, 6))
plt.plot(df.index, df['close_scaled'], label='Standardized BTC Close Price')
plt.plot(df.index, df['volatility_scaled'], label='Standardized Historical Volatility')
plt.legend()
plt.show()

종가와 역사적 변동성을 표준화하여 Matplotlib를 사용해 시각화한다.

관련글 더보기