-
퀀트 프로젝트 | 파이썬으로 신마법공식 PBR+GP/A 전략 구현하기Capital/Quant 2026. 1. 16. 18:00반응형
1. 신마법공식 PBR+GP/A 전략

신마법공식 PBR+GP/A 전략 앞서 다루었던 가치 지표 전략은 오직 저평가 여부만을 고려하여 종목을 선정하기 때문에 기업의 수익성을 고려하지 못한다는 한계가 있다. 미국 투자자 조엘 그린블라트(Joel Greenblatt)는 단순히 저평가된 기업을 고르는 것이 아니라 저렴하지 않더라도 우량한 기업을 고르는 것이 중요하다고 보았다. 해당 전략은 각 종목별로 가치 지표인 PBR과 수익성 지표인 GP/A를 고려하며, 종합순위 상위 5% 종목에 투자하는 것을 목표로 한다. 이번 프로젝트에서는 앞서 종목별로 획득한 재무제표와 투자지표 정보를 기반으로 종목을 추출할 것이다. 아래 링크로 접속하면 PBR과 GP/A에 대해 확인할 수 있다.
가치 지표(1): PER, PBR
1. 계량투자 2. 가치 지표 2.1. PER, PBR ★ 2.2. PSR, PCR 2.3. EV/EBITDA 3. 수익성 지표 3.1. ROE, ROA 3.2. GP/A 3.3. F-스코어 4. 추세 지표 4.1. 모멘텀 4.2. 정량 모멘텀 1. 가치 지표 가치 지표는 기업의 시장가치를
vedacube.tistory.com
수익성 지표(2): GP/A
1. 계량투자 2. 가치 지표 2.1. PER, PBR 2.2. PSR, PCR 2.3. EV/EBITDA 3. 수익성 지표 3.1. ROE, ROA 3.2. GP/A ★ 3.3. F-스코어 4. 추세 지표 4.1. 모멘텀 4.2. 정량 모멘텀 1. GP/AGP/A = 매출총이익 / 총자산 = (매출액 - 매
vedacube.tistory.com
2. 파이썬 라이브러리 설치
파이썬으로 엑셀에 저장된 데이터를 불러와 표 형태로 다루기 위해서는 몇 가지 라이브러리를 추가로 설치해야 한다. 인터넷에 연결된 상태에서 명령 프롬프트에 아래 명령어들을 하나씩 입력하는 것으로 설치할 수 있다.
pip install pandas pip install numpy3. 프로젝트
3.1. 코스피 코스닥 종목코드 목록 생성
퀀트 프로젝트 | 파이썬으로 코스피 코스닥 종목코드 불러오기 FinanceDataReader
1. 코스피 코스닥 종목코드 불러오기 지금까지 퀀트 전략을 공부했다면 이제 전략을 직접 구현해보자. 전략을 구현하기에 앞서 투자하고자 하는 주식 시장의 모든 상장 종목과 종목코드를 알아
vedacube.tistory.com
3.2. 재무제표 매출총이익, 총자산 크롤링
퀀트 프로젝트 | 파이썬 기반 CompanyGuide 재무제표 크롤링
1. CompanyGuide 한국거래소에 상장한 기업의 재무제표는 기본적으로 전자문서 형태로 발행된다. 대부분의 전자문서가 크롤링 기능을 지원하지 않기 때문에, 실적을 확인하기 위해서는 재무제표 문
vedacube.tistory.com
3.3. 투자지표 PBR 크롤링
퀀트 프로젝트 | 파이썬 기반 CompanyGuide 투자지표 PER, PBR 크롤링
1. 투자지표 크롤링 이번 프로젝트에서는 CompanyGuide에서 제공하는 투자지표를 살펴볼 것이다. 아래 링크로 접속하면 CompanyGuide에서 제공하는 투자지표를 볼 수 있다. 링크를 따라 접속하면 해당
vedacube.tistory.com
3.4. 투자 목록 추출
# 라이브러리 추가 import pandas as pd import numpy as np # 저장된 재무지표 불러오기 print('Starting...') finance_table = pd.read_excel('02_financeTable.xlsx', header=[0, 1], index_col=0) # 저장된 투자지표 불러오기 invest_table = pd.read_excel('04_investIndex.xlsx', header=[0, 1], index_col=0) # 2024년 12월 기준 finance_table = finance_table['2024/12'] invest_table = invest_table['2024/12'] # GP/A 연산 및 순위 생성 finance_table['GP/A'] = finance_table['매출총이익'] / finance_table['자산'] finance_table['GP/A_rank'] = finance_table['GP/A'].rank(ascending=False) # PBR 순위 생성 invest_table['PBR_rank'] = invest_table['PBR'].rank() # 종합순위 생성 및 정렬 table = pd.DataFrame(columns=['PBR', 'PBR_rank', 'GP/A', 'GP/A_rank'], index=finance_table.index.to_list()) table['PBR'] = invest_table['PBR'] table['PBR_rank'] = invest_table['PBR_rank'] table['GP/A'] = finance_table['GP/A'] table['GP/A_rank'] = finance_table['GP/A_rank'] table['Rank_sum'] = table['PBR_rank'] + table['GP/A_rank'] table['Combo_rank'] = table['Rank_sum'].rank() table = table.sort_values('Combo_rank') # 종합순위 상위 5% 선별 rank = 0.05 table = table.iloc[0:int(len(table)*rank)] # 투자목록 저장 table.to_excel('08_investList_PBRGPA.xlsx') print('Completed!')08_investList_PBRGPA.xlsx0.01MB[함께 읽으면 좋은 페이지]
파이썬이란?
1. 프로그래밍 언어 컴퓨터가 작업을 수행하기 위해서는 논리적인 순서에 맞게 명령문이 나열된 작업지시서를 사람으로부터 전달 받아야 한다. 하지만 컴퓨터는 0과 1로 구성된 기계어(machine lang
vedacube.tistory.com
참고문헌
- 강환국. (2017). 할 수 있다! 퀀트 투자. 에프엔미디어.
반응형'Capital > Quant' 카테고리의 다른 글
퀀트 프로젝트 | 파이썬으로 모멘텀 투자 전략 구현하기 (0) 2026.01.23 퀀트 프로젝트 | 파이썬 기반 네이버페이 증권 주가 크롤링 (0) 2025.12.19 퀀트 프로젝트 | 파이썬으로 전자공시시스템 DART에서 재무제표 불러오기 OpenDartReader (0) 2025.11.28 퀀트 프로젝트 | 전자공시시스템 DART 오픈API 인증키 신청 (0) 2024.11.16 투자 지표: 계량투자의 종목 선택 기준 (5) 2024.11.11