자동거래

마지막 업데이트: 2022년 7월 13일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
백테스팅 캡쳐

주식 자동 거래 시스템 구축 후기

나만의 수익 머신이 되었으면 하는 바램으로 시작하긴 했지만, 아주 편한 마음으로 코딩을 했습니다.

오늘이 딱 1주일째인데, 그동안 남는 시간에 이 프로젝트에만 매달려서 주식 트레이딩, 간단한 백테스팅까지 구현했습니다. 이번 포스팅에서는 제가 주식 거래 봇을 만든 방법, 어려웠던 점을 간단히 적어보려고 합니다.

1. 주식 거래 봇 만든 방법

저는 책을 보고 만들었는데요, "파이썬과 리액트를 활용한 주식 자동 거래 시스템 구축"이라는 책을 먼저 보고, WikiDoc에서 무료로 볼 수 있는 "파이썬으로 배우는 알고리즘 트레이딩"을 참고했습니다.

두 책 모두 이베스트 투자증권사의 xingAPI를 사용자동거래 방법을 알려줘서 저도 xingAPI를 사용해서 봇을 만들었습니다.

첫 번째 책이 진짜 주식 매매 프로그램을 만들 때 필요한 핵심적인 내용만 담고 있어서, 사실 이 책 하나만 봐도 핵심 기능은 다 구현할 수 있습니다.

그냥 책보고 ☛ 코드짜고 ☛ 실행 하고 ☛ 성공하면 OK, 에러 나면 고치기

현업에 계신 전문가가 짠 코드기 때문에 굉장히 알아보기 쉽고, 뭐 file path 에러나 Module 에러 제외하고는 난 에러도 거의 없습니다.

깃헙에 소스코드가 공개되어 있기 때문에, 제가 타이핑하다가 난 실수는 금방금방 체크가 가능했습니다.

『파이썬과 리액트를 활용한 주식 자동 시스템』 예제 코드. Contribute to wikibook/stock-trading development by creating an account on GitHub.

2. 어려웠던 점

일단 제가 주식에 대해서 아무것도 모른다는 점이 코딩할 때 제일 힘들었습니다.

저는 이번에 주식시장이 열리고 닫힐 때만 사고팔 수 있다는 걸 처음 알았습니다. 그래서 초반에 xingAPI를 사용해서 주식을 사고 파는 기능까지 구현하고 test 할 때, 알 수 없는 에러 메시지가 계속 났습니다.

가격을 잘 못 입력했다는 문구만 계속 봐서 짜증 날 때쯤 주식은 정해진 시간에만 사고팔 수 있다는 걸 알게 됐습니다.

이때 진짜 허무했습니다.. 게다가 삽질한 다음날이 총선이어서 이틀 동안 테스트 못해봤습니다ㅠㅠ

그리고 시가, 종가, 호가 유형 등등등 일단 코딩하는 시간보다 그런 용어를 이해하는데 더 오래 걸렸습니다.

아니 주식이 어렵다고 생각은 했는데 트레이드 알고리즘 짜기 전에 일단 용어부터 너무 어려워서 많이 헤맸습니다.

특히 위랑 똑같은데, 테스트할 때 호가 유형에서 삽질 많이 했습니다..

또 주식 전략을 아무것도 모르는 사람은 괜찮은 트레이드 알고리즘을 짜기 어렵습니다.

저는 주식의 트레이드 전략, 공식 이런 걸 하나도 모릅니다. 그냥 싸게 사서 조금 얹어서 팔면 되지 않나라는 가벼운 생각으로 뛰어들었는데 만만치 않았습니다.

뭐 하나 참고할만한 코드라도 있었으면 좋겠는데, 제가 참고한 책에서는 "내가 선택한 종목을 보유하고 있지 않으면 매수, 종목을 보유하고 있으면 매도"라는 정말 간단한 알고리즘만 적혀있었습니다.

