[SMTM 개발일기] 1. 파이썬으로 가상화폐 자동매매 시스템을 만들어보자 만들기 2019.11.06 23:18

T.Viewer에 이어서 개발 일기를 한 더 쓰게 되었다. 사실상 두개의 프로젝트가 동시 진행되게 되었다. 둘다 하고 싶은걸 어뜩해~ 당장 급한일도 아니니까 재미와 산출물의 퀄리티를 최우선으로 생각하면서 차분히 진행해 보려한다.

T.Viewer는 목표가 크로스 플랫폼 로그 뷰어를 만드는 것이었고, 기술스택은 정해지지 않은채 진행이 되었다. (지금은 Electron + Vue) 하지만, 이번 SMTM프로젝트는 파이썬으로 데이터를 좀 주무르고, 혼자서 일을 할 수 있는 시스템을 만들어 보고 싶었던 것이 목표였다. 그 목표에 적당한 내용을 찾다보니 가상화폐 자동매매 시스템을 생각하게 되었다. 하나는 결과 중심, 다른 하나는 과정을 중심으로 프로젝트가 시작되었다고 볼 수 있다. 나는 정말 팔자 좋은 개발자인것 같다. 이런걸 다 해볼 수 있다니...후후.

SMTM 기획안

이 프로젝트를 위해서 퀀트 인공지능 투자가라는 책을 읽었다. 독후감 결국 내가 하려는 것도 그것이다. 퀀트. 스스로 거래를 진행하여 나에게 돈을 벌어다 주는 시스템을 만들어 보는 것이다.

잘 할 수 있을지 없을지는 오롯이 나에게 달려있다. 나의 알고리즘에 달려있다. 알고리즘으로 돈을 벌 수 있다는 사실만으로도 넘 재미있는 것 같다. 푼돈이라도.ㅎ 모든것은 데이터화 되어서 명명백백히 원인이 밝혀지는 아주 깔끔한 승부의 세계라서 더욱 마음에 든다.

이 프로젝트는 크게 세가지 부분으로 구분된다.

  1. 시뮬레이터 - 시뮬레이터는 가장 중요한 모듈이다. 잘 만들어 두면, 모의 투자 게임도 할 수 있고, 대결도 할 수 있을 것 같다.
  2. 거래 알고리즘 - 살지 말지, 얼마에 얼마나 살지 결정하는 알고리즘이다.
  3. 실제 거래 모듈 - 실제 거래소에서 알고리즘이 작동할 수 있게 해주는 모듈이다.

위의 3가지 모듈을 한번에 완성하는 것이 아니라, 반복적으로 작업을 해서 고도화하고 최적화하는 과정을 거치려 한다.

개발 과정에서 반영하고 싶은 몇가지 방향이 있다면,

  1. 시각적으로 유용한 기능 제공
  2. 웹을 등을 통한 접근이 편리한 인터페이스 제공
  3. 안정된 시스템을 위한 꼼꼼한 테스트 정도가 있을 것 같다. 쉽지 않을 것 같으면서도, 그래서 더 재미있을 것 같다!

개발 환경

일단 파이썬과 쥬피터 노트북으로 개발하고, 인터페이스도 일단 쥬피터 노트북으로 하자. 추후 Push를 위해 텔레그램 봇등을 붙이게 될지는 모르지만, 일단은...

마치며

오늘은 시작을 알리는 글만 쓰고 마친다. 사실 올해 초부터 계획된 프로젝트인데, 이제서야 시작하게 되었다. 과연...제대로 끝 마칠 수 있을까?ㅋㅋㅋ