Skip to main content

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.

Release files for openstock-kr 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openstock-kr 0.1.2
File Size Uploaded
openstock_kr-0.1.2.tar.gz 9.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openstock-kr 0.1.2
File Interpreter ABI Platform
openstock_kr-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 16.5 kB

Release files / openstock_kr-0.1.2.tar.gz

Download URL openstock_kr-0.1.2.tar.gz
Size 9.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4bdd3fc15b334790b2538d282605bbc5f552a932133c44e22a397cd23109adfe
BLAKE2b-256 checksum
How to use checksums
ac8ecdf4981ce1c3c68a73b731a63d888fe6bd21748af67bd8e989415ee1b36b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.7

Release files / openstock_kr-0.1.2-py3-none-any.whl

Download URL openstock_kr-0.1.2-py3-none-any.whl
Size 7.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
283d8086d499283764688da432eebf267119bf5bd0d8652f26c956c745a2c05e
BLAKE2b-256 checksum
How to use checksums
8cd6a9d306b45f4441b279bf8ca810ea8f387038d7dfc66532849bf3935df847
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.7

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page