가상화폐 투자 마법공식 투자전략(책) 중 12번째 전략을 엑셀로 백테스트하고 실전 실행해보겠다.
준비물 : 코인 데이터
코인 데이터는 달러 기준으로 coinmarketcap에서 구할 수 있고, 원화(업비트) 기준으로 파이썬 라이브러리 pyupbit를 통해 얻을 수 있다.
import pyupbit
import pandas as pd
import openpyxl
tickers = ['KRW-BTC', 'KRW-ETH', 'KRW-XRP', 'KRW-DOGE', 'KRW-LTC']
df1 = pd.DataFrame()
df1.to_excel("hi1.xlsx")
with pd.ExcelWriter('hi1.xlsx', mode='a') as writer:
for i in tickers:
interval = 'day'
to = '2100-01-01'
a = pyupbit.get_ohlcv(ticker=i, interval=interval, to=to, count=3000)
a.to_excel(writer, sheet_name=i)
위와 같이 코드를 작성하고 돌리면 데이터를 얻을 수 있지만, 그냥 간단하게 coinmarketcap에서 복붙해도 된다.
투자 전략 12. 평균 노이즈 비율 + 마켓 타이밍 + 변동성 돌파
투자 대상 : 비트코인, 이더리움, 리플, 도지코인, 라이트코인
투자기간 : 17년 1월 1일 ~ 22년 1월 30일
거래비용 : 0.2% 적용
투자전략 :
종목당 기본 투자 비중 : 1/5(동일비중) * 3, 5, 10, 20일 평균 이동평균선 스코어
매수 : 실시간 가격 > 당일 시가 + (전일 레인지 * 20일 평균 노이즈 비율)
투자비중 : 종목당 기본 투자비중 * (타겟 변동성/전일 변동성) | 만약 타겟변동성 > 전일 변동성일 경우 기본 투자비중
용어설명 :
거래비용 : 거래 수수료 + 슬리피지
이평선 스코어 : 당일 시가 > 3, 5, 10, 20일 이평선 | 스코어는 0, .25, .5, .75, 1 중 하나로 나옴
레인지 : 전일 고가 - 전일 저가
노이즈 : 1-ABS(전일 시가 - 전일 종가)/(전일 고가 - 전일 종가) | 값이 낮을수록 매수 기준가격이 높아짐
매수 기준가격 : 당일 시가 + (전일 레인지 * 20일 평균 노이즈 비율)
평균 노이즈 비율 : sum(noiseA:noiseB)/(B-A+1) | 여기서는 B-A+1 = 20
타겟 변동성 : 목표로 하는 일일 최고 변동치. 보통 1 ~ 5%로 설정함. 위 전략에서는 5%로 설정.
전일 변동성 : 레인지/전일 종가
전략 실행:
- T일 오전 9시(UTC 0시)에 투자 전략에 따른 각 코인의 투자비중을 확인한다.
- pyupbit을 사용해서 코인 데이터를 확보한다.
- 거래소에 매수 기준가격에 도달할 경우 매수 기준가격 * 1.002의 가격에 지정가 주문을 내는 예약-지정가 주문을 한다.
- T+1일 오전 9시에 전일 매수된 코인들을 매도하고 전략을 다시 실행한다.
백테스트 결과:
P | BTC | ETH | XRP | DOGE | LTC | |
수익률 | 31093% | 4106% | 24410% | 8610% | 67651% | 2735% |
CAGR | 2.13006504 | 1.10213551 | 1.98364447 | 1.42924235 | 2.65161399 | 0.94362329 |
MDD | -0.0819292 | -0.8338312 | -0.9396914 | -0.9581845 | -0.9099942 | -0.9346755 |
도지가 중간에 미친놈처럼 올랐기 때문에 다른 포트폴리오들이 매우 저조해 보이지만 도지를 제외하고 그래프를 보면 다음과 같다.
사실 연복리가 몇 백% 나오는 것은 코인시장 특성상 워낙 변동성이 강한 시장이고, 어떤 코인을 포트폴리오에 편입하느냐에 따라 매우 백테스트 결과가 상이하기 때문에 미래에도 백테스트 수준으로 나와줄 것을 기대하기는 어려울 수 있지만, 기본 MDD 90%씩 먹고 가는 코인 시장에서 약 5년간 MDD를 10% 이하 수준으로 유지하면서 다른 코인들에 못지않게 수익을 낼 수 있다는 것이 인상적이다.
반자동 코인매매 이점:
코인 편입으로 자산군 다양화
코인 자산군에서도 분산투자 가능
코인 특성상 지리적 분산 효과 극대화
MDD를 최소화하면서 코인 수익률 따라갈 수 있음(상대적 박탈감 최소화)
프로그램 필요없음
매일 9시에만 신경 쓰면 됨
반자동 코인 매매 단점:
거래소 하나 당 주문 다 넣는데 약 10분 걸림
업비트 예약 지정가 수수료가 너무 강해서 슬리피지까지 계산하면 전략이 망가질 수 있음
각 거래소마다 9시에 동시에 매매하는 것이 힘들기 때문에 엑셀에서 측정한 전략과 오차가 생김
사용 거래소:
업비트는 예약-지정가 기능 사용하면 수수료 0.139% 임(기본 0.05%)
빗썸에서 거래하려면 수수료가 너무 비싸기 때문에 수수료 쿠폰을 사서 해야 함(오히려 거래 수수료를 줄일 수도 있음)
코빗은 수수료 0.15% → 너무 비싸
바이낸스는 수수료 0.075% → 할만함
숙제 :
수수료 측면에서 보나 전략 오차범위 측면에서 보나 자동매매가 필요함. 구현하기
거래소 분할로 거래소 해킹, 붕괴위험 축소하기
각 거래소 분할 후 차익거래로 전략 수익과 동시에 무위험수익도 추구하기
대충 이런식으로 백테스트를 한다.
'투자' 카테고리의 다른 글
가상화폐 투자마법공식 전략 6~12 백테스트 + 최신 데이터 업데이트 (1) | 2022.02.07 |
---|---|
울트라 라이트 2 전략 - 한국주식 개별종목 퀀트투자 (0) | 2022.02.01 |
가속듀얼모멘텀, 듀얼모멘텀 엑셀 백테스트 & 영구포트폴리오와 시너지 (1) | 2022.01.19 |
개별주 퀀트 투자! 하면.. 되나? 울트라 모멘텀 라이트 전략 소개 (0) | 2022.01.03 |
[자산배분] 영구 포트폴리오 & 4계절 듀얼 모멘텀 (0) | 2022.01.02 |