본문 바로가기
AyoProject/Ayotera-Trade

[AT] 27. 우량주 종목 자동 예측 및 선정 (4-1)

by 청양호박이 2021. 1. 29.

지난 시간까지는... 전자공시시스템에서 제공하는 OPEN DART의 REST API를 통해서 가져온 재무제표를 활용하여 우량주를 판단하는 로직을 구현해 보았습니다. 간단하게 요약해보면... 재무제표를 통해서 아래의 정보들을 가져오게 되고, 그 정보를 활용하여 우량주를 판단하게 됩니다.

 

사실 해당 정보를 REST API를 통해서 받아오지만 정제하기란 쉽지 않음을 확인해 보셨을 것 같습니다.

이름 필드명
종목 stocks_id
년도 bsns_year
분기 bsns_quarter
매출액 revenue
매출액(누적) revenue_add
영업이익 operating_income
영업이익(누적) operating_income_add
영업활동 현금흐름 operating_cashflow
투자활동 현금흐름 investing_cashflow
재무활동 현금흐름 financing_cashflow

지난 시간에 적용한 로직은...

 

"영업이익율이 10%를 넘는 기업 중에서 현금흐름표가 (+) (-) (-) 인 기업"

 

위의 조건을 만족하는 기업을 찾아내는 것이였고, 실질적으로 100개가 넘는 대상이 선정되었습니다. 그렇다면 이제 추가적으로 몇가지 정보들을 더 활용해서 끄집어내어 보겠습니다. 그럼 시작하겠습니다.

 

  • 우량주 종목 선정을 위한 기반 데이터 수집 방안 (전자공시시스템 활용) - 1개 종목기준
  • 정리된 데이터 수집 방안에 대해서 코스피, 코스닥 전체 종목에 대한 데이터를 DBMS에 적재
  • 우량주 종목 선정 로직을 적용하여 대상 종목 추출
  • 추출된 우량주 종목에 대해서 저평가 종목 추출
  • 추출된 종목에 대해서 실험실 진행

 

보통 수지화된 데이터로 우량주를 뽑는다고 하면, 몇가지 지표를 생각하게 됩니다. 이를테면, ROE / PER / PBR 등등의 지표들이 그것인데요. 간단하게 해당 지표들을 알아보고 우리 로직에는 어떻게 녹여볼지 보겠습니다. 결국 해당 수치들은 조정해 보면서 최적안을 찾아야 하기 때문에 정답은 아닙니다.

(제가 작성한 tensorflow관련 글을 보신다면 이런것들이 결국 하이퍼파라미터가 되는 것이지요~)

 

 

1. Hyper Parameter


[ROE]

 

해당 용어는 Return Of Equity의 약어로... 의미는 자기자본이익율이라는 의미를 가지고 있습니다. 말 그대로 기업이 자신기 보유한 자본을 가지고 얼마나 많은 이익을 냈는지 나타내는 지표입니다. 

 

ROE = 순이익 / 자기자본

 

위의 계산식대로 순이익은 매출액에서 여러가지 들어간 비용을 뺀 정말로 순수한 이익을 말합니다. 그리고 자기자본은 해당 기업이 투자한 설비, 부동산 등에 해당하는 항목으로써, 역시 순수한 자본을 말합니다. 추가적으로 자기자본을 시가총액과 약간 혼동할 수도 있습니다. 하지만 시가총액의 경우 주가가 올라간다면 같이 올라가고, 또한 주가가 내려간다면 같이 내려가는 지표입니다. 따라서 자기자본을 시가총액과 혼동하면 안되겠지요.

 

예를 들어서, 어떤 회사가 100억을 들여서 사무실을 만들고, 필요한 설비를 구축하고, 해서 사업을 시작했다고 합니다. 그리고 1년동안 1억이라는 순이익을 만들었을때, 해당 기업의 ROE는 1이 되는 것 입니다. 

 

[PER]

 

