우선적으로 OpenAPI+에서 제공하는 API들은 다양하게 있으니 관련 문서를 보면 좋다.
역시나 구글링을 해보니
키움에서 기본적으로 제공하는 Guide 문서가 있어서 다운받아 올려놨다.
헷갈리거나 정확하게 확인이 필요할때 참고하면 여러모로 편할 것 같다.
kiwoom_openapi_plus_devguide_ver_1.5.pdf
2.16MB
이제 간단하게 OpenAPI+에 접속하여 코스피 종목을 검색을 해보고 리스트를 출력해보자.
import sys
from PyQt5.QtWidgets import *
from PyQt5.QAxContainer import *
import pythoncom
class App(QWidget):
def __init__(self):
super().__init__()
self.woom = QAxWidget("KHOPENAPI.KHOpenAPICtrl.1")
self.woom.OnEventConnect.connect(self.OnEventConnect)
self.CommConnect()
def CommConnect(self):
self.woom.dynamicCall("CommConnect()")
def GetMasterCodeName(self, code):
name = self.woom.dynamicCall("GetMasterCodeName(QString)", code)
return name
def GetCodeListByMarket(self, market):
codelist = self.woom.dynamicCall("GetCodeListByMarket(QString)", market)
return codelist
def OnEventConnect(self, err_code):
kospi = self.woom.GetCodeListByMarket('0').split(';')
for code in kospi:
name = self.woom.GetMasterCodeName(code)
print("종목코드:", code, " ", name)
if __name__ == "__main__":
app = QApplication(sys.argv)
myApp = App()
app.exec_()
함수 API 중 GetCodeListByMarket 을 보면 시장을 어떤 것을 선택하느냐에 따라 해당 종목코드를 반환해주고
이 반환된 코드를 이용해서 GetMasterCodeName 을 이용해서 종목명을 검색할 수 있다.
필자는 0번을 출력해서 장내에 있는 모든 주식을 리스트화하여 종목 검색을 했더니 엄청 많은 데이터를 출력했다.
필터링이 좀 필요할 것 같아 보이는 상황이다.
필터링은 약간의 꼼수를 이용해서 적용하면 될 것 같고....
그럼 이 함수들을 사용하기 편하게 그룹화(클래스화) 시켜야 겠다.
사실 pykiwoom 이란 패키지를 사용하면 될 것 같은데...어째선지 설치가 안된다..ㅜㅜ
이것도 한번 이유를 찾아봐야겠다.
반응형
'c. 파이썬' 카테고리의 다른 글
[파이썬 / 증권사 API활용](7) 조건식 불러오기 (0) | 2024.09.02 |
---|---|
[파이썬 / 증권사 API활용](6) 주식 정보 조회하기 (3) | 2024.09.01 |
[파이썬 / 증권사 API활용](5) No module named 'pythoncom' 에러 (0) | 2024.08.31 |
[파이썬 / 증권사 API활용](4) Kiwoom.py 클래스화 (0) | 2024.08.28 |
[파이썬 / 증권사 API활용](2) QAxcontainer 사용 및 키움 모의투자 신청 (0) | 2024.08.26 |
[파이썬 / 증권사 API활용](1) 키움 Open API+ 적용 (0) | 2024.08.25 |
[파이썬 / 매크로 만들기](8) 키보드 keyboard 입력으로 시작, 정지 (0) | 2024.08.24 |
[파이썬 / 매크로 만들기](7) Thread 실행 중 강제 종료 버튼 이벤트 (0) | 2024.08.23 |