ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 가상화폐 트레이딩 봇 만드는 방법은?
    암호화폐 2017. 10. 22. 06:00

    코인원 http://www.coinone.co.kr

    가상화폐에 관심 있는 분들이 많습니다. 최근 들어 거래량도 급격하게 상승하고 있고, 많은 자금이 몰려들어오고 있습니다. 그러면서 자연스럽게 트레이딩에도 관심을 가지고 있는 분들이 많습니다. 특히 요즘 뜨겁게 달아 오르고 있는 봇에 대한 관심이 커지고 있습니다.


    관련링크

    2017/10/05 - 가상화폐 시장규모 점점 커지고 있는데...


    자세한 내용은 아니지만 대략적인 설명으로 누구나 봇을 만들 수 있다는 희망을 전달하고 싶은 마음에서 글을 작성하게 됐습니다. 



    자동매매하는 '봇' 누구나 만들 수 있습니다.

    먼저 프로그래밍을 가장 쉽고 빠르게 배울 수 있는 파이썬 언어를 이용해서 봇을 만드는 것입니다. 여기서 이야기하는 봇이란 사람의 눈과 손을 대신해서 컴퓨터가 사람이 짜놓은 전략을 바탕으로 컴퓨터가 알아서 매매를 하는 방식을 말합니다.


    저도 개발 언어에 관심이 많았지만, 가볍게 배운 적도 없고, 프로그램 도대체 어떻게 만들어야 하는 지 감을 잡지 못하고 있었습니다. 그러나 가장 빠르게 배울 수 있다는 점에서 희망을 얻어 꾸준히 공부했습니다. 그리고 지금은 나름 규모 있는 금액을 바탕으로 봇을 운영 중에 있습니다.


    코인원을 대표적으로 보면, API Documentation을 제공하고 있습니다. 여기서 말하는 API는 프로그래밍 언어로 코인원 서버와 보다 빠른 속도로 접근할 수 있고, API를 바탕으로 또 다른 서비스를 만들어 낼 수 있습니다.


    즉, 자신이 가지고 있는 어떠한 아이디어나, 나에게 필요한 프로그램이 있다면 무엇이든지 만들어낼 수 있습니다. 만약에 자동으로 거래하는 봇을 만들고 싶다면, 그런 프로그램도 만들 수 있는 것입니다.


    다시 말해서 API Documentation은 서버와 어떤 식으로 호출과 응답을 주고 받을 수 있는 지에 대한 방법에 대해서 예제와 함께 설명해주는 페이지입니다. 코인원 뿐만아니라 다른 가상화폐 거래소들도 대부분 이런 API를 제공하고 있습니다.


    그래도 어렵다... 누가 코딩 해놓은 건 없을까?


    https://github.com/ 오픈소스 라이브러리

    여전히 프로그램을 개발하기에 정말 막막하고 어떤 식으로 시작해야 할지 감이 안 잡힐 수 있습니다. 당연한 이야기입니다. 저도 그랬으니까요.


    하지만 아직 포기하기 이릅니다. 위 캡처 화면을 보면 알 수 있듯이 이미 누군가 개발해 놓은 플랫폼들이 상당 수 존재하고 있습니다. 단순하게 'coinone'을 검색했는데 개발 언어로 사용된 JavaScript, python, Java, C#과 같은 다양한 언어로 개발돼 있는 것을 알 수 있습니다.


    쉽고 빠르게 배울 수 있는 파이썬 언어를 이용한다면 아무래도 빠르게 봇을 만들 수 있을 것입니다. 가장 많이 사용되고 있는 JavaScript 언어 다음으로 파이썬이 많이 사용되고 있으니까요. 여담이지만 파이썬 언어 하나를 배우게 되면  JavaScript와 같은 다른 언어를 배우는데 더 빠른 속도가 생깁니다.


    기본 개념을 잡기 위해서는 파이썬 만한 개발 언어는 없는 것 같습니다. 그리고 다시 본론으로 돌아와 github 홈페이지에서 캡처한 화면을 보고 있는데요. 여기서 코인원에서 사용할 수 있는 모듈을 공개적으로 만들어서 올려 놓은 것을 참고로 해서 다시 나만의 프로그램으로 작성할 수 있습니다.


    나만의 프로그램? 도대체 어떤 의미?

    coinone-api-wrapper

    가장 평점을 많이 받고 사용되고 있는 'coinone-api-wrapper'입니다. 예를 들어서 쉽게 설명해보겠습니다. 매수 주문을 넣는 코딩이 필요하다고 가정했을 때로 가정해보겠습니다. 이미 누군가 코딩을 한 소스가 없다면 본인이 일일이 코딩을 해야겠죠. 


    그러나 누군가 코딩을 해 놓은 오픈소스가 지금처럼 존재한다면 그 코드를 가져와서 매수 주문을 넣을 수 있는 코딩을 복사 붙이기 할 수 있습니다. 그래서 '내가 어떤 타이밍에 매수 주문을 넣어야겠다.'라는 내용은 본인이 직접 입력해서 만든다면, 타이밍에 대한 내용은 직접 작성하고 매수 주문을 넣는 코드는 이미 작성돼 있는 코드를 가져와서 쓸 수 있기 때문에 코딩을 하는데 훨씬 작업 속도가 빠르고, 효율적으로 만들 수 있습니다.


    이러한 거래 봇에 대한 관심 있는 분이 많거나, 적극적으로 공부하고 싶은 분이 있다면, 지속적으로 포스팅할 계획입니다. 아무튼 대략적인 내용은 이 정도 입니다. 


    정리하자면, 이미 나와 있는 오픈소스를 바탕으로 매수, 매도, 취소 주문과 같은 기본적인 기능은 가져다 쓰고, 나만의 기술적 방식으로 매매를 하는 방법은 직접 작성을 통해서 쉽게 프로그램을 만들 수 있습니다. 여유가 된다면 다음 시간에 조금 더 구체적으로 봇을 만드는 방법에 대해서 알아 볼까 합니다.


    관련글


Designed by Tistory.