업비트 API 를 이용하여 변동성돌파 전략으로 자동 투자시 스팀의 수익률 계산하기
안녕하세요 hyokhyok 입니다
이전에 하던걸 이어 가려니..회사 내용들도 있어서 잠시 멈추고 이걸 써봅니다.
업비트 API를 이용하여 다양한 것들을 할 수 있는 것 같아서 혼자 공부하고 있습니다.
자동 투자 기법 중 변동성 돌파 전략을 적용한 코드가 있어서 보다가 이 방법이 스팀에는 적합 했는지를 보기 위하여 테스트 해보았습니다.
변동성 돌파 전략은 다음과 같습니다. 출처
코드는 매우 심플 합니다
import pyupbit # upbit api 를 사용할 수 있는 python 라이브러리
import numpy as np
def get_ror(k=0.5):
df = pyupbit.get_ohlcv("KRW-STEEM", count=365)
df['range'] = (df['high'] - df['low']) * k
df['target'] = df['open'] + df['range'].shift(1)
df['ror'] = np.where(df['high'] > df['target'],
df['close'] / df['target'],
1)
ror = df['ror'].cumprod()[-2]
return ror
maxror=0
for k in np.arange(0.1, 1.0, 0.1):
ror = get_ror(k)
print("%.1f %f" % (k, ror))
if maxror<ror:
maxror=ror
best_k = k
print(best_k, maxror)
결과는요?
200 일 결과
200개가 디폴트이며, 그 이상의 데이터는 period 단위로 추출이 되는데 하루 단위로 설정이 안되어 1년치는 다른 방법을 찾아봐야겠다
0.1로 설정시 약 1% 손실
30일 결과
0.1로 설정시 약 16.6% 이득, 0.5~0.7로 설정시 약 손실
7일 결과
0.1로 설정시 약 7.6% 이득
최근 7일의 경우 분위기가 좋아서 오히려 존버가 더 벌었을 것 같네요
비트와 이더리움의 100일 결과는?
존버 했으면 비트는 15% 손실, 이더는 25% 손실인 하락장이었습니다.
비트
비트의 경우 강한 돌파 발생시 투자를 하는 것이 좋았던 것 같네요
이더
이더는 0.3 외에는 모두 손실이네요
그리고 스팀은..
그냥 손실
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
@kr-dev.cu1님이 당신을 멘션하였습니다.
https://www.steemit.com/@kr-dev.cu1/api