본문 바로가기

주식투자

상장 주식 목록 가져오기 (코스피, 코스닥, 나스닥, NYSE, S&P500)

python 의 finance-datareader 라이브러리를 이용하면 코스피, 코스닥, 나스닥, NYSE, S&P500 등 상장 주식 목록을 편하게 가져올 수 있다. 

 

python 라이브러리 설치

먼저 아래와 같이 finance-datareader 를 설치 해주어야 한다.

$ pip install finance-datareader

 

코스피 상장 주식 목록

import FinanceDataReader as fdr

kospi = fdr.StockListing("kospi")
print(kospi)

 

위와 같이 코드 몇 줄만으로 코스피 상장 주식 목록을 가져올 수 있다.

       Code        ISU_CD      Name  ...           Marcap      Stocks MarketId
0    005930  KR7005930003      삼성전자  ...  433406213130000  5969782550      STK
1    373220  KR7373220003  LG에너지솔루션  ...  100737000000000   234000000      STK
2    000660  KR7000660001    SK하이닉스  ...   92820301537500   728002365      STK
3    207940  KR7207940008  삼성바이오로직스  ...   50462366000000    71174000      STK
4    005935  KR7005931001     삼성전자우  ...   48056583280000   822886700      STK
..      ...           ...       ...  ...              ...         ...      ...
947  014915  KR7014911002     성문전자우  ...       4494000000      600000      STK
948  002785  KR7002781003    진흥기업우B  ...       4320378720      857218      STK
949  001525  KR7001521004       동양우  ...       3897882610      617731      STK
950  001527  KR7001522002     동양2우B  ...       3764541800      308569      STK
951  002787  KR7002782001   진흥기업2우B  ...       3752905840      294808      STK

[952 rows x 17 columns]

 

S&P500 지수에 포함된 주식 종목

해외 주식도 같은 방식으로 가져올 수 있다.

import FinanceDataReader as fdr

snp500 = fdr.StockListing("s&p500")
print(snp500)

 

kospi 대신 s&p500 을 넣으면 s&p500 지수에 포함된 주식 종목을 가져올 수 있다.

    Symbol  ...                            Industry
0      MMM  ...            Industrial Conglomerates
1      AOS  ...                   Building Products
2      ABT  ...               Health Care Equipment
3     ABBV  ...                     Pharmaceuticals
4      ACN  ...      IT Consulting & Other Services
..     ...  ...                                 ...
498    YUM  ...                         Restaurants
499   ZBRA  ...  Electronic Equipment & Instruments
500    ZBH  ...               Health Care Equipment
501   ZION  ...                      Regional Banks
502    ZTS  ...                     Pharmaceuticals

[503 rows x 4 columns]

 

추가 옵션 및 정보

위 kospi 와 s&p500 처럼 StockListing 호출 시 넘길 수 있는 옵션들은 아래와 같다.

 

 

'KRX', 'KOSPI', 'KOSDAQ', 'KONEX', 'KRX-MARCAP', 'KRX-DESC', 'KOSPI-DESC', 'KOSDAQ-DESC', 'KONEX-DESC','NASDAQ', 'NYSE', 'AMEX', 'SSE', 'SZSE', 'HKEX', 'TSE', 'HOSE','S&P500','KRX-DELISTING', 'KRX-ADMINISTRATIVE', 'KRX-MARCAP','ETF/KR'

 

각각의 옵션별로 종목 리스트를 가져오는 소스가 다르다. krx, naver, wiki 등이 있는 것 같다. 해외 주식 목록은 대부분 네이버를 통해서 가져오는 것으로 보이고 s&p500 지수는 wiki 에서 가져오도록 되어있다.

 

S&P500 지수에 포함된 주식 목록이 있는 Wiki

 

List of S&P 500 companies - Wikipedia

From Wikipedia, the free encyclopedia The S&P 500 stock market index is maintained by S&P Dow Jones Indices. It comprises 503 common stocks which are issued by 500 large-cap companies traded on American stock exchanges (including the 30 companies that comp

en.wikipedia.org

 

 

wiki 는 누구나 수정할 수 있는 페이지이기 때문에 정확하지 않을수도 있지 않을까?

그래서 나는 slickcharts 에서 제공하는 정보를 사용하는 편이다.

 

 

 

S&P 500 Companies by Weight

Data Details The list has 503 symbols due to several companies with two share classes. For example, Google's parent company Alphabet has Class A (GOOGL) and Class C (GOOG) shares in the index. The index is constructed using a capitalization weighted index

www.slickcharts.com

 

slickcharts 에 있는 내용을 이용해서 s&p500 종목 리스트를 가져오는 방법은 아래 글에서 확인할 수 있다.

 

 

미국 주식 S&P500 주식 종목 가져오기

나스닥에 상장된 주식은 5000개가 넘는다. 퀀트 투자를 위해서는 분석 대상 주식 목록을 먼저 알아야 한다. 그런데 주식의 목록이 이렇게 너무 많다면 분석하는데 시간이 너무 오래 걸리고 비효

dkgkim.tistory.com