가치 투자라는 것은 성장 가능성만을 보고 투자하지는 않는다. 전망을 신뢰하기 보다 객관적인 자료로 현재 상황을 판단하여 투자하는 방식이다. 필자는 성장 가능성을 주로 보긴 하지만 가치 투자에 근거하여 일부 종목을 매매해보고자 자료를 수집하고 정리해봅니다. 투자에 참고하시길 바랍니다.
가치 투자 정의
기업 가치의 산출에는 여러 가지 방법이 있지만 금융감독원의 ‘유가증권 인수업무에 관한 규정’에서 제시하는 식을 살펴보면 아래와 같다
본질가치 = (자산가치 * 2+ 수익가치 * 3) /5
여기서 자산 가치는 재무상태상의 자본 총계를 의미하며 부채를 뺀 순 자산가치를 의미한다.
자산가치 = 자산총계 – 부채총계 = 순자산가치 = 청산가치
그리고 수익 가치는 기업활동으로 이익으로 발생 가능한 가치이다.
자산가치와 수익가치를 기업의 주식수로 나누면 각각 BPS(=자산가치)와 EPS(=수익가치)로 표현된다.
파이썬 활용 종목 검색
시가총액 2000억 이상이며 1/PER(=기대수익률) > 0.12 이상 그리고 PBR < 1.0 이하이면서 자산가치가 현재 주가보다 높은 종목(가치투자에 따른 상승 기대 종목)을 검색하기 위해 파이썬 코드로 검색해보았다.
대신증권 API 활용, Python 3.6.1(x32)
# find valuable items import win32com.client # declare Cybosplus API cpStockCode = win32com.client.Dispatch("CpUtil.CpStockCode") cpStockMst = win32com.client.Dispatch("dscbo1.StockMst") # not CpDib.StockMst # total num of stock items itNum = cpStockCode.GetCount() print(itNum) for it in range(0, itNum): # get item info itCode = cpStockCode.GetData(0, it) itName = cpStockCode.GetData(1, it) # request info cpStockMst.SetInputValue(0, itCode) cpStockMst.BlockRequest() # get header values managedStatus = chr(cpStockMst.GetHeaderValue(66)) # 관리구분 alarmInvestStatus = chr(cpStockMst.GetHeaderValue(67)) # 투자 경고 구분 tradeStopStatus = chr(cpStockMst.GetHeaderValue(68)) # 거래 정지 구분 unfaithfulNoticeStatus = chr(cpStockMst.GetHeaderValue(69)) # 불성실 공시 구분 exchangeType = chr(cpStockMst.GetHeaderValue(45)) # 소속구분 '1' : 거래소, '5': 코스닥 # filtering items if managedStatus == 'N' and alarmInvestStatus == '1' and tradeStopStatus == 'N' and unfaithfulNoticeStatus == '0': # only to consider KOSPI or KOSDAQ if exchangeType == '1' or exchangeType == '5': currentPrice = int(cpStockMst.GetHeaderValue(11)) # current price (현재가) stockNum = int(cpStockMst.GetHeaderValue(31)) # 발행주식수 marketCap = currentPrice * stockNum EPS = float(cpStockMst.GetHeaderValue(20)) # EPS BPS = float(cpStockMst.GetHeaderValue(70)) # BPS PER = float(cpStockMst.GetHeaderValue(28)) # PER if BPS != 0: PBR = float(currentPrice/BPS) # PBR calculation else: PBR = float('inf') # calc essencial value (본질 가치) assetValue = BPS profitValue = EPS / 0.01 # 10% 할인률 적용 eValue = (assetValue * 2 + profitValue * 3) / 5 if marketCap > 200000000000 and PER != 0 and 1 / PER > 0.12 and PBR < 1.0: if eValue > currentPrice: print(itName + "<" + itCode + ">")
검색 결과 (2017년 8월 13일)
대림산업<A000210>
한국타이어월드와이드<A000240>
기아차<A000270>
대원강업<A000430>
동아쏘시오홀딩스<A000640>
강남제비스코<A000860>
한화<A000880>
대한제분<A001130>
유진투자증권<A001200>
부국증권<A001270>
종근당홀딩스<A001630>
신영증권<A001720>
오리온홀딩스<A001800>
삼호<A001880>
KISCO홀딩스<A001940>
한국유리<A002000>
아세아<A002030>
쌍용양회<A003410>
대신증권<A003540>
현대제철<A004020>
세방<A004360>
대림씨엔에스<A004440>
현대차<A005380>
넥센<A005720>
풍산홀딩스<A005810>
에스엘<A005850>
동아타이어<A007340>
서연<A007860>
현대모비스<A012330>
동원개발<A013120>
유니드<A014830>
부산가스<A015350>
예스코<A015360>
한국전력<A015760>
SK가스<A018670>
유진기업<A023410>
기업은행<A024110>
원익홀딩스<A030530>
교보증권<A030610>
LG디스플레이<A034220>
평화정공<A043370>
세아홀딩스<A058650>
세이브존I&C<A067830>
현대백화점<A069960>
GS<A078930>
휠라코리아<A081660>
대한제강<A084010>
한화생명<A088350>
현대EP<A089470>
SK이노베이션<A096770>
메리츠금융지주<A138040>
BNK금융지주<A138930>
DGB금융지주<A139130>
JB금융지주<A175330>
아세아시멘트<A183190>
광주은행<A192530>
서연이화<A200880>
코라오홀딩스<A900140>
GRT<A900290>
참조