[키움 OpenAPI] TR OPT90001 (테마그룹별요청) 코드 in Python




키움 OpenAPI의 TR OPT90001 (테마그룹별요청)을 요청하는 코드를 작성하고 테스트한 내용을 정리합니다.


TR 요청을 위해서는 키움 OpenAPI에 로그인이 되어야 하고 데이터 조회와 처리를 처리할 수 있는 코드가 사전에 작성이 되어야 합니다.


OPT90001 (테마그룹별요청)

‘KOA StudioSA’ 에서는 아래와 같이 설명하고 있습니다.

[ OPT90001 : 테마그룹별요청 ]

1. Open API 조회 함수 입력값을 설정합니다.
	검색구분 = 0:전체검색, 1:테마검색, 2:종목검색
	SetInputValue("검색구분"	,  "입력값 1");

	종목코드 = 검색하려는 종목코드
	SetInputValue("종목코드"	,  "입력값 2");

	날짜구분 = 1일 ~ 99일 날짜입력
	SetInputValue("날짜구분"	,  "입력값 3");

	테마명 = 검색하려는 테마명
	SetInputValue("테마명"	,  "입력값 4");

	등락수익구분 = 1:상위기간수익률, 2:하위기간수익률, 3:상위등락률, 4:하위등락률
	SetInputValue("등락수익구분"	,  "입력값 5");


2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
	CommRqData( "RQName"	,  "OPT90001"	,  "0"	,  "화면번호"); 

Input 정보는 위 KOA 설명에 포함되어 있습니다.

Output 정보는 아래 Config.py의 정보/목록으로 대체하여 기록합니다.


파일 구조

ㄴ Config.py
ㄴ KiwoomAPI.py
ㄴ KiwoomMain.py

Config.py

TR 요청 시, 조회할 OUTPUT 데이터를 정의 합니다.

output_list = {
    'OPT90001': ['종목코드',
                 '테마명',
                 '종목수',
                 '등락기호',
                 '등락율',
                 '상승종목수',
                 '하락종목수',
                 '기간수익률',
                 '주요종목',
                 ],
}

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 OPT90001(self):
        self.kiwoom.output_list = output_list['OPT90001']
        
        self.kiwoom.SetInputValue("검색구분", "0")
        self.kiwoom.CommRqData("OPT90001", "OPT90001", 0, "0101")

        return self.kiwoom.ret_data['OPT90001']

실행

app = QApplication(sys.argv)
api_con = KiwoonMain()

result = api_con.OPT90001()
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 OPT90001 OPT90001  2 0
count :  100
{'종목코드': '243', '테마명': '자동차_차량용 반도체', '종목수': '2', '등락기호': '2', '등락율': '+15.03', '상승종목수': '2', '하락종목수': '0', '기간수익률': '+19.61', '주요종목': '현대모비스, 한라홀딩스'}

연관 포스트

[키움API] 기본 개발 가이드 내용 및 샘플 코드 (in Python) / OpenAPI 오류코드

[키움API] TR 목록 및 샘플 코드 (in Python)




1 thought on “[키움 OpenAPI] TR OPT90001 (테마그룹별요청) 코드 in Python”

Leave a Comment