본문 바로가기
Coin Market Review/자동매매알고리즘탐구

나만의 코인 ETF를 운영해보자!! (2)

by 일등박사 2021. 12. 18.
728x90

나만의 코인 ETF를 운영해보자!! (1)

나만의 코인 ETF를 운영해보자!! (2)  - 이번 포스팅


안녕하세요!

지난 포스팅에 이어 황썸(빗썸)의 모든 코인을 동일한 비중으로 구매하여

자산을 운영해보기 내용을 이어가보겠습니다!!

언제나 아쉽지만서도 꼭 확인해보아야하는 백테스팅!!

과연 빗썸의 전 종목을 동일 비중으로 구매하였을떄의 수익률은 어떨까요!?


우선 빗썸에 상장된 모든 코인(21/12/17 기준, 184개)의

가격 데이터를 Python으로 수집해보았습니다!!

## 우선 항상 사용하는 나만의 module을 Import 합니다!!

from datetime import datetime
from datetime import timedelta
import pandas as pd
import numpy as np
import requests
import time
import pickle
import json
import time
import re
from bs4 import BeautifulSoup
from datetime import date

 

빗썸같은 경우는 코인의 고유 코드가 존재하기에,,

모두 수집해와 나만의 코인코드명 데이터테이블을 만들었습니다!!

 

headers = [
{'User-Agent' : '' },

]
BASE_URL = 'https://www.bithumb.com/trade/order/BTC_KRW'
response = requests.get(BASE_URL,  headers=headers[0])
soup = BeautifulSoup(response.content, 'html.parser')
for i in soup.findAll('script', type='text/javascript'):
    if ('MARKET_INFO' in  i.text) & ('C0100' in  i.text) :
        target_text = i.text

COIN_DATA = json.loads(target_text.split('var COIN_DATA = ')[1].split(';')[0])
df_coinname = pd.DataFrame(COIN_DATA).T
df_coinname  = df_coinname[df_coinname.SISE_CRNC_CD!='-'].reset_index()
df_coinname['coin'] = df_coinname['index'] +"_" + df_coinname['SISE_CRNC_CD']
df_coinname

빗썸의 코인코드. 그 원리가 궁금하다!!

 

이렇게 코인데이터를 수집할 준비를 끝마치고,

이젠 184개의 루프를 통하여 빗썸 코인의 일별 가격데이터를 크롤링을 시작합니다!!

 

df_all = pd.DataFrame()
ct = 0
headers = [
{'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36' ,
 'origin':'https://www.bithumb.com',
 'referer':'https://www.bithumb.com/trade/order/BTC_KRW',
'accept':'application/json, text/javascript, */*','accept-encoding':'gzip, deflate, br'},
]
for i, row in enumerate(df_coinname.values):
    _,nm,_,coin = row
    url = 'https://pub2.bithumb.com/public/candlesticknew_trview/{}/24H'
    print(nm, url.format(coin))
    

    bithumb= requests.get(url.format(coin))# ,headers=headers[0], )
    bithumb=  json.loads(bithumb.text)
    df_imsi = pd.DataFrame(bithumb['data'])
    df_imsi['yyyymmdd'] = df_imsi['t'].apply(lambda x: date.fromtimestamp(x/1000))
    df_imsi['source'] = coin
    df_imsi['source'] = nm

    
    df_all = df_all.append(df_imsi)
    time.sleep(1.5)

184개 코인의 일별 캔들정보. 11만5천개의 데이터!!

 

저는 각 일별 시가(09시의 가격)을 기준으로 분석을 시작해보겠습니다!!

우선 데이터가 잘 수집되었는지 검증하기 위하여

가장 만만한 비트코인의 그동안의 트랜드를 시각화해보았습니다!

 

구글의 비트코인 트렌드와 나의 차트!! 아.. 1 BTC 73만원의 시절이여

이제 데이터가 잘 맞는것은 확인하였고!!

2021년 1월 1일, 각 코인에 1만원씩 투자를 한 조건으로

백테스팅을 진행해보겠습니다!!

 

각 코인에 만원씩 투자하였을때, 결과는 어땠을까요!?

멋지다!! 184만원으로 시작한 투자금은,

12월 17일 현재 1,082 만원이 되어있었습니다!!!

나만의 황썸 ETF의 수익률

 

그럼 과연 2020년 1월1일 비트코인에만 혹은 이더리움에 184만원을 투자했을떄의 수익율 차이는 어땠을까요?

  황썸 ETF 비트코인 이더리움
수익률 488.3% 90.6% 518.7%
최대수익률 750.0% 159.0% 617.1%
자산변동성
(STD)
308.0 77.9 292.9
최고점대비
하락률
30.1% 26.4% 13.8%

 

나의 황썸 ETF!! 

2021년 성적표를 비교해보았을떄!

비트코인보다 변동성이 크지만, 수익률도 크고 최고점대비 하략률은 비슷하여 황썸 ETF와 우열을 나누기 어려움!!

이더리움과 비교, 변동성은 큰데 수익률은 낮고, 최고점 대비 하략률은 높아 황썸 ETF 배!!

 

결국 과거로서 찾아보는 정답은 ETH 장기투자구나~~~라는 점을 배우며

이만 포스팅을 마무리...

 

 

 


 

 

 

할수는 없습니다!!

 

왜냐면!!

리플 등 인기가 사라진 코인들과 비교해보죠!!

결국 리플의 시대는 올거야!!

  황썸 ETF 리플 라이트코인
수익률 488.3% 330.7% 38.4%
최대수익률 750.0% 820.7% 240.2%
자산변동성
(STD)
308.0 346.1 84.7
최고점대비
하락률
30.1% 53.2% 59.3%

리플이나 라이트코인보다

수익률 차원에서도, 변동성차원에서도 MDD 차원에서도

황썸 ETF가 월등하다는 것을 알 수 있습니다!!

 

결국 내가 결과를 알고있다면

최고의 코인(ex. 이더리움) 에 올인하면 최고!! 

하지만, 미래를 모르는 상황에서는 버핏헝아의 말처럼

분산투자가 최고임을 알 수 있었습니다!!

 

하지만 이 백테스팅에는 몇가지 맹점이 있는데요!!

이런 맹점을 보완하며 API를 활용한 투자를 

다음포스팅에서 시작해보겠습니다!!

 

감사합니다.


나만의 코인 ETF를 운영해보자!! (1)

나만의 코인 ETF를 운영해보자!! (2)  - 이번 포스팅

728x90

댓글