Skip to main content

한국거래소(KRX) OPEN API 기반 주식 데이터 수집 패키지

Project description

openstock-kr

openstock-kr은 한국거래소(KRX) OPEN API를 파이썬 환경에서 쉽고 안정적으로 수집할 수 있도록 도와주는 라이브러리입니다.

주식 시장의 지수, 종목별 시세, 종목 기본 정보 데이터를 몇 줄의 코드로 간단하게 수집하고, 분석에 바로 사용할 수 있도록 데이터 전처리(수치형 변환, 한글 컬럼명 매핑 등)를 자동화하여 제공합니다.


✨ 주요 기능

  • 간편한 API 호출: KOSPI, KOSDAQ 시장의 데이터를 한 번의 메서드 호출로 병합하여 가져옵니다.
  • 자동 예외 처리: 네트워크 지연, 서버 오류, 빈 데이터 응답 등의 예외 상황을 내부적으로 안전하게 처리합니다.
  • 스마트한 수치형 변환: 문자열로 섞여 들어오는 숫자 데이터(예: 콤마가 포함된 거래대금, '무액면' 문자가 포함된 액면가 등)를 판별하여 안전하게 int 또는 float으로 변환합니다.
  • 컬럼명 언어 설정: 분석 편의를 위해 원본 영문 컬럼명(en)과 번역된 한글 컬럼명(kr)을 선택할 수 있습니다.

📦 설치 방법

pip install --upgrade openstock-kr

🔑 사전 준비

  • 이 라이브러리를 사용하려면 한국거래소 OPEN API(openapi.krx.co.kr)에서 무료로 발급하는 OPEN API 인증키(AUTH_KEY) 가 필요합니다.
  • API 인증키 발급 이후, 다음의 API 서비스에 대해서 개별적으로 API이용신청과 거래소 담당자 승인이 완료되어야 합니다. (인증키만 발급받는 경우, API 서비스가 지원되지 않음)
    • KRX 시리즈 일별시세정보
    • KOSPI 시리즈 일별시세정보
    • KOSDAQ 시리즈 일별시세정보
    • 유가증권 일별매매정보
    • 코스닥 일별매매정보
    • 유가증권 종목기본정보
    • 코스닥 종목기본정보

🚀 빠른 시작 (Quick Start)

1. 초기화

from OpenStock import OpenStock

# 발급받은 API 키 입력
api_key = "YOUR_API_KEY_HERE"
stock = OpenStock(api_key=api_key)

2. 시장 지수 데이터 수집 (get_index)

특정 일자의 지수(KRX, KOSPI, KOSDAQ) 데이터를 수집합니다.

# 기준일자 'YYYYMMDD' 형식 입력, col_lan='kr' 설정 시 한글 컬럼명 반환
df_index = stock.get_index('20260306', col_lan='kr')
print(df_index.head())
기준일자 계열구분 지수명 종가 대비 등락률 시가 고가 저가 거래량 거래대금 상장시가총액
0 20260306 KRX 코리아 밸류업 지수 2527.38 -5.00 -0.20 2485.89 2540.04 2437.12 98491925 19146024297629 2871927789805430
1 20260306 KRX KRX TMI 3495.45 5.95 0.17 3431.22 3510.08 3358.95 1892509220 43601448268843 5038925260559923
2 20260306 KRX KRX 300 3727.16 -1.82 -0.05 3661.71 3745.96 3583.89 307812064 32413529432980 4571110141562820
3 20260306 KRX KRX 중대형 TMI 3549.75 3.82 0.11 3484.93 3565.55 3411.35 805377051 37939022960371 4839605918579618
4 20260306 KRX KRX 중형 TMI 2042.35 65.94 3.34 1976.53 2042.35 1940.34 497564987 5525493527391 268495777016798

3. 종목 시세 데이터 수집 (get_price)

특정 일자의 전 종목 시세(KOSPI, KOSDAQ) 데이터를 수집합니다.

df_price = stock.get_price('20260306', col_lan='kr')
print(df_price.head())
기준일자 종목코드 종목명 시장구분 소속부 종가 대비 등락률 시가 고가 저가 거래량 거래대금 시가총액 상장주식수
0 20260306 095570 AJ네트웍스 KOSPI 4960 20 0.40 4925 5010 4825 180901 890216366 224453684640 45252759
1 20260306 006840 AK홀딩스 KOSPI 8050 40 0.50 8170 8170 7820 9714 77138585 106642866050 13247561
2 20260306 027410 BGF KOSPI 4115 -85 -2.02 4190 4190 4045 181608 741963097 393874594965 95716791
3 20260306 282330 BGF리테일 KOSPI 115000 -300 -0.26 113600 116900 113600 64886 7459422856 1987649190000 17283906
4 20260306 138930 BNK금융지주 KOSPI 18420 -380 -2.02 18190 18580 18090 921541 16892012835 5716223947860 310327033

4. 종목 기본 정보 수집 (get_stockinfo)

특정 일자의 종목 기본 정보(표준코드, 액면가, 상장주식수 등) 데이터를 수집합니다.

df_info = stock.get_stockinfo('20260306', col_lan='kr')
print(df_info.head())
표준코드 단축코드 한글종목명 한글종목약명 영문종목명 상장일 시장구분 증권구분 소속부 주식종류 액면가 상장주식수
0 KR7095570008 095570 AJ네트웍스보통주 AJ네트웍스 AJ Networks Co.,Ltd. 20150821 KOSPI 주권 보통주 1000 45252759
1 KR7006840003 006840 AK홀딩스보통주 AK홀딩스 AK Holdings, Inc. 19990811 KOSPI 주권 보통주 5000 13247561
2 KR7282330000 282330 BGF리테일보통주 BGF리테일 BGF Retail 20171208 KOSPI 주권 보통주 1000 17283906
3 KR7027410000 027410 BGF보통주 BGF BGF 20140519 KOSPI 주권 보통주 1000 95716791
4 KR7138930003 138930 BNK금융지주보통주 BNK금융지주 BNK Financial Group Inc. 20110330 KOSPI 주권 보통주 5000 310327033

📝 라이선스 (License)

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openstock_kr-0.1.2.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openstock_kr-0.1.2-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file openstock_kr-0.1.2.tar.gz.

File metadata

  • Download URL: openstock_kr-0.1.2.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for openstock_kr-0.1.2.tar.gz
Algorithm Hash digest
SHA256 4bdd3fc15b334790b2538d282605bbc5f552a932133c44e22a397cd23109adfe
MD5 ac07dd3110853aa1d0e64f385320f3c4
BLAKE2b-256 ac8ecdf4981ce1c3c68a73b731a63d888fe6bd21748af67bd8e989415ee1b36b

See more details on using hashes here.

File details

Details for the file openstock_kr-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: openstock_kr-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for openstock_kr-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 283d8086d499283764688da432eebf267119bf5bd0d8652f26c956c745a2c05e
MD5 4533f3127c546f24c477dd798215d7db
BLAKE2b-256 8cd6a9d306b45f4441b279bf8ca810ea8f387038d7dfc66532849bf3935df847

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page