시스템 02호2018. 1. 18. 22:40

 

 

 

 

 

'시스템 02호' 카테고리의 다른 글

2018.01.22 - 시스템 02호  (0) 2018.01.22
2018.01.19 - 시스템 02호  (0) 2018.01.20
2018.01.17 - 시스템 02호  (0) 2018.01.17
2018.01.16 - 시스템 02호  (0) 2018.01.16
2018.01.15 - 시스템 02호  (0) 2018.01.15
Posted by 투자의神
시스템 01호2018. 1. 18. 22:30

 

 

 

 

 

'시스템 01호' 카테고리의 다른 글

2018.01.22 - 시스템 01호  (0) 2018.01.22
2018.01.19 - 시스템 01호  (0) 2018.01.20
2018.01.17 - 시스템 01호  (0) 2018.01.17
2018.01.16 - 시스템 01호  (0) 2018.01.16
2018.01.15 - 시스템 01호  (0) 2018.01.15
Posted by 투자의神
암호통화 API2018. 1. 17. 11:30

 

 

가상통화(가상화폐, 가상증표, 전자통화, 이하 가상통화로 통일) 를 대상으로 알고리즘 자동매매 시스템을 구축하기 위해 기존의 알고리즘과 별도의 알고리즘에 대한 검증 작업을 하려다보니 많은 종목의 많은 데이터를 확보하는 것이 중요하다고 판단하여 어쩌다보니 중국 상해(상하이)에 위치한 바이낸스(Binance)의 API를 다뤄보게 되었습니다.

 

 

국내의 가상통화 거래소도 있는데 굳이 해외 거래소의 API를 다뤄보게 된 조금 더 상세한 이유는 다음과 같습니다.

 

- 국내의 경우 서버 과부하를 이유로 조회 제한이 심한 상태이다.

 

- 국내의 경우 상장된 종목의 수가 대체로 적다.

 

- (추후 다뤄볼 예정인) 업비트의 경우 상장된 종목이 100여종목이 넘고 API 도메인은 있지만 현재까지는 공식적으로 지원하지 않고 있다.

 

- 바이낸스의 경우 API 조회제한이 분당 1200회로 빗썸과 동일하다 (빗썸은 초당 20회로 제한)지만 빗썸 서버는 트래픽 폭주로 다운되는 경우가 잦아 안정적인 시세의 확보가 불가능하다.

 

- 이른바 김치 프리미엄(김프)으로 인해 글로벌 시세와 이격이 상당하고 단기 조정권의 투매 흐름이 나타날시 글로벌 시세와의 이격이 더욱 현격하게 벌어진다.

 

 

현재 업비트, 고팍스, 빗썸 등에서 시세를 수신하여 데이터베이스에 저장하고 있기는 하지만 조회제한, 안정성 문제 등의 이유로 인해 바이낸스의 API를 다뤄보게 되었습니다.

 

 

바이낸스가 중국 업체이긴하나 한글 웹페이지를 서비스하고 있기 때문에 한국의 사이트와 비슷한 정도의 편의성으로 이용할 수 있다고 봅니다.

 

 

다만, 해외 업체이기 때문에 본인 확인시에는 국내의 주민등록증, 운전면허증으로는 되지 않고 오로지 여권(Passport)으로만 가능합니다.

 

 

필자는 여행을 좋아하기에 여권을 보유하고 있는덕에 쉽게 본인 인증을 받을 수 있었습니다.

 

 

이외 API 를 신청하고 API Key와 Secret Key를 발급 받는 과정을 국내와 대동소이 하므로 생략합니다.

 

 

빗썸의 경우에는 샘플 코드를 제공하지만 바이낸스는 자체적으로 제공하는 샘플 코드는 찾아볼 수 없고 대신 GitHub(깃)을 통해 다양한 샘플 코드들이 공개되고 있으니 참고하면 됩니다.

 

 

 

▲ 제공되는 여러 모듈들에 대한 정보입니다.

 

▲ 시세 조회는 rest-api 를 이용하게 될 것입니다.

 

 

시세 조회를 함에 있어서 바이낸스 서버에 부하를 가하면 안되기 때문에 바이낸스 측에서는 각 api 별로 조회제한을 설정 해두었는데 어느정도의 제한 설정이 되어 있는지는 아래의 링크를 클릭하여 exchangeinfo.json 파일을 다운로드 받아 확인할 수 있습니다.

 

 

