암호화폐 시장에서 데이터 분석은 중요한 역할을 한다. 이번 포스팅에서는 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를 사용해 시각화한다.
파이썬 matplotlib 모듈 그래프에서 날짜 표시 바꾸기 (0) | 2024.01.30 |
---|---|
파이썬에서 LSTM 모델로 삼성전자 일주일 주가 예측하기 (0) | 2024.01.30 |
파이썬과 CCXT를 활용한 비트코인 및 이더리움 종가 데이터 분석 (0) | 2024.01.29 |
파이썬과 CCXT로 비트코인 OHLCV 데이터 수집 및 CSV 파일로 저장하기 (0) | 2024.01.29 |
파이썬 실행 파일 만들기 에러 (pyinstaller : 'pyinstaller' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다.) (0) | 2024.01.28 |