본문 바로가기
주식 trading coding skill(기술지표, 자동매수, 퀀트)

대신증권 주식 자동매수 프로그램을 PC에서 자동으로 실행되게 만들기

by 호빵님 2022. 3. 27.
반응형

대신증권의 API가 파이썬 코드로 주식 자동매수하기가 좋아서, 대신증권으로 주식자동매수 프로그램을 진행하기로 했다.

먼저 가상 머신 PC 환경을 만들어야 한다. 아래 내가 적은 블로그 글대로 한다.
https://skillmemory.tistory.com/entry/AWS%EB%A1%9C-%EA%B0%80%EC%83%81-PC-%EC%84%9C%EB%B2%84-%EB%A7%8C%EB%93%A4%EA%B8%B0

AWS로 가상 PC 서버 만들기

컴퓨터에서 계속 실행되어야 하는 프로그램을 구동하기 위해서는, 로컬 컴퓨터를 계속 몇날 몇일 켜놓는 것은 매우 비효율적이다. 전기세, 소음, 언제 누가 끌지 모르는 불안감... 나는 주식이나

skillmemory.tistory.com


https://skillmemory.tistory.com/entry/%EA%B0%80%EC%83%81-PC-%EC%84%9C%EB%B2%84-window%EC%97%90%EC%84%9C-OS-%EC%8B%9C%EA%B0%84-%EB%B0%8F-%EC%96%B8%EC%96%B4-%EC%84%A4%EC%A0%95

가상 PC 서버 window에서 OS 시간 및 언어 설정

기본적으로 AWS 서버 PC는 영문판 OS에 시간설정도 한국에 맞지 않게 설치된다. 그래서 결국 한국 주식 시간에 맞게 변경하고, windows언어도 한국어로 바꿔 주는 것이 좋다. 언어를 한국어로 바꿔주

skillmemory.tistory.com

가상 PC 에 대신증권 CREON 설치



Windows OS를 사용하는 AWS 가상 PC머신의 경우에, 원격 데스크톱 연결에 해당 가상PC의 ip를 입력해서 접속하면 된다.

가상 PC에 접속

가상PC에 대신증권의 CREON plus를 설치한다.
CREON은 일반적인 HTS이고, CREON plus는 API용 프로그램이다.
로컬과 가상PC 두 곳에 설치해 놓고, 동시에 같은 ID로 HTS로그인을 시도하면, 아래와 같은 에러 메시지가 나온다.
가상 PC에서 자동매수 프로그램을 계속 하루종일 실행하게 하려면, 그 동안은 로컬 PC에서 로그인을 시도하면 안된다.

동일 ID로 로그인시 기존 접속이 해제됨


CREON plus를 설치하면, windows오른쪽 아래에 아래와 같은 아이콘 + 가 나타난다.

이 아이콘을 오른쪽 클릭해서 나오는 메뉴에서, '주문 오브젝트 사용 동의'를 하고, 주문내역 확인 설정을 클릭한다.
API로 매수매도를 하도록 동의하는 것이다.

CREON plus 주문 설정

매수 매도 주문을 할때마다, 주문 확인을 하는 추가적인 메시지가 나오는 것은, 프로그램의 원활한 사용에 방해가 되기 때문에, 주문내역 확인 체크를 해제하여, 더이상 나오지 않게 한다.

주문내역 확인 체크 해제


'주문 오브젝트 사용 동의'를 하지 않으면, 아래와 같은 에러 메시지가 뜬다.

주문 오브젝트 에러


주식 자동매수 프로그램 매일 자동 시작되게 하기


작업스케줄러에서 매일 오전 8시 30분에 Creon login을 하는 프로그램을 실행하도록 설정한다.

작업 스케줄러 설정
크레온 로그인 프로그램 실행시

크레온 로그인 프로그램 보안옵션 설정
크레온 로그인 프로그램 트리거 설정
크레온 로그인 프로그램 트리거설정 매일


동작 설정의 편집에서, 프로그램/스크립트는 내 PC에 설치된 python.exe 위치로 설정한다.
인수 추가를 크레온 로그인 프로그램 (여기서는 AutoConnect.py)로 입력하고, 시작위치는 이 python code가 있는 폴더 위치로 설정한다.

크레온 로그인 프로그램 동작 속성


이제 로그인을 하고난 후에, 실재로 주식 자동매수를 진행할 프로그램을 자동 실행하기 위한 설정을 진행한다.

작업 스케줄러 자동매수 프로그램 보안 옵션
작업 스케줄러 자동매수 프로그램 트리거 설정
작업 스케줄러 자동매수 프로그램 동작 속성

내가 구현한 자동매수 버전을 폴더내에 여러개 만들어 놓고, 상황에 따라서 실행할 코드를 인수 추가에 입력한다.

내 폴더 안
주식 자동매수 프로그램 코드

CREON 프로그램은 32bit프로그램이기 때문에, 자동 매수 프로그램에 사용할
python도 32bit용 python을 설치하고 이것을 프로그램 실행시 사용하도록한다.

python 32bit 설치
32bit python 실행 파일 위치
python.exe file을 관리자 권한으로 실행되게 설정


시스템 속성의 환경변수내 Path변수에 위 python설치 경로를 입력한다.

python path 환경변수 설정


주식 자동 매수 프로그램을 시작하면, 아래 화면과 같이 현재 주문가능금액, 내가 매수하기로 설정한 주식들의 매수 타겟가격, 매수가 되었을 때의 관련 정보들이 출력된다.

자동매수 프로그램 시작 화면

저렴하게 사용가능한 가상PC머신들은 메모리 사용이 제약적이다. 코드에서 RAM사용량을 최적화하고, 다른 필요없는 프로그램과 창들을 닫아 놓아야, 주식 자동매수 프로그램이 RAM메모리 부족으로 꺼지지 않고 계속 안정적으로 동작할 수 있다.

가상 PC 메모리 사용량


반응형