강의

멘토링

커뮤니티

Inflearn Community Q&A

kliste0702190's profile image
kliste0702190

asked

Finding Signals and Noise through Python Stock Data Collection and Analysis

[1/3] Everything about Financial Data Collection: FinanceDataReader

fdr.StockListing('KRX') 이슈

Written on

·

680

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

전체 종목을 불러올때 fdr.StockListing('KRX') 으로 받아오는데.. 교수님이 강의해주신 카테고리와 다르게 나오고 있습니다.

 

혹시나 해서 FinanceDataReader 사용자 안내 가서 봤는데.. 해당 부분에서는 교수님 설명그대로 나오고 있습니다...

 

FinanceDataReader에서 문제가 발생한건가요?

웹-크롤링pythonpandasnumpyplotlyseaborn웹 스크래핑matplotlib

Answer 2

0

이 코드도 에러가 발생합니다.

0

todaycode님의 프로필 이미지
todaycode
Instructor

안녕하세요.

최근 FinanceDataReader 에도 업데이트가 있었고 한국거래소에서 보내주는 데이터에 Market 이 누락되어 있습니다. 일단 아래 코드로 기존처럼 상장종목을 불러올 수 있지만 Market 은 제외하고 봐주세요!

FinanceDataReader 에서 최근 investing.com 에서 불러오는 종목 정보에 대한 이슈 때문에 yahoo finance 로 불러오는 위치가 변경되기도 했습니다. 대대적인 업데이트와 함께 한국거래소 제공데이터도 조금 달라지다보니 혼란을 드리게 되어 죄송합니다. 추가 업데이트가 있으면 다시 답글을 남기겠습니다.

아래의 코드를 사용하면 한국거래소의 상장종목을 바로 받아올 수 있습니다. 코드의 출처는 FinanceDataReader 내부 소스코드 입니다.

 

import pandas as pd

url = 'http://kind.krx.co.kr/corpgeneral/corpList.do?method=download&searchType=13'
df_listing = pd.read_html(url, header=0, flavor='bs4', encoding='EUC-KR')[0]
cols_ren = {'회사명':'Name', '종목코드':'Symbol', '업종':'Sector', '주요제품':'Industry', 
                    '상장일':'ListingDate', '결산월':'SettleMonth',  '대표자명':'Representative', 
                    '홈페이지':'HomePage', '지역':'Region', }
df_listing = df_listing.rename(columns = cols_ren)
df_listing['Symbol'] = df_listing['Symbol'].apply(lambda x: '{:06d}'.format(x))
df_listing['ListingDate'] = pd.to_datetime(df_listing['ListingDate'])
df_listing
kliste0702190's profile image
kliste0702190

asked

Ask a question