깡토의 재무 조건을 내 추세추종 시스템에 붙여봤다
깡토의 《손실은 짧게 수익은 길게》를 읽고 나서 한 가지가 궁금해졌다.
차트만 보고 종목을 고르는 것보다, 실적이 실제로 좋아지는 기업만 남기면 추세추종 성과도 좋아질까?
깡토는 책에서 단순히 많이 오른 종목을 사는 것이 아니라, 기업의 매출과 이익이 성장하고 있는지, 현금흐름은 괜찮은지, 재무적으로 무리하고 있지는 않은지를 함께 살펴본다.
그래서 책에서 이야기하는 관점을 참고해 내가 중요하다고 생각한 재무 조건을 수치로 만들었다. 이름은 K-FUND, 일명 '깡토 조건'이다.
다만 이 조건이 책에 그대로 제시된 공식은 아니다. 《손실은 짧게 수익은 길게》에서 설명한 기업 선별 관점을 내 백테스트에 적용할 수 있도록 재구성한 것이다.
어떤 회사를 남겼나
K-FUND가 찾는 기업은 단순하다.
매출이 성장하고 있고, 본업에서 이익과 현금을 만들어내며, 수익성이 나빠지지 않는 회사다. 여기에 부채가 과도하지 않은지도 확인했다.
조건은 다음과 같다.
- 최근 12개월 매출이 전년보다 성장했을 것
- 최근 12개월 영업이익이 흑자일 것
- 영업이익이 15% 이상 성장했거나 흑자로 전환했을 것
- 영업이익률이 전년보다 나빠지지 않았을 것
- 영업현금흐름이 플러스일 것
- 순부채가 EBITDA의 3배 이하일 것
- 매출·영업이익·영업이익률이 동시에 악화된 기업은 제외할 것
이 조건은 싼 기업을 찾기 위한 것이 아니다.
가격이 조금 비싸더라도 본업에서 현금을 벌고 있고, 실적의 방향이 위를 향하는 기업을 찾는 필터에 가깝다.
당시 알 수 있었던 재무정보만 사용했다
재무 조건을 백테스트할 때 가장 조심해야 하는 것은 미래 정보의 유출이다.
예를 들어 2015년 실적을 2015년 초부터 알고 있었다고 가정하면 결과가 실제보다 좋아진다. 투자자는 공시가 나오기 전까지 그 정보를 알 수 없기 때문이다.
이번 검증에서는 SEC EDGAR의 전 기업 XBRL 원본을 사용했다. 각 재무 수치는 실제 공시 접수일 다음 거래일부터만 반영했다. 수정 재무제표도 수정 공시가 나온 이후부터 적용했다.
신호 발생일과 당시 확인할 수 있었던 최신 공시 사이의 시차는 중앙값 46일이었다. 공시보다 먼저 재무정보가 사용된 사례는 없었다.
검증 기간은 2012년 6월부터 2026년 9월까지다. 미국주식 999개 종목에서 발생한 83,063개의 신호를 대상으로 48개 경로를 비교했다.
결과는 꽤 좋았다
| 지표 | 기존 전략 | K-FUND |
|---|---|---|
| 연복리 중앙값 | 10.19% | 11.83% |
| 최대낙폭 중앙값 | 27.74% | 25.32% |
| 거래당 평균 R 배수 | 0.240 | 0.325 |
| PF | 1.38 | 1.52 |
| 승률 | 30.2% | 32.0% |
| 평균 투자비중 | 76.6% | 76.5% |
CAGR은 연평균 복리수익률이다. 여러 해 동안 자산이 매년 평균적으로 얼마나 성장했는지를 보여준다.
MDD는 고점에서 저점까지 발생한 최대 하락률이다. 수익률이 같다면 MDD가 낮을수록 실제로 유지하기 쉬운 전략에 가깝다.
이번 백테스트에서 총 R은 현재 보유한 모든 포지션이 손절가에 도달했을 때 계좌 전체에서 발생하는 손실을 뜻하며, 최대 3%로 제한했다.
표의 거래당 평균 R 배수는 각 거래의 손익을 해당 거래의 초기 손절 위험으로 나눈 값이다. 계좌 전체의 총 R과는 구분해서 봐야 한다.
K-FUND를 적용하자 연복리는 높아지고 MDD는 낮아졌다. 거래당 평균 R과 PF도 이번 재무 조건 검증에서 가장 좋은 수준이었다.
신호를 6분의 1로 줄였는데 자금은 놀지 않았다
K-FUND를 통과한 신호는 14,584개였다. 기존 신호 83,063개의 약 17.6%다.
신호는 6분의 1 수준으로 줄었지만 평균 투자비중은 76.6%에서 76.5%로 거의 달라지지 않았다. 거래 수도 1,100건에서 1,039건으로만 줄었다.
통과하는 종목을 크게 줄이면서도 리스크 슬롯을 채울 만큼의 신호는 남아 있었던 것이다.
조건은 엄격할수록 좋은 게 아니다. 필터가 너무 강하면 좋은 종목을 고르기 전에 살 종목 자체가 사라진다. K-FUND의 17.6% 통과율은 종목을 거르면서도 자본을 놀리지 않는 수준이었다.
가장 좋았던 것은 대박 한 종목에 대한 의존도가 줄었다는 점이다
기존 전략은 상위 10개 거래가 전체 수익의 84.1%를 만들었다. K-FUND를 적용하자 이 비중이 66.3%로 낮아졌다.
상위 10개 거래를 모두 제거했을 때의 연복리도 3.48%에서 6.12%로 높아졌다.
시드 0에서는 기존 총수익의 34%가 WDC 한 종목에서 나왔다. 상위 5개 종목의 비중은 76.5%였다. K-FUND 적용 후에는 상위 5개 종목의 비중이 39.8%까지 내려갔다.
거래한 종목 수는 624개에서 425개로 줄었지만 수익의 종목 집중도도 함께 낮아졌다.
추세추종은 원래 소수의 큰 수익이 전체 성과를 만드는 전략이다. 그 성질을 없앨 필요는 없다. 다만 특정 종목 몇 개가 없으면 결과가 무너지는 구조보다 여러 종목에서 큰 수익이 분산되는 편이 더 안정적이다.
이번 결과에서 내가 가장 긍정적으로 본 부분도 이것이다.
그렇다고 바로 시스템에 넣을 수 있는 것은 아니다
48개 경로 가운데 K-FUND가 기존 전략보다 좋았던 것은 34개였다.
평균적인 효과는 분명했지만, 약 3분의 1의 경로에서는 오히려 성과가 나빠졌다. 내가 실제로 겪게 되는 것은 평균이 아니라 그중 하나의 경로다.
시기별 차이도 컸다.
| 기간 | 기존 전략 | K-FUND |
|---|---|---|
| 2013~2019년 | 9.74% | 9.12% |
| 2020~2026년 | 9.53% | 13.38% |
성과 개선의 대부분이 2020년 이후에 발생했다. 전반기에는 오히려 기존 전략보다 연복리가 낮았다.
K-FUND가 어느 시장에서나 작동하는 조건인지, 최근 성장주 환경에 특히 잘 맞았던 것인지는 더 확인해야 한다.
좋은 종목을 골랐다는 증거도 아직 충분하지 않다
K-FUND를 통과한 거래의 평균 성과는 탈락한 거래보다 높았다.
하지만 통과 표본이 충분하지 않아 통계적 신뢰구간에는 0이 포함됐다. 현재 결과만으로 K-FUND가 개별 종목의 미래 수익률을 독립적으로 예측한다고 단정할 수는 없다.
다만 같은 날 여러 신호가 발생했을 때 한정된 리스크 슬롯을 어떤 종목이 먼저 차지할지는 달라졌다.
내 시스템은 총 리스크가 살아 있는 포지션을 최대 5개까지 받는다. 스톱이 진입가 위로 올라가면 리스크 슬롯에서는 빠지지만 종목은 계속 보유한다. 실제 동시 보유 종목은 중앙값 7개, 최대 12개였다.
K-FUND는 거래 수를 크게 줄이기보다 경쟁하는 신호 사이의 우선순위를 바꿨다.
현재로서는 '오를 종목을 정확히 맞혔다'기보다 '내 추세추종 시스템에 더 잘 맞는 종목이 먼저 들어오게 했다'고 해석하는 편이 정확하다.
싸다고 좋은 것은 아니었다
재무건전성과 별도로 밸류에이션 조건도 검증했다.
PEG, 이익 성장 대비 기업가치, 매출 성장 대비 EV/Sales 등을 이용해 상대적으로 싼 종목부터 진입하게 했다.
결과는 좋지 않았다.
연복리는 8.09%로 낮아졌고, 거래당 평균 R 배수도 0.175로 떨어졌다. 48개 경로 중 기존 전략을 이긴 것은 9개뿐이었다.
적어도 내 시스템에서는 좋은 추세가 나온 종목 중 싼 종목을 우선하는 방식이 효과적이지 않았다.
좋은 회사와 싼 주식은 같은 말이 아니다. 추세추종에서는 비싸 보이는 가격 자체가 강한 수요와 성장 기대를 보여주는 신호일 수도 있다.
아직은 유망한 후보 단계다
《손실은 짧게 수익은 길게》를 참고해 만든 K-FUND는 지금까지 검증한 재무 조건 가운데 가장 인상적인 결과를 냈다.
연복리는 높아졌고 MDD는 낮아졌다. 평균 R과 PF가 개선됐으며 소수 대박 종목에 대한 의존도도 줄었다. 신호를 크게 줄이고도 투자비중이 유지됐다는 점도 좋았다.
하지만 아직 내 시스템의 최종 룰로 확정하지는 않았다.
성과가 2020년 이후에 편중돼 있고 모든 경로에서 개선된 것도 아니다. 현재 유니버스가 2026년 지수 구성종목을 기준으로 하기 때문에 파산하거나 상장폐지된 기업이 빠져 있는 생존편향도 남아 있다.
다음 단계는 상장폐지·파산 기업을 포함한 유니버스로 다시 검증하는 것이다. 기간과 시장 환경을 더 세분화하고 특정 업종에 결과가 의존하는지도 확인할 생각이다.
백테스트 숫자가 좋아졌다는 이유만으로 룰을 추가하면 시스템은 점점 복잡해진다.
내가 원하는 것은 과거 데이터에 가장 잘 맞는 조건이 아니다. 왜 작동하는지 설명할 수 있고, 다른 시기에도 살아남으며, 실제 매매에서도 지킬 수 있는 조건이다.
K-FUND는 그 후보에 꽤 가까이 왔다. 하지만 아직은 후보 단계다.