해당 용어는 Price Earning Ratio의 약어로... 의미는 주가수익비율이라는 의미를 가지고 있습니다. 말 그대로 해당 회사의 주가를 주당순이익으로 나누어서 산출하게 됩니다. 

 

PER = 주가 / 주당순이익

 

위의 계산식대로 생각해본다면, 삼성전자가 현재 주가가 50,000이라고 했을때, 1년에 주당 순이익을 10,000을 냈다면 PER은 말 그대로 5가 됩니다. 이에 반하여, 1년에 주당 순이익을 50,000을 냈다면 PER은 1이 됩니다. 돌려서 생각하면, 1년에 주당 순이익이 높을수록 좋기 때문에... PER이 작을수록 종은 종목이라고 할 수 있습니다. 

 

결국 PER이 작은 종목은 저평가 되어있다고 할 수 있는데... PER을 가지고 판단하기에는 참 어려운 점이 많습니다. 왜냐하면, 업종별로도 다르고 현재 가치에 따라서 가치주일경우 또 PER이 클 수도 있고 여러가지 변수가 많기 때문입니다.

 

[PBR]

 

해당 용어는 Price to Book-value Ratio의 약어로... 의미는 주가순자산비율이라는죽 의미를 가지고 있습니다. 말 그대로 순자산과 발행된 주식수를 가지고 1주당 자산비율을 나타내는 값 입니다.

 

PBR = 현재주가 / 주당순자산

BPS(주당순자산) = 순자산 / 발행주식수

 

뭔가 어렵지만 간단하게 말하면... 우선 주당순자산은 1주당 순수한 자산비율을 말합니다. 막말고 기업이 문을 닫을때 1주당 100원이 환원된다고 했을때... 주당순자산은 100이며, 이때 주가도 당연히 100원이 되어야 합니다. 이러한 경우, 현재주가는 100원이고 주당순자산은 역시 100원으로 PBR은 1이됩니다.

 

하지만 동일한 경우에 주가가 300원이라고 한다면, 기업이 문을 닫을때 주주는 한주당 200원의 손해를 보게 됩니다. 이때, PBR은 3이 되는 것이지요. 결국 PBR은 작을수록 좋은 것 이라고 판단할 수 있습니다. 

 

 

2. 적용수치


위에서 여러가지 지표에 대해서 알아보았습니다. 각 지표별로 어떤 상황이 좋은 종목인지 판단도 어느정도 가능해 보입니다. 그래서 지금까지 알아본 지표와 조합해서 우량주 중 저평가된 종목을 선택하는 지표와 그에 대한 hyper parameter도 선정해 보겠습니다.

 

우선 ROE와 PBR을 사용해 보겠습니다. 아무래도 PER은 종목별, 산업군별, 가치별 편차가 너무 심해서 1차적으로 배제하고... 여기에 시가총액이라는 지표를 추가했습니다.

 

  • ROE는 자기자본이익율이기 때문에 높을수록 좋으며, 높다는 기준은 우선 은행금리보다 높다는 기준을 적용하겠습니다. 현재 은행금리는... 매우 낮기때문에 2.5% ~ 3.0%로 구현해 보면서 조정해 보고자 합니다.
  • 시가총액은 해당 종목의 기업의 규모를 판단하기 위한 조건으로 너무 작지도 너무 크지도 않은 선을 선택해야 겠습니다. 계속 조정을 해보겠지만... 저는 우선 5,000억을 그 기준으로 정해보겠습니다.
  • PBR은 주가순자산비율로 낮은수록 좋으며, 1번조건과 2번조건을 만족한다면 낮은순으로 정렬해서 적절한 수준으로 우량주 중 저평가 종목으로 선정하겠습니다.

 

해당 항목들을 추가로 적용하려면, 기존에 만들었던 종목의 기본정보 테이블을 수정해야 할 경우가 생깁니다. 세부적인 내용에 대해서는 다음에 이어서 진행해 보겠습니다.

 

- Ayotera Lab -

댓글