매출총이익/자산총계라고 알려진 이 공식이 대부분의 주식에서는 문제가 없는데
금융주의 경우 매출총이익 항목이 공시되지 않는 경우가 있어서
부득이하게 로컬에서 R을 이용해 분석할 때는 이러한 종목을 제외하고 분석했는데
혹시, 인텔리퀀트에서는 어떻게 대처하고 있으신 지 또한, 어떻게 금융주는 계산하는게 맞는 건지 여쭤봅니다.
매출총이익/자산총계라고 알려진 이 공식이 대부분의 주식에서는 문제가 없는데
금융주의 경우 매출총이익 항목이 공시되지 않는 경우가 있어서
부득이하게 로컬에서 R을 이용해 분석할 때는 이러한 종목을 제외하고 분석했는데
혹시, 인텔리퀀트에서는 어떻게 대처하고 있으신 지 또한, 어떻게 금융주는 계산하는게 맞는 건지 여쭤봅니다.
GP/A 에서 Gross Profit, 즉 매출총이익 = 매출액 - 매출원가 인데, 금융주를 비롯하여 서비스 업종의 기업들 상당부분에서 매출원가 = 0가 되어 매출총이익 = 매출액 이 되는 일이 발생하게 됩니다. 저희가 기본 제공하는 Stock 객체 API 함수에서는 GP/A는 기본 제공하지 않으므로, 위와 같이 서비스 업종에서 GP를 계산하는 방식은 사용자가 원하는 대로 처리하시면 됩니다. 참고로, 블록 알고리즘에서는 모든 종목에 대하여 GP/A 지표를 만들어 줄 필요가 있어서 아래와 같이 함수 정의를 하고 있습니다. (스크립트로 내보내기 해 보시면 확인할 수 있습니다): "_gpoa": function(stock) { if (stock.getFundamentalTotalAsset() === 0) { return -99999999; } var GP = stock.getFundamentalOperatingIncome() + stock.getFundamentalSellingExpense(); return 4 * GP / stock.getFundamentalTotalAsset(); } 즉, 영업이익 = 매출총이익 - 판관비 이므로, 오히려 역산을 해서 매출총이익 = 영업이익 + 판관비로 계산하도록 했습니다. (4를 곱한 건 연율화 때문) 도움이 되셨기를 바랍니다.