Skip to content

Release Note 0.9.92

FinanceData.KR edited this page Jul 14, 2024 · 6 revisions

KRX(한국거래소) 관련 주요 변경사항

2024년 7월, KRX(한국거래소)와 관련하여 두 가지 중요한 변경사항이 있었습니다.

1. KRX 요청 헤더 변경:

  • 변경 내용: KRX에 보내는 모든 요청의 헤더에 'Referer' 필드가 필수 항목으로 지정되었습니다.

2. KRX 데이터 조회 기간 제한

  • 모든 KRX 관련 요청에 'Referer' 헤더를 필수적으로 포함하도록 시스템을 업데이트 (버전 0.9.91)
  • 시작일(start)과 종료일(end)을 지정하지 않은 경우, 자동으로 현재 날짜로부터 과거 2년간의 데이터를 조회하도록 설정(버전 0.9.91)
  • 장기 데이터 조회 기능 유지 (버전 0.9.92): 개발자의 편의를 위해 기존 인터페이스를 그대로 유지했습니다. 2년 이상의 데이터를 요청받은 경우, 자동으로 다음과 같이 처리합니다:
    1. 요청 기간을 2년 단위로 나눕니다.
    2. 2년 기간에 대해 개별적으로 데이터를 요청합니다.
    3. 수신된 모든 데이터를 하나로 통합(concat)합니다.
    4. 최종적으로 통합된 데이터를 사용자에게 제공합니다.

헤더 referer 추가 FIX

import FinanceDataReader as fdr

fdr.SnapDataReader('KRX/INDEX/LIST') # KRX 전체 지수목록
fdr.SnapDataReader('KRX/INDEX/STOCK/1001')  # KOSPI 지수구성종목

KRX-DELISTING (상장폐지종목)

import FinanceDataReader as fdr

# 상장폐지종목 개별종목 가격 데이터
fdr.DataReader('KRX-DELISTING:068400') # SK렌터카(068400): 상장일~상장폐지(2024-01-31)까지 전체 데이터
fdr.DataReader('KRX-DELISTING:068400', '2023') # 2023년 ~ 최대 데이터

# KRX-DELISTING (상장폐지종목 리스트)
fdr.StockListing('KRX-DELISTING') # 모든 상장폐지된 종목 (1960년 부터), 2년단위로 가져와  합쳐서 반환합니다
fdr.StockListing('KRX-DELISTING', '2000') # 2000년 이후 현재까지 상장폐지 종목
fdr.StockListing('KRX-DELISTING', '2020-01-01', '2023-12-31') # 지정 기간 동안 상장폐지된 종목
fdr.StockListing('KRX-DELISTING', '2023', '2024') # 2023년 상장폐지 종목

상장폐지 리스팅 2년 이상 조회 불가 이슈 해결: 1961~현재 모든 상장종목 리스팅

>>> fdr.StockListing('KRX-DELISTING') # 모든 상장폐지된 종목
        Symbol        Name  Market SecuGroup Kind ListingDate DelistingDate  ... ArrantEnforceDate ArrantEndDate Industry ParValue  ListingShares  ToSymbol    ToName
0       028740        경성전기   KOSPI        주권       1956-03-03    1961-06-30  ...               NaT           NaT               NaN            NaN
1       028730        남선전기   KOSPI        주권       1956-03-03    1961-06-30  ...               NaT           NaT               NaN            NaN
2       034380        조선맥주   KOSPI        주권       1956-10-01    1960-11-26  ...               NaT           NaT               NaN            NaN
3       028720        수도극장   KOSPI        주권       1957-07-01    1960-11-21  ...               NaT           NaT               NaN            NaN
4       028750        한국운수   KOSPI        주권       1956-03-03    1962-01-04  ...               NaT           NaT               NaN            NaN
...        ...         ...     ...       ...  ...         ...           ...  ...               ...           ...      ...      ...            ...       ...       ...
3736  72502BA2  신한소재부품장비C1   KOSPI      수익증권  보통주  2020-04-29    2024-01-04  ...               NaT           NaT            1000.0      5592200.0    047190    신한자산운용   
3737  70101BA2   한투소재부품장비A   KOSPI      수익증권  보통주  2020-04-27    2024-01-04  ...               NaT           NaT            1000.0     22440318.0    047240  한국투자신탁운용 
3738  70102BA2   한투소재부품장비C   KOSPI      수익증권  보통주  2020-04-27    2024-01-04  ...               NaT           NaT            1000.0       876917.0    047240  한국투자신탁운용 
3739    141020       디에스앤엘  KOSDAQ        주권  보통주  2013-01-29    2024-01-03  ...        2023-12-20    2024-01-02       유통    500.0     11700533.0
3740    380440   엔에이치스팩19호   KOSPI        주권  보통주  2021-05-21    2024-01-02  ...        2023-12-19    2023-12-28     기타금융    500.0     10258000.0

[3741 rows x 15 columns]

상장폐지 개별종목 가격 데이터 과거 2년 이상 조회 불가 이슈 해결

>>> fdr.DataReader('KRX-DELISTING:068400') # SK렌터카(068400): 상장일~상장폐지(2024-01-31)까지 전체 데이터
              Code   Name Market SecuGroup  Close  UpDown  Change  ChangeRate  Open  High   Low   Volume       Amount        MarCap
