-
퀀트 프로젝트 | 파이썬 기반 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 재무제표는 기본적으로 전자문서 형태로 발행된다. 대부분의 전자문서가 크롤링 기능을 지원하지 않기 때문에, 실적을 확인하기 위해서는 재무제표 문서를 직접 읽어야 한다. 202
vedacube.tistory.com
파이썬이란?
1. 프로그래밍 언어 컴퓨터가 작업을 수행하기 위해서는 논리적인 순서에 맞게 명령문이 나열된 작업지시서를 사람으로부터 전달 받아야 한다. 하지만 컴퓨터는 0과 1로 구성된 기계어(machine
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