키움 OpenAPI의 TR OPT10027 (전일대비등락률상위요청)을 요청하는 코드를 작성하고 테스트한 내용을 정리합니다.
TR 요청을 위해서는 키움 OpenAPI에 로그인이 되어야 하고 데이터 조회와 처리를 처리할 수 있는 코드가 사전에 작성이 되어야 합니다.
- [키움 OpenAPI] 기본 개발 가이드 ‘로그인 버전처리’ 코드 (in Python)
- [키움 OpenAPI] 기본 개발 가이드 ‘조회와 실시간 데이터 처리’ 코드 (in Python)
OPT10027 (전일대비등락률상위요청)
‘KOA StudioSA’ 에서는 아래와 같이 설명하고 있습니다.
[ opt10027 : 전일대비등락률상위요청 ]
1. Open API 조회 함수 입력값을 설정합니다.
시장구분 = 000:전체, 001:코스피, 101:코스닥
SetInputValue("시장구분" , "입력값 1");
정렬구분 = 1:상승률, 2:상승폭, 3:하락률, 4:하락폭
SetInputValue("정렬구분" , "입력값 2");
거래량조건 = 0000:전체조회, 0010:만주이상, 0050:5만주이상, 0100:10만주이상, 0150:15만주이상, 0200:20만주이상, 0300:30만주이상, 0500:50만주이상, 1000:백만주이상
SetInputValue("거래량조건" , "입력값 3");
종목조건 = 0:전체조회, 1:관리종목제외, 4:우선주+관리주제외, 3:우선주제외, 5:증100제외, 6:증100만보기, 7:증40만보기, 8:증30만보기, 9:증20만보기, 11:정리매매종목제외
SetInputValue("종목조건" , "입력값 4");
신용조건 = 0:전체조회, 1:신용융자A군, 2:신용융자B군, 3:신용융자C군, 4:신용융자D군, 9:신용융자전체
SetInputValue("신용조건" , "입력값 5");
상하한포함 = 0:불 포함, 1:포함
SetInputValue("상하한포함" , "입력값 6");
가격조건 = 0:전체조회, 1:1천원미만, 2:1천원~2천원, 3:2천원~5천원, 4:5천원~1만원, 5:1만원이상, 8:1천원이상
SetInputValue("가격조건" , "입력값 7");
거래대금조건 = 0:전체조회, 3:3천만원이상, 5:5천만원이상, 10:1억원이상, 30:3억원이상, 50:5억원이상, 100:10억원이상, 300:30억원이상, 500:50억원이상, 1000:100억원이상, 3000:300억원이상, 5000:500억원이상
SetInputValue("거래대금조건" , "입력값 8");
2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
CommRqData( "RQName" , "opt10027" , "0" , "화면번호");
Input 정보는 위 KOA 설명에 포함되어 있습니다.
Output 정보는 아래 Config.py의 정보/목록으로 대체하여 기록합니다.
파일 구조
ㄴ Config.py
ㄴ KiwoomAPI.py
ㄴ KiwoomMain.py
Config.py
TR 요청 시, 조회할 OUTPUT 데이터를 정의 합니다.
output_list = {
'OPT10027': ['종목분류',
'종목코드',
'종목명',
'현재가',
'전일대비기호',
'전일대비',
'등락률',
'매도잔량',
'매수잔량',
'현재거래량',
'체결강도',
'횟수',
],
}
KiwoomMain.py
import sys
from PyQt5.QtWidgets import *
import KiwoomAPI
from Config import *
class KiwoonMain:
def __init__(self):
self.kiwoom = KiwoomAPI.KiwoomAPI()
self.kiwoom.CommConnect()
def OPT10027(self):
self.kiwoom.output_list = output_list['OPT10027']
self.kiwoom.SetInputValue("시장구분", "0")
self.kiwoom.CommRqData("OPT10027", "OPT10027", 0, "0101")
return self.kiwoom.ret_data['OPT10027']
실행
app = QApplication(sys.argv)
api_con = KiwoonMain()
result = api_con.OPT10027()
print(result['Data'][0])
결과
[GetPCIdentity] VER 3.2.0.0 build 2015.8.12
[GetPCIdentity] VER 3.2.0.0 build 2015.8.12
0
0101 OPT10027 OPT10027 2 0
count : 200
{'종목분류': '0', '종목코드': '287410', '종목명': '유안타제3호스팩', '현재가': '+3900', '전일대비기호': '1', '전일대비': '+900', '등락률': '+30.00', '매도잔량': '0', '매수잔량': '472301', '현재거래량': '4602825', '체결강도': '134.62', '횟수': '1'}
연관 포스트
[키움API] 기본 개발 가이드 내용 및 샘플 코드 (in Python) / OpenAPI 오류코드
[키움API] TR 목록 및 샘플 코드 (in Python)
1 thought on “[키움 OpenAPI] TR OPT10027 (전일대비등락률상위요청) 코드 in Python”