콘텐츠로 건너뛰기
Home » 시스템 트레이딩 with 파이썬(Python) 정보 모음

시스템 트레이딩 with 파이썬(Python) 정보 모음

시스템 트레이딩이란?

일반적인 주식 거래는 PC나 모바일로 장내 시간에 사람이 수동으로 매수/매도를 하는 방식입니다. 하지만 이 거래의 단점은 바쁜 직장인이나 사업가가 매수/매도 시점을 놓치거나 주식 거래를 하기 위해 모니터나 모바일 화면을 지속적으로 들여다 봐야 합니다.

또한 수동 매매는 “사람의 감정” 에 휘둘리기 쉽습니다. 주식을 매매해본 경험이 있는 대다수의 사람들이 좀더 오르길 기대하다가 갑자기 주가가 급락하는 상황에 맞딱트려서 매매를 제대로 하지 못한 경험이 있을 것입니다.

이런 단점을 보완하기 위해서 “시스템” 을 이용해 주식 거래를 자동으로 하는 방식이 생겨났습니다. 시스템을 통해 주식 매매를 하기 때문에 “시스템 트레이딩(System trading)” 이라고 부릅니다.

시스템 트레이딩은 그래서 엄청난 장점을 지닙니다. 주식 거래를 “컴퓨터” 에게 맡기기 때문에 내가 스스로 모니터나 스마트폰 화면을 수시로 들여다 보면서 거래를 하지 않아도 됩니다. 거래를 오직 내가 짠 “알고리즘” 의 의해 원칙대로 매매를 하게 됩니다.

컴퓨터가 대신 매매를 해주기 때문에 감정에 휘둘리지 않습니다. 따라서 수익을 보든 손실을 보든 일정한 규칙과 타이밍에 매매를 하게 되므로 위험 회피에 유리합니다.

물론 시스템 트레이딩이 장점만 있는 것은 아닙니다. 트레이딩 알고리즘을 개발하는거 자체가 쉬운 일은 아닙니다. 개발자의 실수나 버그로 인해서 매매를 망칠수도 있습니다. 그리고 수익이 나는 알고리즘을 개발한다는 보장도 없습니다.

하지만 바쁜 일생 생활을 보내는 저같은 사람들은 “시스템 트레이딩”은 굉장히 매력적인 도구임에는 틀림없습니다. 시스템 트레이딩을 구축하여 매일 같이 수익을 내는 사람들도 존재합니다. 또한 주식 매매는 컴퓨터에 맡겨놓고 장이 열리는 평상시에는 자신만의 일을 할 수 있기 때문에 꽤 각광을 받고 있습니다.

시스템 트레이딩은 어떻게 만들까?

그렇다면 시스템 트레이딩은 어떻게 구현 및 구축을 할 수 있을까요? 생각보다 그리 어렵지 않습니다. 이미 국내 증권사에는 시스템 트레이딩 구축을 도와주는 “API” 를 제공하고 있습니다.

이 API 들을 “Open API” 라고 부릅니다.

  • 키움증권 Open API+
  • 대신증권 Creon Plus API (모바일 Android/iOS API 제공)
  • 이베스트 투자증권 xingAPI (모바일 Android/iOS API 제공)
  • 유안타증권 Open API
  • NH투자증권 QV Open API
  • 하나금융투자 API
  • 한국투자증권 eFriend Export Open API (모바일 API 제공)

국내에서는 대략 위의 증권사들이 고객들을 위해 Open API를 제공하고 있는 중입니다. 이 API를 이용하여 Windows MFC나 파이썬 등으로 고객들이 마음껏 매매를 할 수 있게 해줍니다.

따라서 국내 증권사 API로 시스템 트레이딩을 구축하려면 MFC(C++) 이나 파이썬 같은 언어를 필수적으로 알아야 합니다. 바로 이 부분에서 일반 유저들의 접근이 꽤나 어려운데요, 그나마 “파이썬”을 사용하게 되면 좀더 쉽게 시스템 트레이딩 구축이 가능해집니다.

파이썬을 이용하여 주가 정보나 매매 API를 호출하면 내가 원하는 시점에 매수/매도가 가능해집니다. 따라서 “매매 알고리즘”을 잘 짜기만 하면 수익이 나는 시스템을 구축할 수 있게 됩니다.

시스템 트레이딩 개발 참고 정보