JSON 파일이라고는 하지만 메모장 등의 텍스트 에디터로 확인할 수 있는 형식의 문서이니 시작부터 겁 먹을 이유는 없습니다.

 

 

 

▲ 필자는 기존에 다운로드 받아 별도로 저장해둔 exchangeinfo.json 파일이 있기 때문에 exchangeinfo2.json 으로 이름을 변경하여 저장하였습니다.

 

▲ 보시다시피 메모장에서 해당 파일을 열어볼 수 있습니다.

 

▲ 다만 줄바꿈이 되어 있지 않다보니 가독성이 좋지 않아 별도로 파싱(Parsing)과정이 필요합니다.

 

 

 

▲ 보기 쉽게 별도로 정렬 한 모습입니다.

 

▲ 분당 조회 요청 제한 횟수, 초당 주문 제한 횟수, 1일간 주문 제한 횟수 정보를 먼저 볼 수 있습니다.

 

▲ 위 이미지는 ETH to BTC의 거래로써 심볼은 ETHBTC입니다.

 

▲ baseAsset 는 ETH (이더리움)으로, 거래 종목 코드라고 보시면 됩니다.

 

▲ 이외에도 수신받을 수 있는 데이터의 자릿수, 주문 가능 유형, 최소 가격, 최대 가격, 최소 틱 크기, 최소 주문 수량, 최대 주문수량 등의 기본 정보가 상세하게 제공되고 있습니다.

 

 

위 내용중 제일 중요한것을 꼽자면 단연 rateLimitType 입니다.

 

 

앞서 각 API별로 조회 제한을 두고 있다고 말씀 드렸는데요.

 

 

만약 이 조회 제한을 어기고 서버에 부하를 주게 되면 최소 몇시간에서 최대 3일 동안 조회 요청에 대해 서버측에서 거부를 하기 때문에 이런 치명적인 상황을 만들지 않도록 잘 계산하여 반복 조회를 실행하기 바랍니다.

 

 

참고로 필자의 경우에는 바이낸스에 상장되어 있는 200개 이상의 전 종목의 데이터를 수신하기 위해 1분당 5회만 조회 하도록 해두었다가 현재는 바이낸스 API를 사용하지 않고 있는데 그 이유는 마지막에 적겠습니다.

 

 

아래의 링크를 클릭하면 24hr.json 파일을 다운로드 할 수 있으며 역시 메모장 등의 텍스트 편집기로 열어볼 수 있습니다.

https://api.binance.com/api/v1/ticker/24hr

 

 

 

▲ 24hr.json 파일을 메모장으로 열어본 모습입니다.

 

▲ 역시나 가독성 따위는 고려하지 않은 출력 화면을 볼 수 있는데 그 이유는 json 파일은 컴퓨터끼리의 통신을 위한 것이지 각 사용자가 편리하게 열람하라고 만들어 둔 것이 아니기 때문입니다.

 

 

 

▲ 어떤 내용인지 살펴보기 위해 가독성을 높이려고 정리 해봤습니다.

 

▲ 앞서 조회 해보았던과 동일한 종목인 ETHBTC의 체결 데이터입니다.

 

▲ 가격변화(대비), 등락율, 평균 체결가, 직전 체결가, 직전 체결 수량, 매수가격, 매수수량, 매도가격, 매도수량, 시가, 고가, 저가, 시가시각(Unix TimeStamp), 종가시각(Unix TimeStamp), 체결건수 등의 정보를 제공하고 있습니다.

 

 

체결 데이터에 대한 상세한 내용을 보여주고 있습니다.

 

 

결국 앞서 포스팅했던 빗썸, 고팍스 API와 크게 다르지 않고 사용하기 어렵지 않게 데이터를 제공하고 있습니다.

 

 

JSON 파일을 수신받아 필요한 데이터는 파일이나 데이터베이스에 저장 하거나 연산을 할 수도 있고 rest-api.md 이외의 다른 api를 이용하여 주문을 하는 등의 행위에 대해 처리할 수 있습니다.

 

 

이상으로 바이낸스 api를 다뤄보았으며 추가 내용은 뭔가 생각나거나 아니면 독자분들의 별도 요청이 있을때 진행할 예정입니다.

 

 

