[개발이야기] 고팍스 API 사용기[1] : 거래내역 가져오기 성공, 주문은 실패

in #kr6 years ago

고팍스의 캐쉬백 수수료 덕분에 시스템트레이딩에 대한 관심이 생겼다. 보통 시스템 트레이딩은 슬리피지를 극복하기가 어렵다. 슬리피지란 시스템 트레이딩시에 고려하여야할 비용 개념이다. 수수료는 당연히 포함되어야 하고, 매수시에 매도가에 매수하는 경우, 매도시에 매수가에 매도하여야하는 비용이 포함된다. 대부분의 트레이딩 로직이 이론적으로 우상향을 하지만 슬리피지를 적용하면 그저 그런 전략이 되는 경우가 많다. 그 만큼 슬리피지를 어떻게 극복하느냐가 시스템 트레이딩의 성공여부를 결정할 수 있는 중요한 부분이다. 너무 거창하게 서두를 시작한 경향이 있다. 언젠가 시스템 트레이딩을 한번 해보고 싶다는 의미이다.

내가 자꾸만 고팍스에 관심이 가는 이유는 슬리피지의 첫 번째 문제인 수수료 부분을 해결할 수 있기 때문이다. 그 첫 번째 단계로 고팍스에서 제공하는 API를 검토해 보았다.


고팍스 API를 사용하기 위해서는 우선 계정관리/API키에서 API 키와 secret 값을 받아야 한다. 중요한 값이므로, 잘 보관하고 있어야 한다. 이 두 값을 아래 프로그램에서 사용할 것이다.

다행히 고팍스에서는 API 예제를 github에 올려놓았다.
https://github.com/gopaxapi/gopax

이 중 오늘은 "과거기록조회하기"를 파이썬으로 작업한 내용을 정리하도록 한다.
과거기록조회하기 명령어와 관련된 입력/출력 값을 정리한 문서는 아래와 같다.
https://gopaxapi.github.io/gopax/#d603331cfe

우선 추가 입력 인자 없이 최근 100개의 거래 내역을 가져오는 것으로 시작해보자.
GET /trades

이 명령어의 결과는 아래와 같은 거래내역의 배열로 돌아온다.

{
  "id": <ID>,
  "orderId": <Order ID>,
  "baseAmount": <Base Amount>,   # 거래 수량
  "quoteAmount": <Quote Amount>, #거래수량x 주문가격
  "fee": <Fee>,                  #수수료
  "price": <Price>,              # 주문가격
  "timestamp": <Timestamp>,
  "side": <Side>,
  "tradingPairName": <Trading Pair>
},

예제코드는 너무나도 단순해서 약간의 코드를 추가하였다. 결과를 다루기 쉬운 json으로 변경한 후 필요한 항목만 출력하는 코드를 작성하였다.

    if req.ok:
        HTMLsouceGet(req)
        tradings = req.json()
        for i in range(len(tradings)):  
            print(tradings[i]['id'], tradings[i]['tradingPairName'], tradings[i]['side'], tradings[i]['baseAmount'], tradings[i]['price'], tradings[i]['quoteAmount'], tradings[i]['fee'], tradings[i]['timestamp'])

이 코드의 결과는 아래와 같다.

8705006 EOS-KRW sell 30 16140 484200 -0.0075 05/14/2018 14:36:53
8702663 EOS-KRW sell 10 15975 159750 -0.0025 05/14/2018 14:02:16

이 결과물을 copy/paste하여 엑셀에서 작업을 하면 고팍스에서의 거래내역을 쉽게 정리할 수 있게 될 것이다.


하는 김에 주문까지 해 보았다.
https://github.com/gopaxapi/gopax/tree/master/python3 5번 주문등록하기

그런데 실행시켜보니 invalid signature 에러가 발생한다. 네이버에 찾아보니 같은 질문이 있다. 마지막에 보면 해결했다고 나오는데, 무슨 말인지 잘 모르겠다.
https://www.clien.net/service/board/cm_vcoin/11758193

혹시 gopax의 API로 주문 성공해 보신 분 계시면 답신 부탁합니다.

Sort:  

You received 6 % upvote as a reward From round 3 on 2018.05.14! Congrats!

와웅~ 저에게는 미지의 영역인데 시간이 나면 저도 한 번 해보고 싶은 분야네요. ^^;

재미있는 분야이기는 한데 너무 오래 앉아 있어야 하는 단점이 있습니다.

끊임없이 연구를 하시는군요.
포스팅에 새로운 정보가 올라오는 이유는
바로 아이디어님의 노력 덕분이겠지요^^

그런데 진도가 잘 안나갑니다. 자동으로 매매하는 시스템 만들고 싶은데 말이죠.

자동매매 시스템..
범위설정만 잘 되면 안정적인 수익을 올릴수도 있겠습니다.
바구니를 몇개 만들어서 각자 다른 범주로 돌리더군요.
잘 준비하시길 빕니다.

24시간 돌릴 수 있으니 종목만 잘 고르면 좋은 수익이 나올 것 같기는 합니다. 그런데 고팍스는 거래량이 너무 적어서 모르겠네요.

안녕하세요
암호화폐 거래소 고팍스입니다.
고팍스를 사용해 주셔서 감사합니다.
앞으로도 많은 이용 부탁드립니다.
감사합니다.
고팍스 드림

찾아주셔서 감사합니다. gopax가 발전하기를 진심으로 바라고 있습니다. 제공해주시는 API로 작업 중인데, 오류가 나거나 동작하지 않는 경우가 있습니다. 어디로 질문을 하면 될지요? github에 올려도 아무도 안 보는 것 같습니다.

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 64507.66
ETH 3080.07
USDT 1.00
SBD 3.85