BTC 불장으로 암호화폐 시장이 활황입니다. 이 흐름이 알트 코인으로 넘어오지는 않았지만 100% 넘게 오르는 코인도 자주나옵니다.

 

 

이런 종목이 오르기 시작하는 시점에 잡아서 쭉~~ 들고 있으면 수익이 많이 나겠죠.

 

암호화폐 종목은 특이하게도 아침 9시 이후에 급등하는 경우가 많습니다.

 

그렇다면 아침 9시 근처에 체결정보를 보다가 급등하는 종목이 나오면 냉큼 매수하면 대박이 나는 종목을 모두 매수할 수 있을 것입니다. 물론 오르다 마는 종목도 있을테니 손절 종목도 나오겠지만 기프트 같이 100% 오르는 종목에서 손해를 만회할 수 있겠죠.

 

이런 전략을 개발하기 위해서는 과거 tick 정보를 가져와서 시뮬레이션을 해봐야 합니다.

이번에는 과거 tick 정보를 연속으로 가져오는 방법을 기술합니다.

 

업빗에서 tick 정보를 가져오는 url은 아래와 같은 형식을 가지고 있습니다.

api.upbit.com/v1/trades/ticks?market=KRW-BTC&count=500&daysAgo=0&to=10:00:00

 

받은 데이터의 형태는 아래와 같습니다.

 

기존 과거 candle 정보와는 형식이 틀립니다. 각 인자는 아래와 같은 의미를 가지고 있습니다.

 

- dayAgo : 오늘 기준으로 며칠 전 (0: 오늘 1 : 어제 최대 7일 전 )

- to : 몇시 까지 가져올지 결정 (형식 : HH:mm:ss)

- count : 최대 tick 수 (최대 : 500)

 

tick 자료를 연속으로 가져올 때 주의할 사항은 한번에 받는 데이터의 크기가 500개로 제한되므로, 제일 마지막 sec 자료는 모두 받지 못하는 경우가 있습니다. 따라서 연속으로 tick 정보를 받아서 합치는 경우에는 이 점을 고려해서 코딩을 해야 합니다.

 

또한 tick 데이터는 utc 기준으로 일자를 계산합니다. 따라서 dayAgo 값이 0이면 오늘 tick 값을 받을 수 있는데, utc 기준임을 꼭 염두에 두시고 처리하시기 바랍니다.

 

프로그램을 실행시킬 때 아래 인자를 수정하면 됩니다. 

 

utc 기준으로 오늘 08시 부터 09시 BTC tick 데이터를 얻는 방법입니다.

COIN            = 'KRW-BTC'     # 원하는 코인 정보
TICK_AGO        = 0             # tick정보는 ago를 to 개념으로 봐야함 ( 0: 오늘 1 : 어제 최대 7일 전 )
TICK_FROM       = '08:00:00'    # HH:mm:ss  (utc 기준임)  or None (00:00:00)
TICK_TO         = '09:00:00'    # HH:mm:ss  (utc 기준임)  or None (최근)

 

TICK_AGO 값이 0이면 오늘입니다. 최대 7일 전까지만 검색이 가능하므로, 1주일에 한 번씩은 tick 데이터를 받아야 오랜 기간 데이터를 확보할 수 있습니다. 

 

최근 시간까지 tick 정보를 원하면 TICK_TO 값을 None으로, 0시까지 tick 정보를 원하면 TICK_FROM 값을 None으로 하면 됩니다.

 

파이썬 소스코드는 아래 github에 있습니다.

github.com/multizone-quant/System_trading_ex/blob/main/get_upbit_ticks.py

 

반응형

설정

트랙백

댓글