Date
2012-07-27  068400  AJ렌터카  KOSPI        주권   6160       2    -300     -0.0464  6460  6470  5700  2601093  15921512180  136421208000
2012-07-30  068400  AJ렌터카  KOSPI        주권   6640       1     480      0.0779  6260  6950  6160  1253604   8337914380  147051432000
2012-07-31  068400  AJ렌터카  KOSPI        주권   6590       2     -50     -0.0075  6640  6720  6350   378717   2474795830  145944117000
2012-08-01  068400  AJ렌터카  KOSPI        주권   6520       2     -70     -0.0106  6500  6630  6420   136753    890749280  144393876000
2012-08-02  068400  AJ렌터카  KOSPI        주권   6380       2    -140     -0.0215  6620  6620  6380   186957   1208055360  141293394000
...            ...    ...    ...       ...    ...     ...     ...         ...   ...   ...   ...      ...          ...           ...
2024-01-24  068400  SK렌터카  KOSPI        주권   9600       0       0      0.0000     0     0     0        0            0  444706003200
2024-01-25  068400  SK렌터카  KOSPI        주권   9600       0       0      0.0000     0     0     0        0            0  444706003200
2024-01-26  068400  SK렌터카  KOSPI        주권   9600       0       0      0.0000     0     0     0        0            0  444706003200
2024-01-29  068400  SK렌터카  KOSPI        주권   9600       0       0      0.0000     0     0     0        0            0  444706003200
2024-01-30  068400  SK렌터카  KOSPI        주권   9600       0       0      0.0000     0     0     0        0            0  444706003200

[2833 rows x 14 columns]

데이터 소스

KRX, NAVER, YAHOO에 대한 정책 일관성 정리

import FinanceDataReader as fdr

# 지정하지 않은 경우 (NAVER에서 가져오며 2000년 이후 데이터)
fdr.DataReader('000100') # (기간 지정 하지 않은 경우) 2000년~현재
fdr.DataReader('000100', '2023') # 2023년 ~ 현재까지 가격 데이터
fdr.DataReader('000100', '2023', '2024') # 2023년 데이터

# KRX
fdr.DataReader('KRX:000100') # (기간 지정 하지 않은 경우) 1995-05-02 ~ 현재, 2년단위로 가져와 병합 반환
fdr.DataReader('KRX:000100', '2020') # 2020년 ~ 현재까지 가격 데이터
fdr.DataReader('KRX:000100', '1900') # 최대 데이터 (1995-05-02 ~ 현재까지)
fdr.DataReader('KRX:000100', '2023-09-23', '2024-12-31') # (2년이 넘는 경우) 2년단위로 가져와 병합 반환

# NAVER
fdr.DataReader('NAVER:000100') # NAVER지정, 2000년 이후 데이터
fdr.DataReader('NAVER:000100', '2023') # 2023년 ~ 현재까지 가격 데이터
fdr.DataReader('NAVER:000100', '2023', '2024') # 2023년 데이터

# YAHOO
fdr.DataReader('YAHOO:000100.KS') # 2000년 이후 데이터
fdr.DataReader('YAHOO:000100.KS', '2023') # 2023년 ~ 현재까지 가격 데이터
fdr.DataReader('YAHOO:000100.KS', '2023', '2024') # 2023년 데이터

KRX 개별종목 가격 데이터 (2년 조회 제한 해결)

>>> fdr.DataReader('KRX:000100') # (기간 지정 하지 않은 경우) 1995-05-02 ~ 현재, 2년단위로 가져와  합쳐서 반환합니다
             Open   High    Low  Close   Volume  Change  UpDown  Comp        Amount         MarCap    Shares
Date
1995-05-02  46600  46600  45629  46600     1840  0.0000       3     0      88220000   145536000000   3032000
1995-05-03  46600  47085  45629  45629     1130 -0.0208       2  -971      54235000   142504000000   3032000
1995-05-04  45823  47085  45629  47085     1900  0.0319       1  1456      89688000   147052000000   3032000
1995-05-06  47183  47571  44658  47085      580  0.0000       3     0      28134000   147052000000   3032000
1995-05-08  47085  48542  47085  48542     4340  0.0309       1  1457     211902000   151600000000   3032000
...           ...    ...    ...    ...      ...     ...     ...   ...           ...            ...       ...
2024-07-08  90000  90200  85900  87400  1490241 -0.0235       2 -2100  130664311800  7010272193600  80209064
2024-07-09  88400  89200  86700  88500  1072095  0.0126       1  1100   94440499600  7098502164000  80209064
2024-07-10  88500  91200  87900  89400  1163763  0.0102       1   900  104262529300  7170690321600  80209064
2024-07-11  89700  91200  88300  88300   773148 -0.0123       2 -1100   68913249000  7082460351200  80209064
2024-07-12  88000  96700  88000  94900  3637834  0.0747       1  6600  338287159700  7611840173600  80209064

[7377 rows x 11 columns]

fdr.StockListing('KRX-DESC') #208

fdr.StockListing('KRX-DESC') 상장법인에 대한 정보를 제공하는 원래 목적에 충실하기 위해 결과에 포함했던 우선주 종목이름과 코드를 제외 #208