이런 트레이딩 코드 자체가 자신만의 전략이기 때문에, 공개하면 제로섬 게임이 되어버리기 때문에 아무도 공개하지 않고 그냥 말로만 대충 이런 전략을 썼어~라고 얘기하더라고요.

전략도 모르고 이론도 모르는 데다 인터넷에서 이런 전략을 썼어~라고 얘기해줘도 용어를 이해 못해서ㅠ 저만의 트레이딩 알고리즘을 짜는데 큰 난관에 부딪혔습니다.

백테스팅 캡쳐

위는 제가 짠 트레이딩 코드를 백테스팅한 결과인데요, 그냥 저가에 사고 고가에 파는 굉장히 간단한 코드를 짜고 30초에 한번, 총 30분 동안 트레이딩 하도록 해봤는데 30분동안 매 수만 하고 매도를 못했습니다.

파는 가격을 너무 고점으로 잡아서 생긴 문제인 것 같습니다.

맨 처음에는 사기만 하고 팔리지가 않는 알고리즘을 짜서ㅋㅋ 30분 백테스팅에 -200,000원 손해 보기도 했습니다.

그것보단 낫지만, 여기서 더 고쳐나가야 하는데 그 방향을 어떻게 잡아야 할지 , 아직은 막막합니다. '

제가 참고한 책에는 퀀트 전략 중 NCAV나 신마법공식에 대해서 간단하게 이론과 정말 간단한 코드 몇 줄로 알려주긴 하는데요, 이론을 공부해서 코드를 짜려면 조금 걸릴 것 자동거래 같습니다.

또 개발하면서 어려웠던 점은 이베스트의 xingAPI를 사용하다 에러가 나면 그 해결방법을 찾기가 어렵다는 점이었습니다. 사실 개발하다 보면 사소한 것도 에러가 잘 나는데, 보통은 구글링 하면 10에 8은 그 해결방법을 아주 잘 알려주는데, xingAPI는 한국인 중에서도 굉장히 소수의 사람만 사용하기 때문에ㅠ 에러 해결방법이 잘 안 나와있습니다.

그리고 xingAPI에서 반환하는 오류코드가 뭘 의미하는 건지 자세히 알려주질 않습니다.

저처럼 주식시장 열리는 시간 몰라서 헤매도, 구글에 나와있지 않기 때문에, 겁나 헤맬 수도 있다는 점 꼭 참고하세요.

진짜 시스템 트레이딩은 함부로 뛰어들면 안 되는 분야인 것 같습니다.

주식에 대해서 안다 or 자동거래 자동거래 프로그래밍을 할 줄 안다 둘 중에 하나라도 해당되지 않으면, 어렵습니다.

일단 제가 위에서 참고했다는 두 개의 책만 해도, 코딩에 대해서는 불친절합니다. 특히 첫 번째 책은 프로그래밍 문법은 아예 다루지 않기 때문에, 저도 처음 보는 건 파이썬 프로그래밍 책을 뒤져가면서 코딩했습니다.

정말 인내심이 있어야 하고, 바로 수익이 났으면 하는 마음으로 시작하면 오래가지 않을 거라는 말을 꼭 해드리고 싶습니다.

대면 강의가 시작하면 주식을 아는 학생과 스터디를 구성해서 트레이딩 알고리즘을 좀 짜 볼 계획이었는데요,

학교가 아예 1학기 전면 온라인을 선언해버려서, 계획이 물거품이 되었습니다.

바로 그제 부산에서 추가 확진자가 나와서 걱정이 이만저만이 아닙니다..

같은 관심사를 가진 지인이 있다는 게 정말 축복받은 거란 걸 요새 깨닫고 있는데요,

해커톤도 없고, 공모전도 없고, 취업 각도 안 서고, 한동안은 주식 분석+트레이딩 알고리즘 구현에 매진하려고 합니다.

어느정도 이론도 공부하고 간단하게 구현했을 때 관련 포스팅으로 돌아오도록 하겠습니다.

