基于python的hanldingkiwoomopenapi+ActiveX控件包
kiwoom-api-handler的Python项目详细描述
Kiwoom API Hanlder
Keum证券Open API+ActiveX Control可以在Python中使用的package。
Installation
# easy install with pip
pip install kiwoom_api_handler
or
# You can check the latest sources with the command
git clone git clone https://github.com/DonghyungKo/kiwoom_api_handler.git
Requirements
1. python 3.6 or higher (32bit)
키움증권 OPEN API+는 32bit 환경에서만 실행 가능하므로, 기존 64bit 환경을 이용하는 경우에는 32bit 가상환경을 생성하여야 합니다.
# Anaconda Prompt에서 32bit 가상환경을 생성하는 방법# 1. 관리자 권한으로 Anaconda Prompt를 실행setCONDA_FORCE_32BIT=1 conda create -n py36_32 python=3.6 anaconda # 설치 후 conda activate py36_32
2. 必须安装包裹
pip install -r requirements.txt
3. Kiwoom API+ 다운로드 및 자동 로그인 설정
kiwoom_api.api.Kiwoom
KIUM证券OPEN API+ActiveX Control的函数和管理活动的class。
作为数据接收和订单执行相关级别的生成者的参数,接受Kiwoom类的instance。
kiwoom_api.api.DataFeeder
负责接收Data的功能的class{str 1}作为生成者的参数,接受Kiwoom速溶(instance)。 《h4》目前为止可以申请的TR目录《/h4》 关于TR的详细事项请参阅{a2}或KOA Studio SA。OPT10004 : 주식호가요청
OPT10005 : 주식일주월시분요청
OPT10059 : 종목별투자자기관별요청
OPT10074 : 일자별실현손익요청
OPT10075 : 실시간미체결요청
OPT10080 : 주식분봉차트조회요청
OPTKWFID : 관심종목정보요청
OPW00001 : 예수금상세현황요청
OPW00004 : 계좌평가잔고내역요청
OPW00007 : 계좌별주문체결내역상세요청
Test Code
importsysfromPyQt5.QtWidgetsimportQApplicationfromkiwoom_api.apiimportKiwoom,DataFeederif__name__=="__main__":app=QApplication(sys.argv)kiwoom=Kiwoom()# Kiwoom 인스턴스 생성kiwoom.commConnect()# API 접속feeder=DataFeeder(kiwoom)code="005930"# 삼성전자# TR요청(request)에 필요한 parameter는 KOAStudio를 참고하시길 바랍니다.# OPT10004: 주식호가요청params={"종목코드":code}data=feeder.request(trCode="OPT10004",**params)# OPT10059: 종목별투자자기관별요청params={"일자":"202003013","종목코드":code,"금액수량구분":"1",# 1:금액, 2:수량"매매구분":"0",# 0:순매수, 1:매수, 2:매도"단위구분":"1",# 1:단주, 1000:천주}data=feeder.request(trCode='OPT10059',**params)# OPTKWFID: 관심종목정보요청 # ※ 예외적으로 requestOPTKWIFID 메서드를 호출params={"arrCode":"005930;023590",# 종목코드를 ;로 구분"next":0,# 0 연속조회여부 (0: x)"codeCount":2,# 종목코드 갯수}data=feeder.request(**params)---### kiwoom_api.api.Executor주문정보(orderspecification)생성및제출과관련된기능을담당하는class입니다.**생성자의매개변수로Kiwoom인스턴스(instance)를받습니다.**#### Test Code```pythonimportsysfromPyQt5.QtWidgetsimportQApplicationfromkiwoom_api_handler.apiimportKiwoom,DataFeeder,Executorif__name__=="__main__":app=QApplication(sys.argv)kiwoom=Kiwoom()# Kiwoom 인스턴스 생성kiwoom.commConnect()# API 접속feeder=DataFeeder(kiwoom)executor=Executor(kiwoom)accNo=feeder.getAccNo()code="005930"# 삼성전자orderSpecDict=executor.createOrderSpec(rqName="test",scrNo="0000",accNo=accNo,orderType=1,# 신규매수code=code,qty=1,price=0,# 시장가 주문은 가격을 입력하지 않음hogaType="03",# "00":지정가, "03":시장가originOrderNo="",)executor.sendOrder(**orderSpecDict)# 삼성전자 1주 신규매수(시장가) 주문 제출
Help and Future Support
Please leave an issue if you find a bug or need future supports.
you can also contact koko8624@gmail.com for support and bug report.
- 项目
标签: