opt10001 함수 정보
발생 이벤트 |
OnReceiveTrData |
입력값 |
종목코드 |
반환값 |
종목코드, 종목명, 결산월, 액면가, 자본금, 상장주식, 신용비율, 연중최고, 연중최저, 시가총액, 시가총액비중, 외인소진율, 대용가, PER, EPS, ROE, PBR, EV, BPS, 매출액, 영업이익, 당기순이익, 250최고, 250최저, 시가, 고가, 저가, 상한가, 하한가, 기준가, 예상체결가, 예상체결수량, 250최고가일, 250최고가대비율, 250최저가일, 250최저가대비율, 현재가, 대비기호, 전일대비, 등락율, 거래량, 거래대비, 액면가단위, 유통주식, 유통비율 |
1. 데이터 요청을 위한 rq_opt10001 함수 제작
## 기본 형태
def rq_opt10001(self)
self._setinputvalue("종목코드", '005930') ## 입력값 입력
self._commrqdata("rq_opt10001", "opt10001", 0, "0101") ## opt10001을 trcode로 전달
## 종목 코드를 전달해서 사용하고 싶다면
def rq_opt10001(self, code):
self._setinputvalue("종목코드", code)
self._commrqdata("rq_opt10001", "opt10001", 0, "0101")
※ 주의 : _commrqdata()의 맨 첫 인자로 전달되는 "rq_opt10001"은 굳이 똑같이 작성할 필요가 없습니다. 왜냐하면 아래의 OnReceiveTrData 함수 내에서 rqname == ""를 통해 식별하기 위한 임의의 코드이므로 아무렇게나 설정해도 됩니다. 다만 다르게 설정하셨다면, 아래의 def OnReceiveTrData, if rqname == "" 부분도 동일하게 변경해주셔야 됩니다.
2. OnReceiveTrData 내에서 trcode를 매개로 처리
## OnReceiveTrData 이벤트 발생 시 실행되는 함수
## self.kiwoom.OnReceiveTrData.connect(self.OnReceiveTrData)
def OnReceiveTrData(self, scrno, rqname, trcode, recordname, prenext):
if rqname == "rq_opt10001":
self._opt10001(trcode, recordname)
3. 데이터 수신을 위한 _opt10001 함수 제작
## 뒤의 "item_name"에는 앞서 정리한 반환값을 입력 ex) "종목코드"
## 앞의 item_name에는 반환값에 알맞은 변수이름 입력 ex) item_code
def _opt10001(self, trcode, recordname):
item_name = self._getcommdata(trcode, recordname, 0, "item_name")
## 예시
volume = self._getcommdata(trcdoe, recordname, 0, "거래량")
vix = self._getcommdata(trcode, recordname, 0, "등락율")