그리고 아래는 제가 막 자동거래 검색하다가 알게 된 유튜브 동영상인데요.

현업에 종사하고 계신 트레이더 분께서 코딩을 할줄 알고, 금융을 모르는 사람이 100개의 로직을 짰다고 하면 거기서 수익이 날 로직이 좋게 말해서 한두개라고 말씀하시는데요, 하루에 한개씩 짠다고 해도 100일은 걸립니다..

혼자서 만드는 가상화폐 자동거래 시스템

이 책을 통해 시스템을 구성하는데 필요로 하는 기본적인 요소들을 익힐 수 있도록 하는게 목표이다.

Linux 관련, Git, Gitlab, 자동거래 REST API, MongoDB, Slack, Celery, Redis, Flask, AngualrJS, ReactJS, Ionic, Nginx, Supervisord등을 다 사용하여 전체 프로젝트를 완성할 것이다.

각 키워드만 해도 다 책 한 권씩 쓸 수 있을 정도로 매우 많은 내용이 있다. 현실적으로 필자 직업이 글을 쓰면서 먹고 사는 직업이 아니라 처음부터 상세하게 쓸 수는 없을 듯 하지만 지속적으로 보완하면서 책을 완성해가고자 한다. 우선은 이 프로젝트를 진행해보면서 가볍게 사용해본 뒤에 실전에서 필요한 부분이 생기면 그때 깊게 고민하고, 공부해서 자기 것으로 만들었으면 하는 바람이다.

그리고 여러 기술스택위에서 시스템 아키텍쳐를 어떻게 가져갈지 한번 고민해볼 수 있는 시간이 되었으면 한다.

덤으로 부가수익까지 올릴 수 있다면 금상첨화.

현재 필자는 5개월정도 운영하고 있는데 40%(실제 수익은 40%이나 자동 트레이딩으로 얻은 수익은 35%정도 이다.) 정도의 수익을 낸 상황이다. 현재 운영하고 있는 방식도 공개할 것이다.

굉장히 설명이 빈약할 수 있다. 글을 쓰는 작업이 익숙하지 않은 점도 있지만, 주어진 시간도 많지 않아 우선 전체 목차를 1차적으로 완성한 이후에 내용을 추가적으로 보충할 예정이다. 혹시 여기 목차중에 자세히 알고 싶은 부분에 대한 요청이 있으면 우선적으로 작성할 수 있도록 하겠다. 개인 이메일은 [email protected]이다 모든 진행 과정은 아래 gitlab에 공개하도록 하겠다. 소스는 책이 써가면서 자동거래 해당 내용을 틈틈히 update하도록 하겠다. https://gitlab.com/hyunny88/auto-trading.git

책을 한번 읽다보면 알겠지만. 투자이든 투기든. 코인으로 돈벌려는 목적보다는 자기만의 시스템을 구축하는데 초점이 맞춰져서 진행된다. 자동거래도 충분히 손해를 볼 수 있다는 점 인지하길 바란다.

파이썬을 이용한 비트코인 자동매매 (개정판)

이 책은 최근 인기 있는 프로그래밍 언어인 파이썬을 사용하여 국내 3대 거래소(코빗, 빗썸, 업비트) 및 국외 거래소(바이넨스)에서 비트코인을 자동매매하는 프로그램을 개발하는 방법을 다룹니다. 프로그래밍 경험이 없는 일반인을 대상으로 파이썬 기초 문법부터 시작하여 24시간 실시간 자동 매매 프로그램 개발까지 핵심을 다루고 있습니다.

특히 LARRY WILLIAMS의 변동성 돌파 전략을 백테스팅을 통해 검증하고, 국내 거래소 API를 사용해서 실시간 자동 매매가 가능한 프로그램 수준까지 개발합니다. 또한, 자동거래 GUI 프로그램 개발에 사용되는 PYQT와 최근 다양한 분야에서 사용되고 있는 웹 스크래핑을 다루고 있어 파이썬을 처음 배우는 분들이 유익하고 재미있게 프로그래밍을 배울 수 있도록 합니다. 책에서 설명하는 모든 프로젝트의 소스 코드를 제공합니다.
※ 책에서 사용한 소스 코드는 Github에서 다운로드 받을 수 있습니다.
Github

