키움 OpenAPI의 TR OPT10001 (주식기본정보요청)을 요청하는 코드를 작성하고 테스트한 내용을 정리합니다.
TR 요청을 위해서는 키움 OpenAPI에 로그인이 되어야 하고 데이터 조회와 처리를 처리할 수 있는 코드가 사전에 작성이 되어야 합니다.
- [키움 OpenAPI] 기본 개발 가이드 ‘로그인 버전처리’ 코드 (in Python)
- [키움 OpenAPI] 기본 개발 가이드 ‘조회와 실시간 데이터 처리’ 코드 (in Python)
OPT10001 (주식기본정보요청)
‘KOA StudioSA’ 에서는 아래와 같이 설명하고 있습니다.
[ opt10001 : 주식기본정보요청 ]
1. Open API 조회 함수 입력값을 설정합니다.
종목코드 = 전문 조회할 종목코드
SetInputValue("종목코드" , "입력값 1");
2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
CommRqData( "RQName" , "opt10001" , "0" , "화면번호");
Input 정보는 위 KOA 설명에 포함되어 있습니다.
Output 정보는 아래 Config.py의 정보/목록으로 대체하여 기록합니다.
파일 구조
ㄴ Config.py
ㄴ KiwoomAPI.py
ㄴ KiwoomMain.py
Config.py
TR 요청 시, 조회할 OUTPUT 데이터를 정의 합니다.
output_list = {
'OPT10001': ['종목코드',
'종목명',
'결산월',
'액면가',
'자본금',
'상장주식',
'신용비율',
'연중최고',
'시가총액',
'시가총액비중',
'외인소진률',
'대용가'
'PER',
'EPS',
'ROE',
'PBR',
'EV',
'BPS',
'매출액',
'영업이익',
'당기순이익',
'250최고',
'250최저',
'시가',
'고가',
'저가',
'상한가',
'하한가',
'기준가',
'예상체결가',
'예상체결수량',
'250최고가일',
'250최고가대비율',
'250최저가일',
'250최저가대비율',
'현재가',
'대비기호',
'전일대비',
'등락율',
'거래량',
'거래대비',
'액면가단위',
'유통주식',
'유통비율',
],
}
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 OPT10001(self):
self.kiwoom.output_list = output_list['OPT10001']
self.kiwoom.SetInputValue("종목코드", "005930")
self.kiwoom.CommRqData("OPT10001", "OPT10001", 0, "0101")
return self.kiwoom.ret_data['OPT10001']
실행
app = QApplication(sys.argv)
api_con = KiwoonMain()
result = api_con.OPT10001()
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 OPT10001 OPT10001 0 0
count : 0
{'종목코드': '005930', '종목명': '삼성전자', '결산월': '12', '액면가': '100', '자본금': '7780', '상장주식': '5969783', '신용비율': '+0.07', '연중최고': '+78800', '시가총액': '4644491', '시가총액비중': '',
'외인소진률': '+55.89', '대용가PER': '', 'EPS': '3166', 'ROE': '8.7', 'PBR': '2.07', 'EV': '6.52', 'BPS': '37528', '매출액': '2304009', '영업이익': '277685', '당기순이익': '217389', '250최고': '+78800', '250최저': '-42300', '시가': '+74100', '고가': '+78800', '저가': '+74000', '상한가': '+96000', '하한가': '-51800', '기준가': '73900', '예상체결가': '-0', '예상체결수량': '0', '250최고가일': '20201224', '250
최고가대비율': '-1.27', '250최저가일': '20200319', '250최저가대비율': '+83.92', '현재가': '+77800', '대비기호': '2', '전일대비': '+3900', '등락율': '+5.28', '거래량': '32502870', '거래대비': '+167.44', '액
면가단위': '원', '유통주식': '4704966', '유통비율': '78.8'}
연관 포스트
[키움API] 기본 개발 가이드 내용 및 샘플 코드 (in Python) / OpenAPI 오류코드
[키움API] TR 목록 및 샘플 코드 (in Python)
KiwoomAPI.py 는 아래 포스트에 코드 있습니다.
https://jackerlab.com/kiwoom-api-default-dev-guide-get-data/
KiwoomAPI.py 소스는 없나요?
혹시 어디서 받을수 있나욧?
안녕하세요 저도 ret_data 값을 못받아와서 KiwoomAPI.py 소스를 찾고있는데
혹시 찾으셨나여?