AUTO TRADE/[키움증권] Kiwoom Open API
키움증권 Open API 서비스를 활용한 자동 매매 프로그램 제작기
-
지난 포스팅을 통해 설치와 설정하는 방법에 대해 다루었으므로 이번 포스팅에서는 파이썬 내에서 MySQL과 연결하는 방법과 사용방법에 대해 살펴볼 예정이다. 일단 이 MySQL은 앞전에서 다루었던 차트 데이터 조회에 대한 부분이 반드시 선행되어야만 아래의 내용들을 사용할 수 있기 때문에 아직 차트 데이터에 대한 코드 구축이 안 되어 있다면 그 글을 먼저 보고 넘어오도록 하자. 물론 차트 데이터 저장이 아닌 다른 목적으로 이용하고자 하는 경우라면 바로 읽어도 아무런 상관이 없다. 키움증권 Open API 차트 데이터 불러오기 (1) OnReceiveTrData 이벤트 처리하기 지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하..
파이썬 + MySQL, 파이썬으로 연동하기지난 포스팅을 통해 설치와 설정하는 방법에 대해 다루었으므로 이번 포스팅에서는 파이썬 내에서 MySQL과 연결하는 방법과 사용방법에 대해 살펴볼 예정이다. 일단 이 MySQL은 앞전에서 다루었던 차트 데이터 조회에 대한 부분이 반드시 선행되어야만 아래의 내용들을 사용할 수 있기 때문에 아직 차트 데이터에 대한 코드 구축이 안 되어 있다면 그 글을 먼저 보고 넘어오도록 하자. 물론 차트 데이터 저장이 아닌 다른 목적으로 이용하고자 하는 경우라면 바로 읽어도 아무런 상관이 없다. 키움증권 Open API 차트 데이터 불러오기 (1) OnReceiveTrData 이벤트 처리하기 지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하..
2021.06.03 -
지난 번에도 이야기했듯이, 이번에는 조회했던 차트 데이터를 MySQL DB에 저장하는 방법에 대해 알아보고자 한다. 이번 포스팅에서는 설치와 몇 가지 설정 방법에 대해 다룰 예정이다. MySQL 다운로드하기 MySQL 다운로드 링크 : https://www.mysql.com/downloads/ 위 링크에 들어간 다음에 아래의 사진 안에서 빨간색 네모칸 부분을 클릭하면서 진행하면 된다. MySQL Community (GPL) Downloads MySQL Community Server Download(둘 중 아무거나 선택해도 됨) No thanks, just start my download. MySQL 설치하기 다운로드 받은 파일인 mysql-installer-community 파일을 실행하게 되면 아래와 ..
파이썬 + MySQL, 설치와 설정 방법지난 번에도 이야기했듯이, 이번에는 조회했던 차트 데이터를 MySQL DB에 저장하는 방법에 대해 알아보고자 한다. 이번 포스팅에서는 설치와 몇 가지 설정 방법에 대해 다룰 예정이다. MySQL 다운로드하기 MySQL 다운로드 링크 : https://www.mysql.com/downloads/ 위 링크에 들어간 다음에 아래의 사진 안에서 빨간색 네모칸 부분을 클릭하면서 진행하면 된다. MySQL Community (GPL) Downloads MySQL Community Server Download(둘 중 아무거나 선택해도 됨) No thanks, just start my download. MySQL 설치하기 다운로드 받은 파일인 mysql-installer-community 파일을 실행하게 되면 아래와 ..
2021.06.03 -
이번 포스팅에서는 영웅문 내에서 설정된 조건검색식을 Open API와 연결된 파이썬을 통해 불러오고, 그를 바탕으로 검색된 종목의 종목코드를 출력하는 방법에 대해 서술하고자 한다. 조건검색식을 사용하면 편한 이유는 파이썬 내에서 특정 조건들을 만들어내지 않아도 된다는 것이다. 즉, 특정 조건에 알맞은 종목을 검색하는 데에 필요한 조건들을 만드는 것이 파이썬 내에 구축하는 것보다 차라리 영웅문 내의 조건검색 화면 내에서 구축하는 것이 백배 천배는 편하다는 것이다. 그러면 왜 굳이 파이썬으로 이러고 앉아있냐는 의문이 들 수 있는데, 그 이유는 영웅문 내에서 제공하지 않는 분석 조건들을 파이썬에서는 구축할 수 있기 때문이다. 물론 이 방법은 영웅문 내에 조건검색식이 구축되어 있지 않다면 사용할 수 없다. 왜냐..
키움증권 Open API - 조건 검색식 불러오기이번 포스팅에서는 영웅문 내에서 설정된 조건검색식을 Open API와 연결된 파이썬을 통해 불러오고, 그를 바탕으로 검색된 종목의 종목코드를 출력하는 방법에 대해 서술하고자 한다. 조건검색식을 사용하면 편한 이유는 파이썬 내에서 특정 조건들을 만들어내지 않아도 된다는 것이다. 즉, 특정 조건에 알맞은 종목을 검색하는 데에 필요한 조건들을 만드는 것이 파이썬 내에 구축하는 것보다 차라리 영웅문 내의 조건검색 화면 내에서 구축하는 것이 백배 천배는 편하다는 것이다. 그러면 왜 굳이 파이썬으로 이러고 앉아있냐는 의문이 들 수 있는데, 그 이유는 영웅문 내에서 제공하지 않는 분석 조건들을 파이썬에서는 구축할 수 있기 때문이다. 물론 이 방법은 영웅문 내에 조건검색식이 구축되어 있지 않다면 사용할 수 없다. 왜냐..
2021.06.01 -
이번 포스팅에서는 지난 글에서 이야기했듯이 종목 코드를 불러오고 그 종목들 중에서 필요없는 종목들을 걸러낸다거나 또는 그 종목의 특성을 확인한 후에 얻고자 하는 최종적인 결과물에서 제외하는 방식으로 코드를 제작하고자 한다. KOSPI · KOSDAQ 전체 종목 코드 불러오기 일단 필요 없는 종목들을 걸러내기 위해서는 그에 앞서 상장된 종목들의 코드는 어떻게 되는지를 확인할 필요가 있는데, 그는 바로 GetCodeListByMarket 함수를 통해 불러올 수 있다. 개발 가이드 내에서의 설명은 다음과 같다. 원형 GetCodeListByMarket(Market) 설명 시장구분에 따른 종목코드를 반환한다. 입력값 Market : 시장구분 반환값 종목코드 리스트, 종목간 구분은 ';'이다. 비고 0:장내, 3..
키움증권 Open API 전체 종목 리스트 불러오기이번 포스팅에서는 지난 글에서 이야기했듯이 종목 코드를 불러오고 그 종목들 중에서 필요없는 종목들을 걸러낸다거나 또는 그 종목의 특성을 확인한 후에 얻고자 하는 최종적인 결과물에서 제외하는 방식으로 코드를 제작하고자 한다. KOSPI · KOSDAQ 전체 종목 코드 불러오기 일단 필요 없는 종목들을 걸러내기 위해서는 그에 앞서 상장된 종목들의 코드는 어떻게 되는지를 확인할 필요가 있는데, 그는 바로 GetCodeListByMarket 함수를 통해 불러올 수 있다. 개발 가이드 내에서의 설명은 다음과 같다. 원형 GetCodeListByMarket(Market) 설명 시장구분에 따른 종목코드를 반환한다. 입력값 Market : 시장구분 반환값 종목코드 리스트, 종목간 구분은 ';'이다. 비고 0:장내, 3..
2021.06.01 -
지난 게시글에서 서버에 데이터를 요청하고 그 결과값을 받아오는 부분까지 코드를 제작했고, 이번 포스팅에서는 추가로 조회할 데이터가 남아 있다면 그 데이터를 어떻게 받아올 것인지에 대한 코드를 제작해보도록 하자. 일단 지난 포스팅에서 결과물이 깔끔하게 나오긴 했지만 사실 글을 업로드한 후에 요청 횟수당 600회를 불러올 수 있다는 점과 OnReceiveTrData 내에도 이벤트 루프를 종료하는 코드를 제작해주어야 연속 조회가 가능하다는 점을 깜빡하고 그 내용을 함께 소개하지 못했다. 그래서 이번에는 한 번의 조회로 총 600개의 데이터를 가져오는 것을 먼저 구축한 후 남아 있는 데이터가 있다면 그 데이터도 불러오도록(이하 연속조회) 하는 구조를 구축하도록 하겠다. OnReceiveTrData : "나도 이..
키움증권 Open API 차트 데이터 불러오기 (3)지난 게시글에서 서버에 데이터를 요청하고 그 결과값을 받아오는 부분까지 코드를 제작했고, 이번 포스팅에서는 추가로 조회할 데이터가 남아 있다면 그 데이터를 어떻게 받아올 것인지에 대한 코드를 제작해보도록 하자. 일단 지난 포스팅에서 결과물이 깔끔하게 나오긴 했지만 사실 글을 업로드한 후에 요청 횟수당 600회를 불러올 수 있다는 점과 OnReceiveTrData 내에도 이벤트 루프를 종료하는 코드를 제작해주어야 연속 조회가 가능하다는 점을 깜빡하고 그 내용을 함께 소개하지 못했다. 그래서 이번에는 한 번의 조회로 총 600개의 데이터를 가져오는 것을 먼저 구축한 후 남아 있는 데이터가 있다면 그 데이터도 불러오도록(이하 연속조회) 하는 구조를 구축하도록 하겠다. OnReceiveTrData : "나도 이..
2021.05.31 -
지난 포스팅에서 `OnReceiveTrData` 이벤트 발생 시 `OnReceiveTrData()` 함수로 연결되도록 하고, 이벤트 루프까지 제작해두었다. 또한 `CommRqData()`를 통해 입력한 값들이 `OnReceiveTrData()` 함수를 통해 반환된다는 것도 확인하였다. 키움증권 Open API 차트 데이터 불러오기 (1)OnReceiveTrData 이벤트 처리하기 지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하는 종목의 차트 데이터를 불러오trustyou.tistory.com이번 포스팅에서는 `prenext`가 2인 경우 즉, 추가로 조회할 데이터가 있는 경우에는 어떻게 불러올 수 있는지 그리고 차트 데..
키움증권 Open API 차트 데이터 불러오기 (2)지난 포스팅에서 `OnReceiveTrData` 이벤트 발생 시 `OnReceiveTrData()` 함수로 연결되도록 하고, 이벤트 루프까지 제작해두었다. 또한 `CommRqData()`를 통해 입력한 값들이 `OnReceiveTrData()` 함수를 통해 반환된다는 것도 확인하였다. 키움증권 Open API 차트 데이터 불러오기 (1)OnReceiveTrData 이벤트 처리하기 지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하는 종목의 차트 데이터를 불러오trustyou.tistory.com이번 포스팅에서는 `prenext`가 2인 경우 즉, 추가로 조회할 데이터가 있는 경우에는 어떻게 불러올 수 있는지 그리고 차트 데..
2021.05.31 -
OnReceiveTrData 이벤트 처리하기지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하는 종목의 차트 데이터를 불러오는 것에 대해 서술하고자 한다. 일단 기본적으로 로그인의 경우에는 `OnEventConnect()` 이벤트를 발생시키는 것처럼 차트 데이터 조회 또는 종목 데이터에 대한 조회 등과 같은 정보 요청의 경우에는 `OnReceiveTrData()`라는 이벤트를 발생시키게 된다. 이와 비슷한 이벤트로는 `OnReceiveRealData()`라는 이벤트가 있는데, 이는 장중 데이터 조회 및 반환값 처리 시에 사용하는 것이므로 여기서는 일단 논외로 하겠다. 그렇다면 로그인 처리 시에 했던 것처럼, 차트 조회 등..
키움증권 Open API 차트 데이터 불러오기 (1)OnReceiveTrData 이벤트 처리하기지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하는 종목의 차트 데이터를 불러오는 것에 대해 서술하고자 한다. 일단 기본적으로 로그인의 경우에는 `OnEventConnect()` 이벤트를 발생시키는 것처럼 차트 데이터 조회 또는 종목 데이터에 대한 조회 등과 같은 정보 요청의 경우에는 `OnReceiveTrData()`라는 이벤트를 발생시키게 된다. 이와 비슷한 이벤트로는 `OnReceiveRealData()`라는 이벤트가 있는데, 이는 장중 데이터 조회 및 반환값 처리 시에 사용하는 것이므로 여기서는 일단 논외로 하겠다. 그렇다면 로그인 처리 시에 했던 것처럼, 차트 조회 등..
2021.05.31 -
지난 포스팅에서는 `OnEventConnect()` 이벤트가 발생할 경우 특정 함수를 실행하고, 그 함수 내에서는 `CommConnect()` 함수를 통해 해당 함수의 반환값을 받아와서 로그인 성공 여부를 판단하는 코드를 구축했었다. 이번 포스팅에서는 `OnReceiveTrData()` 이벤트에 대해 자세한 사용 방법에 대해서 알아보도록 하자. 키움증권 Open API에서 제공하는 이벤트 별 상세 내용과 사용 예시는 아래의 포스팅을 참고 키움증권 Open API 개발 가이드 사용 설명서 (1)키움증권에서는 자사의 Open API의 사용 방법에 대해 기본적인 가이드 자료를 제공하고 있다. 다만 기본적으로 제공하는 함수의 형태가 파이썬에서 사용하기가 다소 어려운 형태로 되어 있기 때trustyou.tisto..
키움증권 OpenAPI 개발 가이드 사용 설명서 (2)지난 포스팅에서는 `OnEventConnect()` 이벤트가 발생할 경우 특정 함수를 실행하고, 그 함수 내에서는 `CommConnect()` 함수를 통해 해당 함수의 반환값을 받아와서 로그인 성공 여부를 판단하는 코드를 구축했었다. 이번 포스팅에서는 `OnReceiveTrData()` 이벤트에 대해 자세한 사용 방법에 대해서 알아보도록 하자. 키움증권 Open API에서 제공하는 이벤트 별 상세 내용과 사용 예시는 아래의 포스팅을 참고 키움증권 Open API 개발 가이드 사용 설명서 (1)키움증권에서는 자사의 Open API의 사용 방법에 대해 기본적인 가이드 자료를 제공하고 있다. 다만 기본적으로 제공하는 함수의 형태가 파이썬에서 사용하기가 다소 어려운 형태로 되어 있기 때trustyou.tisto..
2021.05.22 -
키움증권에서는 자사의 Open API의 사용 방법에 대해 기본적인 가이드 자료를 제공하고 있다. 다만 기본적으로 제공하는 함수의 형태가 파이썬에서 사용하기가 다소 어려운 형태로 되어 있기 때문에, 개발 가이드를 본다고 하더라도 어떻게 사용해야 할지 잘 모르는 경우가 태반이다. 따라서 해당 포스팅에서는 개발 가이드를 어떻게 활용할 수 있는지, 그리고 어떤 함수는 개별적으로 작동하고 어떤 함수는 다른 함수와 함께 사용되는지에 대해 정리해보고자 한다. TR 관련 함수TR 관련 함수란 개발 가이드 자료 중 [5.4 OpenAPI 컨트롤 이벤트] 항목 안에 있는 함수로, 총 8가지의 함수를 제공하고 있다. 또한 이에 대해 "차트 컨트롤에서 발생하는 컨트롤 이벤트 목록은 다음과 같다."고 설명하고 있는데, 솔직히 ..
키움증권 Open API 개발 가이드 사용 설명서 (1)키움증권에서는 자사의 Open API의 사용 방법에 대해 기본적인 가이드 자료를 제공하고 있다. 다만 기본적으로 제공하는 함수의 형태가 파이썬에서 사용하기가 다소 어려운 형태로 되어 있기 때문에, 개발 가이드를 본다고 하더라도 어떻게 사용해야 할지 잘 모르는 경우가 태반이다. 따라서 해당 포스팅에서는 개발 가이드를 어떻게 활용할 수 있는지, 그리고 어떤 함수는 개별적으로 작동하고 어떤 함수는 다른 함수와 함께 사용되는지에 대해 정리해보고자 한다. TR 관련 함수TR 관련 함수란 개발 가이드 자료 중 [5.4 OpenAPI 컨트롤 이벤트] 항목 안에 있는 함수로, 총 8가지의 함수를 제공하고 있다. 또한 이에 대해 "차트 컨트롤에서 발생하는 컨트롤 이벤트 목록은 다음과 같다."고 설명하고 있는데, 솔직히 ..
2021.05.22 -
키움증권의 경우 Open API를 제공하고 있으며, 실제로 사용할 함수의 종류는 키움증권 사이트 내 '개발 가이드' 파일 또는 'KOA Studio'라는 프로그램을 통해 확인할 수 있다. 이번 글에서는 이 함수들을 파이썬 내에서 구축하는 방법과 정확히 어떤 절차를 거쳐 함수들이 실행되는지에 대해 살펴보고자 한다. (1) 어떤 정보가 궁금한데요 ? - SetInputValue와 CommRqData1. SetInputValue (입력 값 설정) [설명] Tran 입력 값을 서버 통신 전에 입력한다. [용례] SetInputValue (아이템명, 입력 값)2. CommRqData (Command Request Data, 데이터 요청 명령 실행) [설명] Tran을 서버로 전송한다. [용례] CommRqDa..
키움증권 Open API 작동 과정키움증권의 경우 Open API를 제공하고 있으며, 실제로 사용할 함수의 종류는 키움증권 사이트 내 '개발 가이드' 파일 또는 'KOA Studio'라는 프로그램을 통해 확인할 수 있다. 이번 글에서는 이 함수들을 파이썬 내에서 구축하는 방법과 정확히 어떤 절차를 거쳐 함수들이 실행되는지에 대해 살펴보고자 한다. (1) 어떤 정보가 궁금한데요 ? - SetInputValue와 CommRqData1. SetInputValue (입력 값 설정) [설명] Tran 입력 값을 서버 통신 전에 입력한다. [용례] SetInputValue (아이템명, 입력 값)2. CommRqData (Command Request Data, 데이터 요청 명령 실행) [설명] Tran을 서버로 전송한다. [용례] CommRqDa..
2021.05.13