[일상] 한국증권거래소에서 옵션 과거 데이터 받기

in SCT.암호화폐.Crypto2 years ago (edited)

한국증권거래소, KRX에서 옵션 데이터를 받는 방법을 정리합니다.

krx api wrapper는 아래 github에서 구할 수 있습니다.

https://github.com/sharebook-kr/pykrx

krx에서는 주식 뿐 아니라 다양한 파생상품에 대한 정보를 제공합니다.

현재 제공하고 있는 파생상품에 대한 코드입니다.

KRDRVFUK2I : 정규 선물
KRDRVFUMKI : 미니 선물
KRDRVOPK2I : 정규 option
KRDRVOPWKI : weekly option
KRDRVOPMKI : mini option

pykrx를 이용하여 옵션 정보를 구하는 방법은 아주 간단한데요.

2022/12/01에 거래된 모든 option 정보는 아래 함수를 이용하여 얻을 수 있습니다.

        data = stock.get_future_ohlcv('20221201', 'KRDRVOPK2I') # 20221201 정규 option

이를 바탕으로 원하는 기간의 kospi200, optoin data를 얻을 수 있는 함수를 만들었습니다.

시작일자, 끝일자를 입력하면 됩니다. 그리고 저장할 폴더를 지정합니다.

folder = '.\\data'
# for kospi200
if 1:
    st_yyyymmdd  = '20221201'
    end_yyyymmdd = '20221202'
    get_kospi200_data(st_yyyymmdd, end_yyyymmdd, folder)

옵션은 정규/weekly 옵션을 동시에 저장합니다.

저장을 원하는 연도(yyyy), 시작일자/끝일자, 그리고 for 문에 원하는 월을 입력하면 됩니다. 참고로 for 문에서는 원하는 달 보다 +1한 값을 입력하면 됩니다. 12월 정보를 원한다면 range(12, 13) 입니다.

장기간 데이터를 받는 경우에는 최대 3개월 단위로 끝어서 받으시기 바랍니다. 4개월이 넘어가니 전송이 끊어집니다.

# for option
if 1:
    yyyy  = '2022'  # year
    start = 5       # start day
    end   = 9     # end day

    for mm in range(12, 13) :  # 저장할 월(from, to)
        s_mm    = '%02d'%mm  # 1-9월 -> '01' - '09'
        get_op_data(yyyy, s_mm, start, end, folder, folder)
        time.sleep(10)

소스코드는 아래 사이트에 있습니다.

https://github.com/multizone-quant/system-trading/blob/master/krx_kospi_op.py

Sort:  

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

과거 옵션데이터,,그렇게 쓸모가 있지는 않을텐데요,,패턴이 항상바뀌는 메이저들의 농간이 많아서~

Upvoted! Thank you for supporting witness @jswit.

코드 관련해서 질문하나 드려도 될까요?

네. 어떤 내용이신지요?

아래 네이버 블로그에 질문남기세요.
https://m.blog.naver.com/tradingidea