소스를 수정해서 다시 돌려보기 바란다.
OIR 함수의 Math.log 부분을 아래의 상용함수로 바꿔서 실행하기 바란다. 자바스크립트에 상용로그가 없어서 추가하였다.
Math.log 를 log10으로 바꿔서 실행하면 된다. 바꿔서 수행해도 영업이익개선율의 수익률은 22.62%로 변함이 없다.
// 상용 로그 함수 함수추가
function log10(x) {
return Math.log(x) / Math.log(10);
}
소스 수정됨 2021.11.01
강환국 선생의 새로운 책인 "하면된다 퀀트투자"를 보다가 개선해야 될 점이 보여 글을 쓰게 되었다. 강 선생이 새로 쓴 책은 아주 좋다. 새로운 전략으로 가득하기 때문이다. 또한 재무제표에서 쓸만한 지표는 모두 정리해 놓았다. 참고로 필자는 강환국 선생과 어떠한 관계도 없다.
강 선생이 새로 개발한 울트라 전략에 쓰인 지표중에 이익모멘텀(영업이익 증가율, 당기순이익 증가율)이 있다. 이익증가율은 YoY와 QoQ로 비교하고 있다. 그런데 이 지표들은 약점을 가지고 있어서 개선이 필요하다.
이익모멘텀의 약점은 무엇인가?
강환국 선생 뿐만 아니라 일부 증권사의 애널리스트들도 이익 증가율을 쓰고 있다. 그런데 증가율(비율)이라는 것은 절대적인 금액(시가총액 혹은 자산총계 혹은 자본총계)과 비교하지 않으면 쓸모 없어지는 경우가 있다. 예를들어 당신이 전년동기대비 당기순이익이 100% 증가 했다는 기사를 인터넷에서 봤다고 치자. 그럼 매수를 해야 될까? 매수하기 전에 재무제표를 보아야 한다.
전년동기대비 당기순이익 100% 증가에 속지마라
전년동기의 당기순이익이 10억원이라면? 그래서 이번 분기에 20억이 되었다면 증가율은 100%가 옳다. 그런데 시가총액이 1조라면 이런 회사는 문을 닫아야 한다. 반대로 시가총액이 100억이라면 당기순이익 증가액 10억을 보고 매수하기 좋다고 생각할 수 있다. 하지만 시가총액이 조금만 커져도 ROE나 ROA 가 1%도 안되는 회사가 되어 공매도 대상으로 빠질 뿐이다. 따라서 반드시 이익 증가율 같은 지표는 시가총액이나 자산총계와 비교해서 의미없는 종목들을 걸러내야 한다.
이익모멘텀의 새로운 지표 PIR, IPA
PIR : Price OperatingIncome(영업이익) Increasing Ratio 라고 한다. 아래의 백테스트에서 사용한 지표는 POIR이다. 영업이익을 사용했기 때문이다. 당기순이익을 사용한다면 PEIR이 될것이다. 혹은 당신이 이익을 영업현금흐름으로 바꿔서 PCIR로 사용할 수도 있다. 식은 다음과 같다. 아래와 같은 방식으로 이익성장 뿐만 아니라 매출액 성장성도 구할수 있다.
PIR( POIR ) = ( 현재분기 영업이익 - 전년동기 영업이익 ) / 시가총액
PIR( PEIR ) = ( 현재분기 당기순이익 - 전년동기 당기순이익 ) / 시가총액
PIR( PCIR ) = ( 현재분기 영업현금흐름 - 전년동기 영업현금흐름 ) / 시가총액
PIR( PGIR ) = ( 현재분기 매출총이익 - 전년동기 매출총이익 ) / 시가총액
위의 식대로 하면 영업이익 증가액과 시가총액을 비교하게 됨으로 의미없는 "증가율 100%"를 필터 해버릴 수 있다. 그리고 PIR이 큰 순으로 정렬해서 TOP 20개 종목을 보유해도 좋을 것이다. 성장율 지표는 위의 방식대로 처리하거나, 피터린치의 방식(PEG)으로 처리해야만 숨어있는 악성 종목들을 제거 할 수 있다. 이제 두번째 새로운 지표를 보자.
IP/A : OperatingIncome(영업이익) Increasing Per Assets 라고 한다. 아래의 백테스트에서 사용한 지표는 OIPA이다. 영업이익을 사용했기 때문이다. 당기순이익을 사용한다면 EIPA이 될것이다. 식은 아래와 같다.
IP/A( OIPA ) = ( 현재분기 영업이익 - 전년동기 영업이익 ) / 자산총계
IP/A( EIPA ) = ( 현재분기 당기순이익 - 전년동기 당기순이익 ) / 자산총계
IP/A( CIPA ) = ( 현재분기 영업현금흐름 - 전년동기 영업현금흐름 ) / 자산총계
IP/A( GIPA ) = ( 현재분기 매출총이익 - 전년동기 매출총이익 ) / 자산총계
새 지표를 사용해서 백테스트한 결과는 어떤가?
백테스트는 시가총액 구분을 하지 않았으며, 각 지표로 정열을 하여 제일 좋은 상위 20종목을 선택하였다. 대략 21년간 백테스트 한 결과 강환국 선생이 사용한 이익증가율 지표는 비록 악성 종목들을 걸러내진 못하지만, 연수익율이 22.62%로 시장을 이기긴 한다. 여기서 최초로 소개한 지표인 PIR은 연수익률이 40.42% 로 꽤 차이가 난다. IP/A도 27.74%로 이익증가율을 비트한다.
새로운 지표를 시가총액 하위 20% 로 한정해서 백테스트 한다면?
소형주에선 수익률이 훨씬 커질것이다. 아마 놀랄것이다. 코스피와 코스닥 차트가 바닥에 딱 들러붙어 보일 것이다. 직접 테스트 해보길 바란다. 결과는 아래 그림과 같다.
기존 지표인 PER, GP/A와 새로운 지표를 비교하면 어떤가?
백테스트에 기존에 사용하던 대표적 지표인 PER과 GP/A를 일부러 넣어두었다. 새 지표와 비교하기 위함이다. PIR과 PER을 비교해보고, IP/A와 GP/A를 비교해 보기 바란다. 결론은 고전적 지표보다 새로운 지표가 수익률이 높다.
미국에서의 성과는 어떤가?
2011년부터 오늘까지 테스트 해본 결과 미국에서도 통한다. 미국 백테스트 시 수익률이 PIR은 PER을 이기지만, IP/A는 GP/A에 진다. 그런데 새로운 지표든 고전적인 지표든 간에 시장에 진다. S&P500이 최고다. 미국시장은 효율적이기 때문에 어떤 지표를 하나 사용한다고 해서 시장을 이기진 못한다고 생각한다.
결론: 한국에서 성장성 지표는 PIR, IP/A
미국 시장에서도 PIR과 IP/A가 고전적 지표와 수익률이 비슷하게 나오지만 시장대비 초과수익을 내진 못한다. 하지만 필자는 한국인이고 한국에서 퀀트를 할것이기 때문에 내가 만든 새로운 지표 2개를 사용할 것이다.
한국 주식시장에서는 PIR과 IP/A가 시장보다 월등하게 수익률이 높다. 또한 고전적인 지표인 PER이나 GP/A과 비교해도 수익률이 높다. 따라서 새로운 성장 지표 두 가지를 잘 이용해서 투자하면 초과수익을 낼 것이라 믿는다.
PS :
새로운 지표를 사용하여 글을 쓰거나 방송을 할 경우 출처를 밝혀주기 바란다. 그리고 인텔리퀀트에서 PIR, IP/A 지표를 블럭코딩에서도 사용할 수 있게 되었으면 좋겠다.
그리고 강환국 선생. 빨리 이익모멘텀을 PIR로 바꾸시오. 독자로서 부탁이오 ㅎ ㅎ