끝으로, 바이낸스 API를 다뤄보았지만 사용하지 않고 있는 이유를 말씀 드리겠습니다.

 

 

지금까지 다뤄본 많은 거래소의 API들이 필자에게 익숙한 증권사의 API와 기본 구조가 다른데 결정적으로 누락될 수 있는 데이터가 있기 때문에 정밀한 시뮬레이션을 통한 로직 검증에는 다소 무리가 있으며 이정도 규모의 데이터라면 이미 시세 데이터를 수신받고 있는 업비트와 크게 다르지 않기 때문에 중복으로 저장할 이유가 없다고 판단되었습니다.

 

 

증권사의 실시간 체결 데이터는 사용자가 별도로 요청하지 않아도 개장전 실시간 체결 데이터 요청을 해두면 장중 발생한 모든 체결 데이터를 사용자에게 전송 해주지만 가상통화 거래소의 실시간 체결 데이터는 매번 사용자가 요청해야 되고 조회 요청 제한을 두고 있기에 중간에 값이 누락될 여지가 존재합니다.

 

 

어느 시장에서 어떤 데이터를 받아 거래를 하는지는 사실 큰 의미는 없습니다.

 

 

일시적이지 않고 꾸준히 수익을 낼 수 있는 로직을 보유하여 알고리즘 자동매매 시스템을 구축할 수 있느냐가 최대 관건이지 누락없는 데이터를 아무리 잘 제공한다 하더라도 수익 로직을 가지지 못하면 의미가 없으니 말입니다.

 

 

이상으로 "바이낸스 API 다뤄보기 #1" 마칩니다.

 

 

향후 필자가 주로 사용하게 될 거래소가 어디일지 또 어떤 API를 사용하게 될지에 대한 것은 확정된 것이 없는 상황입니다.

 

 

새로운 거래소와 API를 찾을수도 있고 기존에 다뤄본 거래소와 API가 될수도 있습니다.

 

 

호가창에서 뵙겠습니다.

 

 

Posted by 투자의神
시스템 성과 합산2018. 1. 15. 17:40

 

 

 

 

개점 휴업.

 

 

블로그에 공개하고 있는 1~9호의 시스템들은 하나같이 옵션 만기일(동시 만기일도 포함)만 지나고 나면 거래가 없고 어느 구멍에 숨었는지 잘 보이질 않을 정도라 그야말로 개점 휴업 상태인 것 같습니다.

 

 

물론 거래야 '알고리즘 자동매매 시스템'이 알아서 할 일이고 필자는 전혀 관여치 않으니 알아서 잘 할거라 믿어 의심치 않습니다.

 

 

오늘은 날씨가 좋아 낚시를 가고 싶었지만 점심 약속도 있고 이메일로 연락 주신 독자분께도 연락드리기로 되어 있던터라 낚시는 가지 못했지만 실내 테라스에서 독서도 하고 휴식도 취할 수 있어서 기분이 좋은 하루를 보낼 수 있었는데 독자님들은 즐거운 하루 보내셨는지요?

 

 

 

▲ 위탁 받은 내용중 일부를 공개하기로 하였기에 공개합니다.

 

▲ 아직까지 수익이 크지는 않지만 눈덩이처럼 불어나서 위탁을 의뢰한 독자분께 기쁨이 되었으면 좋겠습니다.

 

▲ 여러 부분을 가렸지만 실현손익과 누적실현손익은 그대로 두었습니다.

 

▲ 매매 내역은 자칫 로직을 유추할 수도 있기 때문에 제외하였으나 필요시 증권사에서 직접 출력받고 증권사 직인이 찍힌 자료를 오프라인상에서 열람하게 해드릴 수 있습니다.

 

 

내일과 모레는 낚시를 갑니다.

 

 

그리고 목요일부터는 한 며칠간 올 겨울 마지막 여행 일정으로 자리를 비우게 되므로 사무실 방문 계획이 있는분은 참고 하세요.

http://systemtraders.tistory.com/notice/481 )

 

 

남은 시간도 평안하길 바라며 호가창에서 뵙겠습니다.

 

 

 

Posted by 투자의神
시스템 성과 합산2018. 1. 12. 17:50

 

 

 

 

