python wrapper for Kiwoom Open API+ (Korea Stock Market)


License
MIT
Install
pip install pykiwoom==0.1.6

Documentation

pykiwoom

Python Wrapper for Kiwoom Open API+

Books

https://wikidocs.net/book/1173

Examples

๋กœ๊ทธ์ธ

from pykiwoom.kiwoom import *

kiwoom = Kiwoom()
kiwoom.CommConnect(block=True)

์„œ๋ธŒ ํ”„๋กœ์„ธ์Šค๋กœ ์‚ฌ์šฉํ•˜๊ธฐ

ํ‚ค์›€ ํด๋ž˜์Šค๋ฅผ ๋ณ„๋„์˜ ์„œ๋ธŒ ํ”„๋กœ์„ธ์Šค๋กœ ์‚ฌ์šฉํ•˜๋ ค๋ฉด KiwoomManager๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ‚ค์›€ ํด๋ž˜์Šค๋ฅผ ์™„์ „ํžˆ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”์„œ๋“œ

from pykiwoom.kiwoom import *

if __name__ == "__main__":
    km = KiwoomManager()
    km.put_method(("GetMasterCodeName", "005930")) 
    data = km.get_method()
    print(data)

TR

from pykiwoom.kiwoom import *

if __name__ == "__main__":
    km = KiwoomManager()

    tr_cmd = {
        'rqname': "opt10001",
        'trcode': 'opt10001',
        'next': '0',
        'screen': '1000',
        'input': {
            "์ข…๋ชฉ์ฝ”๋“œ": "005930"
        },
        'output': ['์ข…๋ชฉ์ฝ”๋“œ', '์ข…๋ชฉ๋ช…', 'PER', 'PBR']
    }

    km.put_tr(tr_cmd)
    data = km.get_tr()
    print(data)

TR ์—ฐ์† ์กฐํšŒ

TR ์—ฐ์† ์กฐํšŒ์˜ ๊ฒฝ์šฐ ์ด์ „ TR ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ๊ฐ„ ํ›„ ๋‹ค์‹œ ์š”์ฒญํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

from pykiwoom.kiwoom import *

if __name__ == "__main__":
    km = KiwoomManager()

    tr_cmd = {
        'rqname': "opt10081",
        'trcode': 'opt10081',
        'next': '0',
        'screen': '1000',
        'input': {
            "์ข…๋ชฉ์ฝ”๋“œ": "005930",
            "๊ธฐ์ค€์ผ์ž": "20200424",
            "์ˆ˜์ •์ฃผ๊ฐ€๊ตฌ๋ถ„": "",
        },
        'output': ["์ผ์ž", "์‹œ๊ฐ€", "๊ณ ๊ฐ€", "์ €๊ฐ€", "ํ˜„์žฌ๊ฐ€"]
    }

    for i in range(2):
        if i != 0:
            tr_cmd['next'] = '2'
        
        km.put_tr(tr_cmd)
        data = km.get_tr()
        print(data)