현재 국내에서도 “시스템 트레이딩”은 활발하게 개발되고 구축이 되고 있습니다. 특히 “파이썬”을 이용한 시스템 트레이딩 구축은 다른 언어에 비해서 좀더 난이도가 쉽고 편리한 점이 있습니다.

그래서 당신이 시스템 트레이딩을 해보고 싶다면 “파이썬”을 배워두길 추천드립니다. 아무래도 파이썬을 다뤄봤거나 프로그래밍을 해본 개발자 들이 유리한 측면은 있습니다. 그럼에도 이미 수많은 사람들이 파이썬을 배우고 프로그래밍을 하면서 시스템 트레이딩으로 컴퓨터에게 매매를 맡기고 있습니다.

파이썬 강좌 정보

아래 링크를 참고하기 바랍니다.

대표적인 온라인 파이썬 강좌 입니다. 이 외에도 파이썬은 검색해 보면 수많은 강좌들이 즐비합니다. 이 외에 “유튜브” 에서도 수많은 파이썬 강좌들이 있으니 자신의 입맛에 맡게 고르면 되겠습니다. 기타 온라인 상에는 쓸만한 유료 동영상 강의들이 비일비재 합니다.

Do it! 점프 투 파이썬:이미 200만명이 이 책으로 프로그래밍을 시작했다!, 이지스퍼블리싱혼자 공부하는 파이썬:1:1 과외하듯 배우는 프로그래밍 자습서, 한빛미디어모두의 파이썬:20일 만에 배우는 프로그래밍 기초, 길벗

서적을 보는게 좋다면 서적을 사서 보는 것도 좋습니다. 점프 투 파이썬의 경우에는 시중에 서적으로 출시가 되어 있습니다. 그런데 온라인 강의를 봤을때 다소 어렵다고 판단이 되면 “모두의 파이썬” 이란 책을 보면 좀더 쉽게 이해할 수 있습니다. 당신이 파이썬이나 프로그래밍 초보자라면 “모두의 파이썬” 이란 책을 추천드립니다.

시스템 트레이딩 개발 및 강좌 정보

국내에는 시스템 트레이딩이 많이 활성화가 된 건 아니지만 구축 하려는 개발자나 일반인들이 꽤 늘어나고 있습니다.

시스템 트레이딩 관련 강좌에서 가장 많이 언급하는 증권사 API는 “키움증권 OpenAPI” 입니다. 이 외에 대신증권 Cybos plus 와 이베스트 xing API 등으로 시스템 트레이딩을 구축하고 있습니다.

국내에서 이 분야에 대표적인 강좌는 “조대표” 님의 파이썬 트레이딩 강좌입니다. 위 링크가 해당이 되며 각 증권 API 사용 예제서부터 파이썬 문법, GUI 구성, 알고리즘 예제 등등 시스템 트레이딩을 구축하는데 필요한 기본적인 지식을 제공해주고 있습니다.

저자 조대표님의 유튜브와 서적도 있으니 참고하셔도 될거 같습니다.

(서점추천) 파이썬 증권 데이터 분석 + 파이썬으로 배우는 알고리즘 트레이딩 (전2권), 한빛미디어

또한 국내에서 시스템 트레이딩 관련 카페가 있습니다. 위 서적의 저자 조대표님의 “파이스탁” 이라는 네이버 카페 입니다.

위 카페에는 시스템 트레이딩 개발 관련 정보와 질의 응답 정보가 있습니다. 파이썬과 증권사 API로 시스템 트레이딩 정보를 추가로 얻고 싶다면 위 카페에 가입하여 정보를 얻을 수 있습니다.

저는 키움증권 Open API를 통해 시스템 트레이딩 구축을 시작하였습니다. 그때 도움이 되었던 책은 “장용준” 저의 “주식 거래 시스템 구축” 이라는 책입니다.

손가락 하나 까딱하지 않는 주식 거래 시스템 구축:파이썬을 이용한 데이터 수집과 차트 분석 매매 자동화까지, 위키북스

이 책도 키움증권 API + 파이썬으로 시스템 구축에 도움이 됩니다. 참고하시기 바랍니다.

어느 증권사 API를 사용하는게 좋을까?

시스템 트레이딩을 구축하기 위해서는 반드시 증권사 API 서비스 신청을 해야 가능합니다. API 사용 신청을 하지 않으면 증권사 API를 사용할 수 없기 때문에 꼭 필요한 절차라고 볼 수 있습니다.

