파이썬 주식 자동매매 github - paisseon jusig jadongmaemae github

개발 환경

  • Anaconda Python 3.5+ x86

Setup

키움증권 환경 설치

  • Kiwoom Open API 설치
  • MS Visual C++ 2010 x86 설치 (mfc100.dll 에러 해결)
  • MS Visual C++ 2012 x86 설치
  • KOA Studio 실행

크레온 환경 설치

conda install -c anaconda python=3.8.2
conda install -c anaconda pywin32
pip install django
pip install pywinauto

pywinauto가 3.7.6, 3.8.1 등의 버전에서는 동작하지 않으므로 3.7.4, 3.8.0, 3.8.2 등 사용

문서

키움증권

  • 파이썬을 이용한 자동 주식투자 시스템 개발 튜토리얼 - 키움증권편
  • http://blog.quantylab.com/systrading.html

대신증권 크레온

  • 대신증권 크레온(Creon) API를 사용하여 파이썬에서 주식 차트 데이터 받아오기
  • 대신증권 크레온(Creon) HTS 브리지 서버 만들기 (Flask 편)
  • 대신증권 크레온(Creon) HTS 브리지 서버 만들기 (Django 편)
  • 대신증권 크레온 API로 실시간 주가 데이터 받기

Windows Scheduler

  • 리부팅: C:\Windows\System32\shutdown.exe /r

AutoKStock

키움증권의 Open API를 이용한 자동 기술적 매매 프로그램

Auto + Korean + Stock = AutoKStock

Main Language & API

Language

  • Python 3.8

API & Library

  • 키움증권 Open API
  • Telegram Bot API
  • Pandas

매수/매도 전략 Strategy

매수/매도 전략

파이썬 주식 자동매매 github - paisseon jusig jadongmaemae github

매수 기준

5분 이동평균선이 20분 이동평균선을 뚫고 위로 올라갈 때 1매수호가로 지정값 매수 및 3분간 매도 금지

매도 기준

1분전에 5분 이동평균선이 20분이동평균선 밑으로 내려 갔을 때 매도 or 현재가가 20분 이동평균선으로 밑으로 내려갈 때 매도
(이동평균선 기준 : 실시간 값 + 과거 N분의 값 평균)

조건

매수/매도가 체결된 시간에는 동일 종목에 한하여 매수/매도 금지
이동평균선 기준 : 실시간 값 + 과거 N분의 값 평균

매수/매도 전략 변경 이력

Ver 0.00
Ver 0.01
Ver 0.10
Ver 0.20
Ver 0.30
Ver 0.31

개발일지

2021-03-24
2021-03-29
2021-03-30
2021-04-07

    • Actions

      Automate any workflow

    • Packages

      Host and manage packages

    • Security

      Find and fix vulnerabilities

    • Codespaces

      Instant dev environments

    • Copilot

      Write better code with AI

    • Code review

      Manage code changes

    • Issues

      Plan and track work

    • Discussions

      Collaborate outside of code

    • Explore
    • All features
    • Documentation
    • GitHub Skills
    • Blog

    • By Plan
    • Enterprise
    • Teams
    • Compare all
    • By Solution
    • CI/CD & Automation
    • DevOps
    • DevSecOps
    • Case Studies
    • Customer Stories
    • Resources

    • GitHub Sponsors

      Fund open source developers

    • The ReadME Project

      GitHub community articles

    • Repositories
    • Topics
    • Trending
    • Collections

  • Pricing

Kiwoom-ATS

Auto Trading System using Kiwoom Open API

개요

키움 Open API+ 를 사용하여 타점 기반 자동거래를 제공하는 프로그램입니다.

매매 패턴

파이썬 주식 자동매매 github - paisseon jusig jadongmaemae github

매수 매도 타점

  • 빨강: 매수 타점
  • 파랑: 매도 타점

타점 별 설명

각 타점은 B(Buy)와 S(Sell)로 구분됩니다. B1, B2는 매수타점이고 S1, S2, S3, S4, S5는 매도타점입니다.

다양한 매매패턴

  • B1매수 -> S1매도 (가장 좋음. 무조건 수익)
  • B1매수 -> B2매수 -> S3매도 -> S2 매도 (추가매수 후, 매도. 약간 수익 남)
  • B1매수 -> B2매수 -> S3매도 -> S4 매도 (추가매수 후, 본전탈출)
  • B1매수 -> B2매수 -> S5매도 (추가매수 후, 손절)

프로그램 사용방법

엑셀

엑셀을 통해서 자동거래 하고자 하는 종목을 입력합니다.

엑셀파일 위치

resources/config/config_stock.xlsx

입력 방법

종목명 칸은 입력하지 않아도 됩니다. 종목명 칸을 제외한 나머지 부분은 무조건 채워넣으셔야 합니다.

B1의 가격, 종목수 칸에는 각각 B1타점의 가격과 B1타점에서 매수할 종목 개수를 입력하시면 됩니다. 또, S1의 가격, 종목수 칸에는 각각 S1타점의 가격과 S1 타점에서 매수할 종목 개수를 입력하시면 됩니다.

입력 예

위와 같이 입력한다면, 아래와 같은 매매 패턴으로 자동거래가 진행됩니다.

파이썬 주식 자동매매 github - paisseon jusig jadongmaemae github

설정

엑셀파일에서 setting 시트에서 설정 변경 가능합니다.

최대 거래 가능 종목 수는 한번에 거래가 진행될 수 있는 종목의 개수를 의미합니다. 거래가 진행된 다는 것은 'B1 타점에 도달하여 해당 종목이 매수되었을 때'를 의미합니다. 따라서 입력가능한 종목 개수와는 관계가 없습니다.

거래하고자 하는 계좌번호를 입력해야 합니다.

설치 및 실행

  • 키움 open API+가 설치되어 있어야 합니다.

  • 파이썬이 32bit 환경에서 작동해야 합니다.

  • PyQt5가 설치되어 있어야 합니다.

실행은 run.bat 파일을 참고해 주세요.