지난 번 시스템 트레이딩 관련 세미나 참석 후 시스템 트레이딩에 대한 관심이 다시 생겼습니다. 그동안 모아두었던 자료도 찾아보고, 최근 자료들도 찾아보았습니다. 불현듯 떠오른 아이디어가 있어서 검증에 들어가 봅니다.
로직 검증을 위해서는 데이타가 필요하죠. 업비트에 있는 데이터를 가져오는 방법에 대한 글을 읽어보고, 기존에 작업해 놓았던 파이썬 코드도 살펴보았습니다.
우선 일 데이터를 받아서 시뮬레이션을 해 보니 결과가 별로입니다. 그래서 분 데이터는 어떨까해서 받으려고 했더니, 자료가 너무 많아서 노가다가 많이 필요하더군요.
그래서 원하는 시기까지 분데이타를 받을 수 있는 코드를 만들어 보았습니다. 결과를 파일에 저장을 할 수도 있지만 일단 눈으로 확인하기 위하여 화면에 출력하는 방식으로 하였습니다.
소스코드는 아래 사이트에 있습니다. 원하는 암호화폐에 대하여 분/일/주/월 데이터를 원하는 날짜까지 출력해주는 코드입니다.
https://repl.it/repls/EnormousImpishCubase
steem 11월 일봉 데이타입니다.
upbit의 암호화폐 데이터를 받아오는 방법입니다.
아래는 eos 1분 데이터를 받아오는 예입니다.
https://crix-api-endpoint.upbit.com/v1/crix/candles/minutes/1?code=CRIX.UPBIT.KRW-EOS&count=100
사용법은 아래 변수에 원하는 값을 넣으면 됩니다.
분 데이터인 경우에는 scale에 원하는 분 정보를 넣으면 됩니다. 나머지의 경우에는 무시하시면 됩니다.
추가 설명입니다.
데이터 주기에 대해서는 아래와 같은 keyword를 사용하면 됩니다.
- 분정보 : minutes/분
- 일정보 : days
- 주정보 : weeks
- 월정보 : months
count는 데이터의 개수인데, 최대 값은 400개입니다.
400개 이상을 받기 위해서는 최근에 받은 정보의 일자 정보를 to 부분에 추가해서 이어 받기를 하여야 합니다. 하지만 받은 정보가 원하는 to 일자 보다 더 최근 정보를 주기 때문에 중복된 부분은 제거하는 부분이 필요합니다.
아래 api는 2019-10-31일까지 일봉 데이터를 받는 방법입니다.
https://crix-api-endpoint.upbit.com/v1/crix/candles/days?code=CRIX.UPBIT.KRW-EOS&count=100&to=2019-11-01 00:00:00
다음에는 일봉/1분봉 데이터를 기반으로 정액투자법의 수익률을 계산하는 파이썬 프로그램을 소개하겠습니다.
참고로 steem 1분 데이터 2019-01-01부터 오늘까지 자료를 뽑아보니 약 8M 정도 되는군요.