오늘은 주식 투자 자동화를 위한 '개발 환경설정'을 들어갈 겁니다. 먼저 지난 시간에 말씀드린 크레온 API를 활용하기 위해서 크레온 Home Trading System, HTS를 설치하고 주식 투자 자동화에 사용되는 파이썬 및 모듈들을 설치하고 세팅해볼 겁니다.
그리고 직접 파이썬을 이용해서 크레온 API를 바탕으로 주식 시장의 종목 정보들을 불러오는 것까지 해보겠습니다.
대신증권 크레온 비대면 계좌 개설
먼저 크레온 계좌가 없으신 분들을 위해 '비대면 계좌개설 방법'에 관한 이전 포스팅이 있습니다. 비대면 계좌 개설은 직접 영업점에 방문하지 않아도 되고, 큰 어려움 없이 학생도 쉽게 할 수 있는 정도라서 금방 하실 수 있을 겁니다. 계좌개설을 아직 안하셨다면, 하단 포스팅을 참고해주시길 바랍니다.
+ 대신증권 / 대신증권 크레온은 서로 다른 증권사로 취급하셔야 됩니다. 따라서 대신증권 계좌가 있더라도 크레온 계좌는 별도로 개설하셔야 됩니다.
참고로 증권사 API는 '윈도우 환경' 에서만 동작이 가능합니다. 맥북을 쓰시거나 다른 운영체제를 사용하시는 분들은 가상 윈도우 환경을 구성할 수 있는 Vmware(가상윈도우 환경)나 AWS라는 클라우드 서비스를 활용해서 윈도우 서버를 한 대 빌리시고 이 과정을 똑같이 진행하시면 됩니다. 저 같은 경우에는 Vmware를 평소에 많이 다뤄와서 추후 Vmware를 이용하여 여러 대를 돌려볼 겁니다.
대신증권 크레온 시스템 트레이딩 신청
크레온 계좌와 윈도우 환경이 준비가 다 되셨다면 이제 크레온 API를 사용할 수 있도록 설정을 해주겠습니다.
설치 후 실행해 보시면 이런 화면이 뜹니다. 여기서 상단의 creon plus를 클릭한 한 후 여기에 로그인을 줍니다. 그러면 뭔가 다운로드와 업데이트가 되면서 CreonPlus 라는 것이 생기고 실행이 됩니다.
그리고 우측 하단에 이렇게 생긴 CreonPlus Start라는 아이콘이 있을 겁니다. 이를 마우스로 우클릭 하셔서 주문 오브젝트 사용 동의 설정을 해주시고, 주문 내역 확인 설정에서 주문 내역 확인 체크를 해제해 주시고 확인을 누르시면 됩니다.
만약 주문내역 확인이 체크되어 있다면 거래가 발생할 때마다 계속 확인해줘야 되기 대문에 자동매매가 힘들어집니다.
파이썬 3.8.6 - 32bit 설치 및 환경설정
다음으로 API 사용을 위한 파이썬을 설치해보겠습니다. 버전은 3.8버전 32bit를 사용할 겁니다. 이미 파이썬을 설치하신 분들이라도 버전은 조금 차이가 있어도 상관없지만, bit는 64bit를 사용하시는 분들이라면 크레온 API를 사용할 수 없기 때문에 32bit 버전을 다시 한 번 설치하시길 바랍니다.
우리는 자동화 매매 프로그램이 성공적으로 잘 돌아가던 버전인, 3.8.6 버전을 이용해보겠습니다. 독자분들은 하단의 파일을 그대로 다운받아주시면 됩니다. 3개의 파일을 동일한 장소에 다운받으시고, vol1.egg만 압축을 풀어주셔서 python-3.8.6 응용프로그램을 실행해주시면 됩니다.
파일을 열면 이런 화면이 뜨게 됩니다. 여기서 반드시 Add Python 3.8 to PATH를 체크하고 설치를 해줘야 됩니다.
Customize installation을 눌러줍니다. 모두 체크, 다음 Options도 모두 체크합니다.
설치경로를 설정하기 위해서 Browse를 눌러서 '내컴퓨터 > C 드라이브'로 이동해서 새 폴더를 하나 만듭니다. 이름은 'python38-32' (따옴표 빼고) 으로 지어줍니다. 확인한 후 install을 눌러 설치합니다.
설치가 다 되었으면 제어판으로 들어가서 '시스템 및 보안 > 시스템 > 고급 시스템 설정' 으로 들어가서 '환경 변수'를 클릭합니다.
여기서 시스템 변수의 path 에서 편집을 눌러줍니다. 여러가지 환경 변수들이 뜨는데, 우리는 파이썬 3.8 버전을 사용하기 때문에 사진과 같이 3.8 버전 두 개를 위로 올려줍니다. 확인, 확인, 확인을 눌러서 적용해줍니다.
윈도우 키를 눌러서 cmd(명령 프롬프트)를 입력하여 명령프롬프트 창을 엽니다. 여기서 python을 입력하시면 이런 식으로 파이썬 3.8.6 32bit가 정상적으로 실행되는 것을 확인할 수 있습니다.
크레온 API를 사용하기 위해서는 반드시 파이썬을 '관리자 권한으로 실행' 해야됩니다. 자동으로 실행이 될 수 있도록 파이썬 3.8 버전을 설치한 경로인 C 드라이브로 이동해서 Python.exe 파일을 마우스 우클릭 한 후 '속성 > 호환' 탭에서 '관리자 권한으로 이 프로그램 실행'을 체크해주고 확인을 눌러줍니다. 마찬가지로 pythonw.exe 파일도 동일하게 설정해줍니다.
이제 c 드라이브로 돌아와서 프로젝트에 사용할 폴더를 하나 만듭니다. 마우스 우클릭, stockauto 라는 이름을 가진 새 폴더를 만듭니다.
Visual Studio Code 다운로드 및 환경설정
이제 코드를 다룰 수 있는 프로그램인 Visual Studio Code를 다운로드 할 겁니다. 구글에 VScode라고 검색을 해서 제일 상단에 있는 사이트로 접속합니다.
그리고 Download for Windows를 클릭하여 다운로드 합니다. 별도의 설정없이 그대로 다음을 눌러서 설치를 완료합니다.
Visual Studio Code를 '관리자 권한으로 실행'합니다. 앞으로도 반드시 관리자 권한으로 실행해주어야 됩니다.
좌측 상단의 'File > Open Folder'를 누르고 아까 만들었던 stockauto 폴더를 열어줍니다. 그렇게 해서 우리는 VScode를 이용해서 우리가 작업할 폴더인 stockauto라는 폴더로 들어오게 되었습니다.
그리고 'Terminal-New Terminal'을 눌러서 Terminal을 열어줍니다. 이때 강의를 똑같이 따라오기 위해서는 이곳이 cmd로 설정이 되어 있어야 되는데, PowerShell 등 다른 걸로 되어 있다면 Select Default Shell을 누르고 Command Prompt를 누른 후 +를 누르면 cmd가 생성됩니다.
이제 API 사용을 위해 필요한 라이브러리를 설치해보겠습니다. VScode에
pip install pywinauto
를 입력합니다.
그리고 우리가 작업할 파이썬 파일을 만들어 주겠습니다. New file 버튼을 눌러서 test.py 라는 파일을 만들어 줍니다.
그러면 여러 경고 메시지가 뜨는데, 모두 설치해주고 Python Interperter를 선택해줍니다. 좌측 하단에 Python 3.8.6 32-bit 라고 뜨면 정상적으로 된 겁니다.
그리고 Creon Plus가 잘 실행되고 있는지 재차 확인합니다. 그러면 이제 모든 환경설정이 끝났고 본격적으로 코드를 작성해보겠습니다.
주식 종목 정보 자동으로 불러오기
사실 코드를 처음부터 한 줄 한 줄 치는 것은 정말 비효율적인 짓입니다. 인터넷상에는 이미 누가 만들어놓은 아주 잘 되어 있는 코드가 많기 때문에 그거를 그대로 가져와서 내가 쓰고자 하는 목적에 맞게 변형하는 것이 훨씬 빠르고 효율적으로 코딩을 할 수 있습니다.
크레온 API로 접속 (www.creontrade.com)하시면 크레온 플러스에 대한 설명과 함께 자료실에 API 사용을 위한 각종 자료들이 올라와있습니다. 파이썬으로 선택을 해보면 다양한 예제 코드가 올라와 있습니다.
가장 첫 번째 페이지에 있는 종목 정보를 구하는 예제로 들어가줍니다. 이 코드를 그대로 복사해서 우리가 생성한 test.py 안에 붙여넣습니다. 그리고 Ctrl+S를 눌러 저장을 해줍니다.
이제 Terminal 창에
python test.py
를 입력해보시면 파이썬 파일이 실행됩니다. 파이썬 코드가 실행되면서 이렇게 종목 정보를 크레온 API를 통해 자동으로 가져온 것을 확인할 수 있습니다.
그러면 이로써 파이썬을 이용해 크레온 API가 정상적으로 동작하는 것을 확인할 수 있었습니다. 지금 이것만 아무 문제 없이 성공하셨다면 아주 잘하신 겁니다. 여기까지 확인이 전부 다 되셔야만 다음 시간에 잘 따라오실 수 있습니다.
만약 여기까지 안되시는 분이 있다면 댓글로 질문 남겨주시면 최대한 도와드리겠습니다.
우측 하단에 있는 '꿀벌의 주식 블로그 구독' 버튼을 눌러주시면 주식 투자 자동화 포스팅을 포함하여 주식 관련 포스팅 업데이트 알림을 바로 받으실 수 있습니다.
pip 오류모음
1. 재부팅 먼저 시도
2. pip은 내부 또는 외부 명령, 실행할 수 있는 프로그램 문제 = 하단 블로그 참고하여 환경변수 설정