Notice
Recent Posts
Recent Comments
Link
삶의 공유
[파이썬] 비트코인 자동매매 전략 Study(가격, 거래량 기반 전략)-데이터준비 본문
728x90
반응형
안녕하세요~
최근에 파이썬 자동매매 Study를 시작했는데, 그 공부 기록을 하나씩 남겨보려고 합니다.
이번에 포스팅할 전략은
가격, 거래량 기반 롱 온리 전략
입니다.
Data 준비
먼저 필요한 라이브러리들을 import 해줍니다.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
판다스를 이용해여 csv파일에 저장된 비트코인 데이터를 불러옵니다.
df = pd.read_csv("Bitcoin_price.csv")
df.rename(columns={"Unnamed: 0":"Date"}, inplace=True)
df
2017 7/1 ~ 2021 10/7까지의 1시간 단위로 나뉘어진 비트코인 가격, 거래량등의 데이터를 불러옵니다
1. 'Date'컬럼을 index로 변경해줍니다.
df.set_index('Date', drop=True, inplace=True)
2. 'close', 'volume' 컬럼만 별도로 data 변수에 넣어줍니다.
data = df[['close','volume']].copy()
비트코인 가격이 어떻게 변화해왔는지 시각화를 한번 해보겠습니다.
data.close.plot(figsize=(12,8), title="BTC/USDT", fontsize=12)
plt.show()
거래량은 어떻게 변화해왔는지 한번 살펴보겠습니다.
data.volume.plot(figsize=(12,8), title="BTC/USDT", fontsize=12)
plt.show()
3. np.log함수를 이용해서 Daily 수익률을 구해줍니다.
data["returns"] = np.log(data.close.div(data.close.shift(1)))
data
수익률의 분포도를 한번 살펴보겠습니다.
data.returns.plot(kind='hist', bins=100, figsize=(12,8))
plt.show()
4. 누적 수익률을 계산하겠습니다.
data['creturns'] = data.returns.cumsum().apply(np.exp)
data
5. 거래량 변화 컬럼을 추가하겠습니다.
data["vol_ch"] = np.log(data.volume.div(data.volume.shift(1)))
data
거래량 변화와, 수익률간의 관계를 산포도 그래프를 이용해서 살펴보겠습니다.
plt.scatter(x=data.vol_ch, y=data.returns)
plt.xlabel("Volume_change")
plt.ylabel("Returns")
plt.show()
길어지는 관계로 다음편에 이어서 하겠습니다.
반응형
'Data Scientist > Python' 카테고리의 다른 글
[파이썬] 비트코인 자동매매 전략 Study(가격, 거래량 기반 전략)-전략수립 (0) | 2022.04.17 |
---|---|
자동매매 개발 관련 로그 수익률 사용 이유 (0) | 2022.04.12 |
[Python] Pyupbit get_ohlcv 함수 알아보기 (0) | 2022.03.13 |
맥북 환경에서 Python에 prophet 설치하기 (0) | 2022.03.11 |
[파이썬] 텐서플로우 임포트 에러 해결 (0) | 2022.03.09 |