Appia의 IT세상

Python[파이썬 주식] 미국 주식 종목(SP500, NASDAQ) 정보 CSV로 추출하기- FinanceDataReader 본문

Python/Python 주식

Python[파이썬 주식] 미국 주식 종목(SP500, NASDAQ) 정보 CSV로 추출하기- FinanceDataReader

Appia 2021. 2. 5. 06:22
반응형

Python[파이썬 주식] 미국 주식 종목(SP500, NASDAQ) 정보 CSV로 추출하기

- FinanceDataReader

앞선 포스팅에서는 FinanceDataReader에서 지원하는 거래소(한국 및 미국 주식)의 관련된 심볼에 대해서 확인하면서 관련된 정보들을 얻어 오는 방법에 대해서 살펴봤습니다. 이번 포스팅에서는 제 지인이 저에게 문의 주신 내용을 바탕으로 진행을 해보고자 합니다. 문의 사항은 SP500종목과 NASDAQ항목을 엑셀로 추출하는 것이었습니다. 하지만, Excel 추출하기 위해서는 별도의 모듈이 필요했기 때문에 이번포스팅은 약간 응용하여 CSV로 추출하는 부분에 대해서 이야기를 해보고자 합니다. 

 

Python[파이썬 주식] 국내, 미국 주식 정보 모으기(스크래핑) - FinanceDataReader 모듈 설치

 

Python[파이썬 주식] 국내, 미국 주식 정보 모으기(스크래핑) - FinanceDataReader 모듈 설치

Python[파이썬 주식] 국내, 미국 주식 정보 모으기(스크래핑) - FinanceDataReader 모듈 설치 이전 포스팅에서 국내 주식 정보를 췩득하기 위해서 Pykrx이라는 모듈을 설치하곤 하였습니다. 국내 주식 분

appia.tistory.com

이번 포스팅은 FinanceDataReader모듈을 바탕으로 진행되기 때문에 관련해서는 위의 링크를 참조하여 설치하여 주시길 바랍니다. 

 

일단, 앞선 포스팅의 내용을 CSV 파일로 추출한다고 생각하시면 보다 편리하실 것으로 보입니다. 먼저, 이전 포스팅에서 사용한 'StockListing'메소드의 결과를 바탕으로 CSV로 추출하게 됩니다. StockListing의 결과는 Pandas에서 사용하는 DataFrame을 사용합니다. 이 부분을 활용하여서 CSV로 추출할 수 가 있습니다. 그럼 간단히 코드를 살펴보겠습니다. 

import FinanceDataReader as fdr

df_NASDAQ = fdr.StockListing('NASDAQ')
print(df_NASDAQ)
df_NASDAQ.to_csv("NASDAQ.csv")
df_SP500 = fdr.StockListing('SP500')
print(df_SP500)
df_NASDAQ.to_csv("SP500.csv")

위의 코드를 실행하면 다음과 같은 결과가 나타납니다. 

D:\BlogProject\venv\Scripts\python.exe D:/BlogProject/FDR/002_Stock_Lising.py
100%|██████████| 3391/3391 [00:04<00:00, 817.24it/s]
     Symbol                                   Name        Industry IndustryCode
0      AAPL                              Apple Inc  컴퓨터, 전화 및 가전제품       571060
1      MSFT                         Microsoft Corp   소프트웨어 및 IT서비스       572010
2      AMZN                         Amazon.com Inc         다양한 소매업       534020
3      TSLA                              Tesla Inc    자동차 및 자동차 부품       531010
4        FB                   Facebook Inc Class A   소프트웨어 및 IT서비스       572010
...     ...                                    ...             ...          ...
3386  NTTNP         National General Holdings Corp              보험       553010
3387  GHACU  Gaming & Hospitality Acquisition Corp          기타 금융업       556010
3388  FOREU             Foresight Acquisition Corp          기타 금융업       556010
3389  VENAU                 Venus Acquisition Corp             NaN          NaN
3390  KRNLU              Kernel Group Holdings Inc          기타 금융업       556010

[3391 rows x 4 columns]
D:\BlogProject\venv\lib\site-packages\FinanceDataReader\wikipedia\listing.py:13: FutureWarning: The default value of regex will change from True to False in a future version.
  df['Symbol'] = df['Symbol'].str.replace('\.', '')
    Symbol  ...                            Industry
0      MMM  ...            Industrial Conglomerates
1      ABT  ...               Health Care Equipment
2     ABBV  ...                     Pharmaceuticals
3     ABMD  ...               Health Care Equipment
4      ACN  ...      IT Consulting & Other Services
..     ...  ...                                 ...
500    YUM  ...                         Restaurants
501   ZBRA  ...  Electronic Equipment & Instruments
502    ZBH  ...               Health Care Equipment
503   ZION  ...                      Regional Banks
504    ZTS  ...                     Pharmaceuticals

[505 rows x 4 columns]

Process finished with exit code 0

이와 같은 결과가 나타나고, CSV 파일이 생성이 될 것입니다. 관련된 결과는 다음과 같은 파일 형태가 될 것입니다. 

NASDAQ.csv
0.21MB
SP500.csv
0.21MB

위의 파일중 하나를 열어 보면 다음과 같은 형태가 나타날 것입니다. 

추출 결과 

 

이와 같은 형태로 관련 데이터 정보를 추출할 수 있습니다. 

 

Python[파이썬 주식] 국내, 미국 주식 정보 모으기(스크래핑):종목데이터 전체 확보하기- FinanceDataReader

 

Python[파이썬 주식] 국내, 미국 주식 정보 모으기(스크래핑):종목데이터 전체 확보하기- FinanceDataRe

Python[파이썬 주식] 국내, 미국 주식 정보 모으기(스크래핑): 종목데이터 전체 확보하기- FinanceDataReader 이전에 포스팅에서는 FinanceDataReader라는 모듈을 설치하는 방법에 대해서 포스팅을 하

appia.tistory.com

 

이번 포스팅에서는 Python[파이썬 주식] 미국 주식 종목(SP500, NASDAQ) CSV로 추출하기- FinanceDataReader라는 주제로 포스팅을 진행해봤습니다. 추가로 앞선 포스팅 링크를 위와 같이 공유 드립니다. 참조하시면 도움이 되실 것 같습니다.  혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다. 

반응형
Comments