관련 무료 영상

관련 유료 강의

안녕하세요. PyQt 기초부터 따라가고 있는 학생입니다. ch03/03_25.py 전체코드에 ui파일 불러오는 코드가 누락된 것 같아서 댓글 남깁니다. # ch03/03_25.py from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5 import uic form_class = uic.loadUiType("window_03_25.ui")[0] # 이 라인이 누락되었다고 생각합니다. class MyWindow(QMainWindow, .

score = 84 if 100 > score >= 90: print("A") elif 90 > score >= 80: print("B") elif 80 > score >= 70: print("C") elif 70 > score >= 60: print("D") elif 60 > score >= 50: print("E") else: print("F")

@열무님 아뇨 메모장에서 작성하고 1)다른이름으로 저장 2)저장할때 파일형식을 텍스트파일(*.txt) 말고 모든파일(*.*)로 저장하면 됩니다 3)불러온 파일을 열 때는 작성한 파일 우클릭 4)연결 프로그램(H) 5)다른 앱 선택 후 메모장을 찾아 선택하시면 됩니다

1번. 남들과 똑같음 2번. worldcup = 1998 while True: worldcup = worldcup + 4 if worldcup == 2050: break print(worldcup)

질문이 있습니다. 아래의 경우 타입관련에러가 나오는데 잘 모르겠습니다. score = 84 A = score >= 90 and score <= 100 B = score >= 80 and score <= 89 C = score >= 70 and score <= 79 D = .

1. num1 = 10 num2 = 30 if num1 > num2: print(num1) elif num1 < num2: print(num2) else: print("두 수가 같음")

이후에 가격이 추가된다는 관점에서 조금 다르게 작성해봤습니다. 밑 댓글보니 close.value()로 바로 불러오시는걸로 계산하던데, 위에선 객체 타입만 불러와진다고 써져있어서요. list 함수 추가해서 만들어봤습니다. xrp_price = <> xrp_price["20/21"] = 800 xrp_price["20/22"] = 900 xrp_price["20/23"] = 950 xrp_price["20/24"] = 970 xrp_price["20/24"] = 980 .

거래소 자동 거래 봇

거래소용 자동거래봇을 이용하여 공간에서 최고와 경쟁하고 Coinrule. 코딩이 필요하지 않습니다.

Coinrule 암호화 대시 보드

기술 크런치 포브스 Y Combinator 사업 내부자 야후 금융

사용자 피드백 Coinrule 자동 거래 도구

암호화폐 자동화 트레이더 로봇

Coinrule 고급 거래 봇을 사용하여 거래소에서 암호화폐를 사고 팔 수 있습니다. 처음부터 봇 전략을 만들거나 거래소에서 역사적으로 거래된 사전 구축된 규칙을 사용하십시오. 무료로 데모 거래를 실행하여 이러한 전략이 암호화폐 시장에서 어떻게 작용하는지 확인하십시오.

기록 데이터에 대한 테스트 규칙 성능

주문 테스트

코인 전반에 걸쳐 자동화된 규칙 생성

150개 이상의 템플릿 전략 중에서 선택
Coinrule 규칙을 만들 수 있습니다.

거래소에서 안전하게 구매/판매

시장이 90배 이상 뛰었을 때를 기억하십니까? 그 당시 거래소에서 비트코인에 투자하고 싶었습니까? Coinrule 잠자는 동안에도 모든 기회에 뛰어들 수 있습니다! 단 한 번의 기회도 놓치지 않고 이익을 얻고 포트폴리오를 보호하며 시장을 앞서 나가십시오.


0 개 댓글

답장을 남겨주세요