가치 팩터는 진짜였다. 그런데 못 먹는다
롱숏 t≈2로 실재하는데 롱온리로는 지수에 진다. "지수 동률"이라던 포트폴리오를 해부하니 유효종목수 3.8개, 삼성전자 49%였다.
DART 재무 24,963 기업-연도로 가치·퀄리티 팩터를 검증했다. 팩터는 실재한다. 그런데 나는 못 먹는다.
팩터 자체는 진짜다
| 저PBR | 영업이익수익률 | 고ROE | |
|---|---|---|---|
| 롱숏 월평균 | +1.35% | +1.25% | +0.77% |
| 롱숏 t | 2.14 | 2.08 | 1.87 |
분위 1→5 계단식 상승도 확인했다. 싼 주식이 비싼 주식보다 낫다는 건 한국에서도 사실이다.
그런데 롱온리로는 진다
| 형태 | 고영업이익률 | 고ROE | 저PER | 저PBR |
|---|---|---|---|---|
| 동일비중 | −1.58% | −1.51% | −1.32% | −1.43% |
| 시총가중 +상한 5% | −1.27% | −1.16% | −0.87% | −0.96% |
| 시총가중 +상한 20% | −0.73% | −0.70% | −0.67% | −0.89% |
| 시총가중 (상한 없음) | +0.00% | +0.03% | −0.31% | −0.85% |
전부 KODEX 200 미달이다.
더 아픈 건 대조군이다. 팩터를 전혀 안 쓴 시총 상위 200종목(상한 5%)이 −1.06%였다. 고영업이익률(−1.27%)과 고ROE(−1.16%)는 그보다도 나쁘다.
우량주를 골라내는 행위 자체가 해가 됐다는 뜻이다.
"지수 동률"의 정체 — 삼성전자 49%
위 표에서 유일하게 지수를 안 진 칸이 있다. 무상한 시총가중 고영업이익률의 +0.00%.
해부해봤다.
- 유효종목수(1/Σw²) = 3.8 — 명목은 40종목인데 실질은 4종목이 안 된다
- 최대비중 중앙값 49.2%, 삼성전자가 126개월 중 71개월 1위
- 최대비중 1종목을 빼자 +0.00%가 −1.36%(t=−3.27)로 붕괴
즉 그 "동률"은 팩터가 만든 게 아니라 삼성전자 한 종목이 만든 것이었다. 상한을 조일수록 성과가 단조롭게 나빠지는 것도 같은 이야기다. 집중을 풀면 팩터의 맨얼굴이 나온다.
못 먹는 이유
롱숏이 +1.35%/월인데 왜 못 먹느냐.
- 공매도가 필요하다. 개인은 사실상 불가능하다
- 롱숏 비용이 월 0.4%p 이상 든다
- 롱만 떼어내면 위의 표로 되돌아간다
팩터의 수익 상당 부분이 숏 쪽(비싼 주식이 더 못 오르는 것)에 있다. 그 절반을 못 쓰면 남는 게 없다.
방법론에서 건진 것
이번에 확립한 두 가지는 앞으로 계속 쓴다.
시점 정합을 접수일로 강제했다. rcept_no 앞 8자리가 실제 접수일이다. merge_asof에 allow_exact_matches=False를 걸어 그 날짜 이후부터만 재무를 쓰게 했다. "3월에 공시된다고 가정"보다 엄격하고, 정정공시는 접수일이 늦어지므로 자동으로 보수적이 된다.
배수(PER) 대신 수익률(E/P)로 계산했다. 적자기업은 PER이 음수라서 정렬하면 "가장 싼 주식"으로 올라온다. 역수로 계산하면 이 함정이 구조적으로 사라진다.
플라시보 테스트(재무를 +6개월, +12개월 더 지연)도 통과했다. look-ahead는 없었다.
결말
한국 아노말리 연구에서 복제된 세 계열을 이걸로 전부 검증했다.
- momentum — 소형주에선 독, 대형주 시총가중에선 지수 수준
- trading friction — 유니버스 안에선 유효(+0.45%, t=2.81), 지수는 못 이김
- value/quality — 롱숏 실재, 롱온리 −0.7~−1.6%
가격 데이터로도, 재무 데이터로도 지수를 이기는 롱온리 규칙을 찾지 못했다.