-
퀀트 프로젝트 | 파이썬 기반 CompanyGuide 투자지표 PER, PBR 크롤링Capital/Quant 2024. 4. 12. 18:00
1. 투자지표 크롤링
투자지표 이번 프로젝트에서는 CompanyGuide에서 제공하는 투자지표를 살펴볼 것이다. 아래 링크로 접속하면 CompanyGuide에서 제공하는 투자지표를 볼 수 있다. 링크를 따라 접속하면 해당 종목의 연도별 PER, PBR, PSR, PCR, EV/EBITDA 등이 정리되어 있다. 종목코드를 바꿔가면서 해당 페이지를 크롤링하면 모든 종목의 투자지표를 불러올 수 있을 것이다. 이번 프로젝트에서는 앞서 만들었던 종목코드 파일을 불러온 뒤 CompanyGuide 투자지표 페이지에서 모든 종목의 투자지표, 특히 PER과 PBR을 자동으로 크롤링하는 기능을 파이썬 코드로 구현해보자.
삼성전자(A005930) | 투자지표 | 기업정보 | Company Guide
삼성전자 005930 | 12월 결산 | <!-- SamsungElec | --> 홈페이지 홈페이지 --> 홈페이지http://www.samsung.com 전화번호 전화번호031-200-1114 | IR 담당자 031-200-1114 주소 주소경기도 수원시 영통구 삼성로 129 (매탄
comp.fnguide.com
2. 프로젝트
2.1. 코스피 코스닥 종목코드 목록 생성
퀀트 프로젝트 | 파이썬으로 코스피 코스닥 종목코드 불러오기 FinanceDataReader
1. 코스피 코스닥 종목코드 불러오기 지금까지 퀀트 전략을 공부했다면 이제 전략을 직접 구현해보자. 전략을 구현하기에 앞서 투자하고자 하는 주식 시장의 모든 상장 종목과 종목코드를 알
vedacube.tistory.com
2.2. 투자지표 PER, PBR 크롤링
# 라이브러리 추가 import requests import pandas as pd import io import time # 투자지표 PER, PBR 크롤링 함수 def crawling_invest(firm_code): url = 'https://comp.fnguide.com/SVO2/ASP/SVD_Invest.asp?pGB=1&cID=&MenuYn=Y&ReportGB=D&NewMenuID=103&stkGb=701&gicode=' + firm_code page = requests.get(url) table = pd.read_html(io.StringIO(page.text)) total_table = table[3] total_table = total_table.set_index(total_table.columns[0]) total_table = total_table.loc[['PER계산에 참여한 계정 펼치기', 'PBR계산에 참여한 계정 펼치기']] total_table.index = ['PER', 'PBR'] return total_table # 저장된 종목코드 불러오기 code_data = pd.read_excel('KRX_stock_list.xlsx') code_data = code_data[['Code']] # 투자지표 크롤링 for idx, firm_code in enumerate(code_data['Code']): print(idx + 1, '/', len(code_data['Code'])) try: # 종목별 투자지표 크롤링 try: sub_finance_table = crawling_invest(firm_code) except requests.exceptions.Timeout: time.sleep(60) sub_finance_table = crawling_invest(firm_code) # 종목별 투자지표 정리 for num, col in enumerate(sub_finance_table.columns): temp = pd.DataFrame({firm_code : sub_finance_table[col]}).T temp.columns = [[col] * len(sub_finance_table), temp.columns] if num == 0: temp_arranged = temp else: temp_arranged = pd.merge(temp_arranged, temp, how='outer', left_index=True, right_index=True) # 투자지표 통합 if idx == 0: invest_table = temp_arranged else: invest_table = pd.concat([invest_table, temp_arranged]) except ValueError: continue except KeyError: continue # 투자지표 저장 invest_table.to_excel('invest_table.xlsx')
[함께 읽으면 좋은 페이지]
가치 지표(1): PER, PBR
1. 가치 지표 가치 지표는 기업의 시장가치를 상대적으로 평가하는 지표로, 당기순이익, 자기자본, 매출액, 영업현금흐름 등을 해당 기업의 시가총액과 비교한다. 현재 주가가 기업이 창출하는
vedacube.tistory.com
퀀트 프로젝트 | CompanyGuide 재무제표 크롤링
1. CompanyGuide 재무제표는 기본적으로 전자문서 형태로 발행된다. 대부분의 전자문서가 크롤링 기능을 지원하지 않기 때문에, 실적을 확인하기 위해서는 재무제표 문서를 직접 읽어야 한다. 2024년
vedacube.tistory.com
퀀트 프로젝트 | CompanyGuide 재무비율 ROA, ROE 크롤링
1. 재무비율 크롤링 이번 프로젝트에서는 CompanyGuide에서 제공하는 재무비율을 살펴볼 것이다. 아래 링크로 접속하면 CompanyGuide에서 제공하는 재무비율을 볼 수 있다. 링크를 따라 접속하면 해당
vedacube.tistory.com
참고문헌
- 박준규. (2019). 퀀트 전략 파이썬으로 세워라. 비제이퍼블릭.
반응형'Capital > Quant' 카테고리의 다른 글
투자 지표: 계량투자의 종목 선택 기준 (5) 2024.11.11 퀀트 프로젝트 | 파이썬으로 PER+PBR 콤보 전략 구현하기 (1) 2024.11.10 퀀트 프로젝트 | 파이썬 기반 CompanyGuide 재무비율 ROA, ROE 크롤링 (0) 2024.04.05 퀀트 프로젝트 | 파이썬 기반 CompanyGuide 재무제표 크롤링 (0) 2024.03.29 퀀트 프로젝트 | 파이썬으로 코스피 코스닥 종목코드 불러오기 FinanceDataReader (1) 2024.03.22