키움증권 Open API
-
거래 내역 조회하기 (1) 게시글 바로가기 거래 내역 조회하기 (2) 게시글 바로가기 거래 내역 조회하기 (3) 게시글 바로가기 이제 "주문구분"의 값이 무엇인가에 따라 데이터를 다른 곳에 입력하기만 하면 거래 내역은 모두 조회하게 된다. 주문 구분에 따라 데이터 입력하기 : def opw00007(trcode, recordname) 지난 게시글에서 현금 매수와 현금 매도까지 구분해두었다. 다만 이제 본인이 제작한 것은 분할매수의 알고리즘을 가지고 있다고 가정했을 경우에 필요한 데이터들이기 때문에, 매수 데이터가 발생했을 때 해당 매수 거래가 첫 번째 매수인지 두 번째 매수인지를 구분해야 할 것이다. 그러기 위해서는 앞서 제작했던 self.temporary_hold_account 변수의 ['first_b..
키움증권 Open API - 거래 내역 조회하기 (4)거래 내역 조회하기 (1) 게시글 바로가기 거래 내역 조회하기 (2) 게시글 바로가기 거래 내역 조회하기 (3) 게시글 바로가기 이제 "주문구분"의 값이 무엇인가에 따라 데이터를 다른 곳에 입력하기만 하면 거래 내역은 모두 조회하게 된다. 주문 구분에 따라 데이터 입력하기 : def opw00007(trcode, recordname) 지난 게시글에서 현금 매수와 현금 매도까지 구분해두었다. 다만 이제 본인이 제작한 것은 분할매수의 알고리즘을 가지고 있다고 가정했을 경우에 필요한 데이터들이기 때문에, 매수 데이터가 발생했을 때 해당 매수 거래가 첫 번째 매수인지 두 번째 매수인지를 구분해야 할 것이다. 그러기 위해서는 앞서 제작했던 self.temporary_hold_account 변수의 ['first_b..
2022.04.06 -
거래 내역 조회하기 (1) 게시글 바로가기 거래 내역 조회하기 (2) 게시글 바로가기 이번 게시글에서는 "주문구분"의 값이 "매수"인가 "매도"인가를 바탕으로 주문의 성격을 구분하고, 그를 바탕으로 거래 내역 데이터를 데이터프레임에 입력할 것이다. 다만 정말 중요하고 중요한 주의사항이 있다면, 이는 항상 일관적인 거래 방식을 따라 거래가 이루어졌어야 한다는 것이다. 예를 들어, 최대 2번의 분할매수가 이루어질 수 있고 매도는 최대 2번에 걸쳐 분할 매도가 이루어지는 거래 알고리즘이 있다고 가정해보자. 이 때 본인이 장을 보다가 프로그램이 아닌 본인이 "어, 이 종목은 사야겠는데?"하는 생각에 외부의 개입으로 추가적인 매수가 이루어진 경우에는 2번의 분할매수와 2번의 분할매도라는 기존의 알고리즘에서 벗어나..
키움증권 Open API - 거래 내역 조회하기 (3)거래 내역 조회하기 (1) 게시글 바로가기 거래 내역 조회하기 (2) 게시글 바로가기 이번 게시글에서는 "주문구분"의 값이 "매수"인가 "매도"인가를 바탕으로 주문의 성격을 구분하고, 그를 바탕으로 거래 내역 데이터를 데이터프레임에 입력할 것이다. 다만 정말 중요하고 중요한 주의사항이 있다면, 이는 항상 일관적인 거래 방식을 따라 거래가 이루어졌어야 한다는 것이다. 예를 들어, 최대 2번의 분할매수가 이루어질 수 있고 매도는 최대 2번에 걸쳐 분할 매도가 이루어지는 거래 알고리즘이 있다고 가정해보자. 이 때 본인이 장을 보다가 프로그램이 아닌 본인이 "어, 이 종목은 사야겠는데?"하는 생각에 외부의 개입으로 추가적인 매수가 이루어진 경우에는 2번의 분할매수와 2번의 분할매도라는 기존의 알고리즘에서 벗어나..
2022.04.06 -
거래 내역 조회하기 (1) 게시글 바로가기 이제 지난 게시글에 이어서 요청한 데이터를 받아오는 부분을 구축해보도록 하자. OnReceiveTrData 내에서 함수랑 연결해주기 self._commrqdata("rq_opw00007", "opw00007", 0, '0351') 지난 게시글에서 데이터를 전송하는 commrqdata(rqname, trcode, prenext, scrno) 함수 내에서 rqname 안에 "rq_opw00007"을 입력했었으니, 이제는 OnReceiveTrData 내에서 if rqname == "rq_opw00007"을 통해 특정 함수와 연결해주는 코드를 제작해야 한다. def receive_trdata(self, scrno, rqname, trcode, recordname, pr..
키움증권 Open API - 거래 내역 조회하기 (2)거래 내역 조회하기 (1) 게시글 바로가기 이제 지난 게시글에 이어서 요청한 데이터를 받아오는 부분을 구축해보도록 하자. OnReceiveTrData 내에서 함수랑 연결해주기 self._commrqdata("rq_opw00007", "opw00007", 0, '0351') 지난 게시글에서 데이터를 전송하는 commrqdata(rqname, trcode, prenext, scrno) 함수 내에서 rqname 안에 "rq_opw00007"을 입력했었으니, 이제는 OnReceiveTrData 내에서 if rqname == "rq_opw00007"을 통해 특정 함수와 연결해주는 코드를 제작해야 한다. def receive_trdata(self, scrno, rqname, trcode, recordname, pr..
2022.04.06 -
키움증권 Open API의 경우에는 주문이나 차트 데이터 조회 등과 같은 것들에 대해서는 정말 손쉽게 사용할 수 있도록 친절하게 설명하고 있지만, 문제는 주문 내역을 관리하기 위해 주문일자를 제공한다거나 하는 등의 데이터는 잘 제공하지 않고 있다. ※ 키움증권 Open API 관계자가 이 글을 볼 리는 없지만, 만약 본다면 이 부분은 꼭 추가해주길 바랍니다. 본격적으로 거래 내역을 조회하기 전에 앞서, 일단 여기서 사용하고자 하는 트랜잭션(Transaction, 이하 TR)은 opw00007이다. opw00007을 사용하기 위해서는 계좌와 관련된 데이터를 전달해줘야 하는데, 계좌 데이터는 직접 입력을 해주어도 되고 다른 TR을 이용해서 계좌 데이터를 얻어온 후에, 그 데이터를 그대로 전달해줘도 된다. O..
키움증권 Open API - 거래 내역 조회하기 (1)키움증권 Open API의 경우에는 주문이나 차트 데이터 조회 등과 같은 것들에 대해서는 정말 손쉽게 사용할 수 있도록 친절하게 설명하고 있지만, 문제는 주문 내역을 관리하기 위해 주문일자를 제공한다거나 하는 등의 데이터는 잘 제공하지 않고 있다. ※ 키움증권 Open API 관계자가 이 글을 볼 리는 없지만, 만약 본다면 이 부분은 꼭 추가해주길 바랍니다. 본격적으로 거래 내역을 조회하기 전에 앞서, 일단 여기서 사용하고자 하는 트랜잭션(Transaction, 이하 TR)은 opw00007이다. opw00007을 사용하기 위해서는 계좌와 관련된 데이터를 전달해줘야 하는데, 계좌 데이터는 직접 입력을 해주어도 되고 다른 TR을 이용해서 계좌 데이터를 얻어온 후에, 그 데이터를 그대로 전달해줘도 된다. O..
2022.04.06 -
앞의 포스팅에서는 개발 가이드의 사용 방법에 대해 알아보았고, 이제는 본격적으로 파이썬을 바탕으로 해서 키움증권의 Open API와 연결한 후에 여러 가지 동작을 실행하는 코드를 제작해보고자 한다. Open API와 연결하기 키움증권에서 제공하는 Open API 개발가이드 내에서 라이브러리 구성 파일에 대한 설명이 있다. 파일명 설명 KHOpenAPI.ocx OpenAPI 실행 모듈 OPCommApi.dll 통신 모듈 OPComms.dll 서버와의 TCP/IP 연결 모듈 OPSecurity.dll 통신 암호화 모듈 librsadlx.dll nsldap32v11.dll ZIPDLL.DLL 압축 모듈 우리는 이 중에서 가장 먼저 OpenAPI를 실행하도록 하는 모듈인 KHOpenAPI.ocx를 실행하도록 하..
키움증권 OpenAPI 실행 및 로그인하기앞의 포스팅에서는 개발 가이드의 사용 방법에 대해 알아보았고, 이제는 본격적으로 파이썬을 바탕으로 해서 키움증권의 Open API와 연결한 후에 여러 가지 동작을 실행하는 코드를 제작해보고자 한다. Open API와 연결하기 키움증권에서 제공하는 Open API 개발가이드 내에서 라이브러리 구성 파일에 대한 설명이 있다. 파일명 설명 KHOpenAPI.ocx OpenAPI 실행 모듈 OPCommApi.dll 통신 모듈 OPComms.dll 서버와의 TCP/IP 연결 모듈 OPSecurity.dll 통신 암호화 모듈 librsadlx.dll nsldap32v11.dll ZIPDLL.DLL 압축 모듈 우리는 이 중에서 가장 먼저 OpenAPI를 실행하도록 하는 모듈인 KHOpenAPI.ocx를 실행하도록 하..
2021.05.29 -
지난 포스팅에서는 `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