본문 바로가기
11. 수익형 사이트

누구나 쉽게 주식 투자 자동화 - 배경지식 없이 20분만에 똑똑한 국내, 해외 자동매매 시스템 완성

by 블록메타 2022. 12. 27.

한국투자증권 API를 이용한 주식투자 자동화에 대해서 다루어 보겠습니다. 

 

1. 주식투자 자동화 개요

2. 한국투자증권 API 소개

3. 계좌 개설 & 개발 환경 세팅

4. 국내 주식 투자 자동화

5. 해외 주식 투자 자동화

 

1. 주식 투자 자동화 개요

한국투자증권 API를 이용해서 국내/해외, 주식/ETF를 매수,매도를 자동화 하는 부분을 다루어 보겠습니다.  자동 매수/매도 때마다 디스코드에 알림을 주는 부분도 추가하겠습니다. 

 

투자 전략은 래리 윌리암스의 변동성 돌파 전략을 기준으로 진행합니다. 

 

어제의 고가 가장 높은 가격, 저가 가장 낮은 가격의 차이를 변동폭이라고 하는데, 그 변동 폭의 K배만큼 오늘 일정량 이상의 상승이 있었을 때 이거를 가격이 상승하는 돌파 신로로 보고 매수를 해서 그날의 종가에 매도를 하는 전략입니다.  이 전략을 사용하려고 합니다. 

 

이거는 예시일 뿐이고 다른 여러분의 선호하는 전략이 있다면 얼마든지 모드를 수정해서 적용하실 수 있겠습니다. 

 

2. 한국투자증권 API 소개

- 국내 유일 'REST API, Websocket' 방식

  >  프로그램 설치 필요 없음

  > 개발 환경 상관 없음 - 윈도우, 맥, 리눅스 등

 

- 국내 유일 API로 '해외 주식 투자' 가능

  > 통합증거금 이용시 환전도 필요 없음

 

- KIS Developer 상세 가이드라인, 샘플 코드 제공

 

3. 계좌개설 & 개발 환경 세팅 - 비대면 계좌 개설

 

한국투자증권 앱을 다운로드 받은 후 비대면 계좌개설을 먼저 진행해 주세요.

하나의 계좌에서 별도의 환전없이 국내주식,해외주식을 모두 거래하려면 통합증거금 신청이 필요한데요  아래 내용대로 진행해 주세요.

 

해외ETP 거래 신청부분도 필요합니다. 

다음으로 KIS Developer 신청해 주세요. KIS Developer신청하기 위해서는 이메일 주소 등록이 필요합니다. 

이메일 주소를 등록한 다음 https://apiportal.koreainvestment.com/ 으로 들어가셔서 API를 신청하시면 됩니다. 

 

API 신청 버튼을 눌러 줍니다.  스마트폰 인증 로그인을 진행해 주세요.  (스마트폰에서 한국투자앱 > 전체메뉴 > 인증센터 > pc인증) 에서 QR코드를 스캔을 해 주세요. 

 

그리고 서비스 신청을 눌러 줍니다. 

 

약관을 눌러주시고 다음을 눌러 줍니다. 그러면 이런 화면이 나오게 되는데요.  계좌정보를 입력해 주시고 API 그룹에서 모든 체크박스를 체크해 주세요. 

 

다음버튼을 눌러 줍니다.  그러면 신청이 완료되고 App Key, App Secret 값이 발급됩니다.  이 키들은 여러분의 계좌와 연동된 API 조작할 수 있는 키이므로 외부에 유출 되지 않도록 주의를 해 주시고요. 이 키들은 복사하셔서 별도의 메모장이나 다른 기록할 수 있는곳에 잘 보관 해 둡니다. 

 

디스코드 설정

디스코드는 게임을 하거나 커뮤니티를 구성할 때 사용하는 채팅을 할 수 있는 어플리케이션인데요  디스코드는 pc, 웹, 어플리케이션 모두에서 지원하므로 원하시는 기기에서 알림을 받아 보실 수 있습니다. 

 

회원 가입 후 디스코드를 들어가면 나오는 화면입니다.   + 버튼 (서버 추가하기)를 클릭해 주세요.

직접 만들기를 클릭해 주세요.

 

나와 친구들을 위한 서버를 선택해 주세요.

 

서버 이름을 넣어 주시고 만들기 버튼을 클릭해 주세요

 

이제 만들어졌습니다.   #일반 에서 설정아이콘을 클릭하시면 아래 페이지가 표시됩니다. 연동을 클릭해 주세요. 

 

웹후크 만들기를 선택해 주세요.

웹후크 URL복사를 하신후 나중에 소스에 웹후크 url을 입력하시면 됩니다. 

 

 

Python 설치하기

Visual Studio Code 설치하기

 

4. 국내 주식 투자 자동화

소스를 다운로드 해 주세요. 

https://github.com/youtube-jocoding/koreainvestment-autotrade

 

GitHub - youtube-jocoding/koreainvestment-autotrade

Contribute to youtube-jocoding/koreainvestment-autotrade development by creating an account on GitHub.

github.com

 

Visual Studio Code에서 해당 폴더를 열어 주세요.

 

config.yaml 에는  제공 받은 api key와 secret 정보와 계좌번호, Discord webhook url 까지 입력하는 소스입니다. 

 

KoreaStockAutoTrade 국내용 자동매매 코드, UsaStockAutoTrade 해외용 자동매매 코드의 3가지 소스로 이루어져 있습니다. 

 

KoreaStockAutoTrade.py 에서 2개의 라이브러리를 설치해 주세요.

pip install requests
pip install pyyaml

맥에서는 pip3로 인스트로 해 주세요. 

 

KoreaStockAutoTrade.py 실행하시려면 터미널에서 python KoreaStockAutoTrade.py 해 주시거나  Visual Studio Code의 재생(실행) 아이콘을 눌러서 실행할 수 있습니다.  콘솔에 찍힌 내용이 디스코드 콘솔에서도 출력되는 걸 확인할 수 있습니다. 

 

코드 수정시에 KIS Developers API문서 참고하시길 바랍니다. 

 

UsaStockAutoTrade.py 는 해외주식투자는 큰 흐름은 국내주식과 거의 유사한데, 타임존부분은 추가해서 뉴욕 현재 시간을 기준으로 불러오도록 만들었습니다.  미국시장은 크게 3개의 시장으로 나누어져 있습니다. 나스닥 NASD, 뉴욕증권거래소 NYSE, 아멕스 AMEX  에 상장되어 있는지 이런것을 분류해서 각각 다른 리스트에 넣어줘야 동작이 되도록 구현했습니다. 

 

해외, 국내 모두 변동성 돌파 전략으로 구현되어 있습니다. 

 

 

 

Reference 

https://www.youtube.com/watch?v=2Hxfb5HT4kE&t=320s

댓글