그렇다면 어느 증권사 API를 사용해야 할까요? 일단은 증권사 API 간에 비교를 해보는게 좋습니다.

증권사 API 를 사용하여 거래를 하는 것도 일반 HTS나 MTS 와 같은 수수료와 세금을 지불해야 합니다. 비교할 점은 바로 “수수료” 인데요, 수수료가 저렴한 증권사가 아무래도 유리할 거 같습니다.

또 고려해야 할점은 시스템 트레이딩을 구축하는데에 정보가 충분한가? 입니다. 국내에서 주로 사용하는 증권사는 키움증권, 대신증권, 이베스트 투자증권으로 시스템 트레이딩을 구축하고 있습니다.

이 중에서 자신의 취향에 맞는 증권사를 선택하면 됩니다. 저 같은 경우는 “키움증권” 을 이용하고 있습니다. 각 증권사 API 마다 특징이 조금씩 다르지만 키움증권을 선택했던 이유는 “관련 자료”가 풍부해서 입니다.

키움증권의 Open API 신청 및 사용 과정

네이버 카페 “파이스탁” 에서 가장 먼저 가이드 되고 개발이 시작된 증권사 API가 키움증권입니다. 저도 그런 이유 때문에 키움증권 API 를 이용하여 개발을 시작했던 거 같습니다.

물론 키움증권 API 가 더 낫다 라고는 할 수 없습니다. 키움증권 API의 단점이 있기 때문에 그 외에 자료가 풍부한 대신증권, 이베스트 증권의 API도 검토해볼 필요가 있습니다.

네이버 카페 “파이스탁” 혹은 조대표님의 온라인 강좌에 보면 대신증권과 이베스트 증권 API 를 이용하여 시스템 트레이딩을 구축한 예제가 있습니다. 따라서 키움증권 뿐만 아니라 대신증권, 이베스트 증권 API 를 이용하여 개발이 가능하니 충분히 비교 검토한 후에 판단해도 됩니다.

키움증권 Open API 로 시작을 하고 싶으시다면 제가 구축했던 진행 과정에 대한 글이 있습니다.

위 글을 읽어보시면 키움증권 API 로 시스템 트레이딩을 구축하는데 도움이 될 것입니다.

이후에 할일은?

파이썬에 어느정도 익숙해 졌고 증권사 API 를 파이썬으로 호출하여 기본적인 매매가 가능해졌다면 이후에는 본인만의 “알고리즘” 으로 수익이 나는 시스템을 차근차근 만들어 가는 과정을 거쳐야 합니다.

사실 시스템 트레이딩을 개발하는 것은 결코 쉽지 않은 일입니다. 또한 수익이 나는 시스템을 만들기까지 많은 시간이 소요될 수 있습니다.

하지만 시스템 트레이딩은 위에서도 언급했듯이 분명한 장점이 있습니다. 내 감정에 휘둘리지 않고 내가 만들어 놓은 원리 원칙에 따라 매매를 하기 때문에 빠른 리스크 관리가 가능해집니다. 또한 복잡한 알고리즘이 아니더라도 간단한 원리원칙만으로 수익이 날 수 있는 시스템을 충분히 만들 수 있습니다.

따라서 안정적인 매매 수익에 관심이 있다면 “시스템 트레이딩”을 충분히 고려해볼만합니다.

다만 차근차근 시간을 두고 충분히 테스트와 검증에 많은 시간을 투자해야 될 수 있습니다. 다소 어렵고 지루하며 생산성이 떨어질 수 있는 일이 될 수 있습니다.

그렇지만 시행 착오를 겪으며 안정적인 수익을 내는 시스템을 개발했을때 그 결과물은 당신에게 큰 선물을 선사할지 모릅니다. 직장을 다니면서 혹은 사업을 하더라도 좀더 편한 마음으로 일상 생활에 임하면서 여유로운 삶을 살게 될 수 있을 것입니다.

이후에 저도 시스템 트레이딩 관련 글을 지속적으로 올려볼 예정입니다. 괜찮은 수익이 나는 시스템을 만들어서 이글을 보는 모든 분들이 “부자” 가 되시길 기원해 봅니다.

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”

답글 남기기

이메일 주소는 공개되지 않습니다.