옵션 만기일이 지나도 시장 흐름이 제법 살아 있는 모습이었지만 1월물 옵션이 소멸하고 새로운 2월물 역시 월물초에는 시간 가치가 너무 높게 형성되어 있기 때문에 대부분의 알고리즘 자동매매 시스템이 거래 없이 쉬었고 일부 거래에 참여한 시스템은 손실로 마감했습니다.

 

 

현재 수준의 프리미엄(시간가치)이라면 다음주 월요일에도 별 거래가 없을 것으로 예상 됩니다.

 

 

올해 1월 첫째주에는 56,577,788원 수익이 발생하였고 두번째인 이번주에는 42,967,370원 손실이 발생하여 올해 누적 손익은 13,610,418원 수익으로 순항중입니다.

 

 

9거래일 손익치고는 적은셈이지만 그래도 수익임에 시장과, 메이저와, 호구님들께 감사합니다.

 

 

위탁 계좌는 거래가 없었기에 캡쳐를 생략하겠습니다.

 

 

거래가 없는 경우도 있기에 1~9호 이외의 시스템들을 공개하더라도 그리 많이 손이 가지는 않을 것 같아 내용을 정리중에 있고 조만간 더 공개할 예정이니 많은 기대 바랍니다.

 

 

 

▲ 2018년 01월 11일 주식시장 마감 무렵의 가상통화(가상화폐) 시세 전광판의 모습입니다.

 

 

 

▲ 2018년 01월 12일 주식시장 마감 무렵의 가상통화(가상화폐) 시세 전광판의 모습입니다.

 

 

법무부와 청와대에서 발표한 내용으로 가상통화 시장이 참 재미있게 돌아갑니다.

 

 

자세한 내용은 가상통화 게시판에 별도로 작성하겠습니다.

 

 

남은 시간도 평안하길 바라며 호가창에서 뵙겠습니다.

 

 

Posted by 투자의神
시스템 09호2018. 1. 12. 17:40

 

 

 

 

 

'시스템 09호' 카테고리의 다른 글

2018.01.16 - 시스템 09호  (0) 2018.01.16
2018.01.15 - 시스템 09호  (0) 2018.01.15
2018.01.11 - 시스템 09호  (0) 2018.01.11
2018.01.10 - 시스템 09호  (0) 2018.01.10
2018.01.09 - 시스템 09호  (0) 2018.01.09
Posted by 투자의神
시스템 08호2018. 1. 12. 17:30

 

 

 

 

 

'시스템 08호' 카테고리의 다른 글

2018.01.16 - 시스템 08호  (0) 2018.01.16
2018.01.15 - 시스템 08호  (0) 2018.01.15
2018.01.11 - 시스템 08호  (0) 2018.01.11
2018.01.10 - 시스템 08호  (0) 2018.01.10
2018.01.09 - 시스템 08호  (0) 2018.01.09
Posted by 투자의神
시스템 07호2018. 1. 12. 17:20

 

 

 

 

 

'시스템 07호' 카테고리의 다른 글

2018.01.16 - 시스템 07호  (0) 2018.01.16
2018.01.15 - 시스템 07호  (0) 2018.01.15
2018.01.11 - 시스템 07호  (0) 2018.01.11
2018.01.10 - 시스템 07호  (0) 2018.01.10
2018.01.09 - 시스템 07호  (0) 2018.01.09
Posted by 투자의神
시스템 06호2018. 1. 12. 17:10

 

 

 

 

 

'시스템 06호' 카테고리의 다른 글

2018.01.16 - 시스템 06호  (0) 2018.01.16
2018.01.15 - 시스템 06호  (0) 2018.01.15
2018.01.11 - 시스템 06호  (0) 2018.01.11
2018.01.10 - 시스템 06호  (0) 2018.01.10
2018.01.09 - 시스템 06호  (0) 2018.01.09
Posted by 투자의神
시스템 05호2018. 1. 12. 17:00

 

 

 

 

 

'시스템 05호' 카테고리의 다른 글

2018.01.16 - 시스템 05호  (0) 2018.01.16
2018.01.15 - 시스템 05호  (0) 2018.01.15
2018.01.11 - 시스템 05호  (0) 2018.01.11
2018.01.10 - 시스템 05호  (0) 2018.01.10
2018.01.09 - 시스템 05호  (0) 2018.01.09
Posted by 투자의神