먼저 결론
- 검증 아이디어 21건을 결과를 보기 전에 합격 기준부터 정하고 시험했습니다.
- 채택 0건입니다.
- 그중 최소 세 건은 기준을 미리 정하지 않았다면 채택했을 것이고, 하나는 실전에서 큰 손실이 났을 것입니다.
절차
아이디어가 떠오르면 곧바로 돌려보지 않습니다. 먼저 이렇게 적어둡니다.
- 무엇으로 판정할지 — 수익률인지 손실폭인지 하나만 정합니다. 나중에 유리한 쪽으로 바꾸지 않기 위해서입니다.
- 합격선이 얼마인지 — 결과를 보기 전에 숫자로 못박습니다.
- 어느 기간을 봉인할지 — 데이터 일부를 떼어놓고 아이디어를 다듬을 때 절대 보지 않습니다.
그다음에 돌립니다. 기준에 못 미치면 기각합니다. 결과를 보고 나서 기준을 낮추지 않습니다.
봉인이 실제로 막은 것
가장 극적인 사례입니다.
기존 전략 지식을 전부 버리고 원시 데이터에서 전략을 새로 찾는 실험을 했습니다. 2,000개 후보를 만들어 앞쪽 기간에서 성적을 매겼습니다.
1등 후보의 성적표는 기존 전략의 4배였습니다. 그대로 채택하고 싶은 숫자였습니다.
봉인해둔 뒷 기간을 열었습니다.
| 성적표 기간 | 봉인 기간 | |
|---|---|---|
| 1등 후보 | 매우 우수 | 연 -21.7% |
| 같은 기간 코스피 | — | 연 +94.5% |
지수가 두 배 가까이 오르는 동안 손실을 냈습니다. 상위 5개 후보가 전부 그랬습니다.
다른 두 건
성적표는 좋은데 연도별로 보면 뒤집히는 경우. 전 기간을 한 번에 돌리면 개선으로 보였는데, 연도별로 쪼개 다시 돌리니 반대 결과가 나왔습니다. 한 해의 운이 전체를 끌어올린 것이었습니다.
발견한 구간에서만 통하는 경우. 특정 조건에서 성적이 좋아 보였습니다. 그 조건을 찾을 때 쓰지 않은 16년치 데이터로 확인했더니 부호가 뒤집혔습니다.
왜 이런 일이 생기나
많이 시도하면 그중 하나는 우연히 좋아 보이기 때문입니다.
이걸 재보려고 의미 없는 전략 100만 개를 무작위로 만들어 성적을 매겼습니다. 실력이 전혀 없는 조합들입니다.
| 만들어본 개수 | 그중 최고 성적 |
|---|---|
| 1,000개 | 1.22 |
| 10,000개 | 7.96 |
| 100,000개 | 18.54 |
| 1,000,000개 | 52.76 |
많이 만들수록 최고 성적이 계속 올라갑니다. 실력이 전혀 없는데도 그렇습니다.
여기서 중요한 함정이 하나 더 있습니다. 1,000개만 만들어보고 "이 정도면 우연이 아니다"라는 선을 그으면, 실제 우연의 크기를 한참 낮게 잡게 됩니다. 저희도 처음엔 1,000개로 선을 그었다가 100만 개를 돌려보고 나서야 알았습니다.
그래서 채택이 0건입니다
21건 중 통계적으로 그럴듯해 보인 것은 여럿이었습니다. 봉인 구간까지 통과한 것도 하나 있었습니다.
그런데 그것마저 실제 포트폴리오로 만들면 손실이 났습니다. 자세한 이유는 다른 글에 적었습니다.
아무것도 채택하지 못한 것이 이 검증의 결과입니다. 그리고 그게 정직한 답이라고 봅니다.
한계
한 운영자의 기록이며, 이 절차가 항상 옳다는 증명은 아닙니다. 절차가 좋은 아이디어를 놓쳤을 가능성도 있습니다.
다만 절차가 없었다면 성적표 4배짜리를 채택했을 것이고, 그 결과가 지수 +94% 구간에서 -21.7% 였다는 것은 기록으로 남습니다.
봉인 구간을 열기 전에 적어야 하는 세 칸
이 절은 새 성적을 만들지 않습니다. 본문에 이미 있는 절차가 왜 성적표의 1등을 막는지, 칸을 비우면 어디서 새는지 적습니다. 아래 달력의 숫자는 절차를 세는 합성 예시이고, 본문의 -21.7%나 지수 대비 기록과 다른 실험이 아닙니다.
아이디어가 생겼다고 가정합니다. 돌리기 전에 세 칸을 채웁니다. 판정은 최대 낙폭 하나로만 합니다. 합격선은 "봉인 구간의 낙폭이 비교 대상보다 깊지 않을 것"처럼 부호와 방향을 미리 적습니다. 봉인은 전체 기간의 마지막 사분의 일을 열지 않는 것으로 둡니다. 사분의 일이라는 비율은 설명용입니다. 중요한 것은 비율의 값이 아니라, 결과를 보기 전에 그 비율이 적혀 있는가입니다.
세 칸이 채워진 뒤에야 앞 구간에서 후보를 정렬합니다. 1등의 성적표가 기존 규칙보다 훨씬 좋아 보여도, 봉인을 열기 전에는 채택이라고 적지 않습니다. 열어 본 뒤 합격선 아래이면 기각합니다. 기각한 뒤에 합격선을 낮추는 것은 봉인을 열지 않은 것과 같습니다. 낮춘 선은 결과를 보고 만든 선이라서, 그 선에 맞춘 채택은 사후의 선택입니다. 본문에서 기준을 미리 정하지 않았다면 채택했을 사례가 바로 이 사후의 선택입니다.
봉인이 막지 못하는 경우도 적습니다. 앞 구간 안에서 후보를 아주 많이 만들고, 그중 1등만 봉인에 올린다면, 봉인에 도착한 후보는 이미 여러 번의 기회 중 1등입니다. 봉인 통과는 "우연이 아니다"의 증명이 아니라 "이 1등이 떼어 둔 구간에서도 합격선 위인가"의 추가 관문입니다. 관문을 통과해도 실제 칸 수로 포트폴리오를 만들면 다시 무너질 수 있습니다. 그 무너짐은 다른 글에서 평균과 중앙값의 차이로 적혀 있습니다. 봉인과 포트폴리오 재집계는 서로 대체되지 않습니다. 하나만 하면 나머지 입구가 열립니다.
의미 없는 후보를 많이 만들어 최고 성적이 올라가는 표는, 봉인 없이 선을 그으면 왜 틀리는지를 보여 줍니다. 1,000개로 그은 선은 100만 개에서 나오는 최고점보다 한참 아래입니다. 선을 먼저 얇은 시도에 맞추면, 나중에 시도가 늘어났을 때의 우연을 실력으로 통과시킵니다. 그래서 합격선은 "지금까지 돌려 본 개수에서 보기 좋은 값"이 아니라, 앞으로 허용할 시도 횟수를 가정하고 그 횟수의 우연이 어디까지 올라가는지를 본 뒤에 정합니다. 횟수를 정하기 전의 합격선은 비어 있는 칸과 같습니다.
21건을 전부 기각한 기록은 절차가 항상 옳다는 증거가 아닙니다. 좋은 아이디어를 봉인이 잘랐을 수 있습니다. 그 가능성은 한계로 남습니다. 그럼에도 절차가 없을 때의 대안이 "성적표가 좋은 1등을 채택하는 것"이라면, 본문이 연 뒤 부호가 뒤집힌 사례는 그 대안의 비용입니다. 비용을 치르지 않으려고 선을 나중에 낮추면, 기각 0건이라는 결과가 아니라 채택의 목록만 길어집니다. 목록이 길어지는 방향은 이 기록이 거부한 방향입니다.
스스로 적용할 때는 다음 아이디어의 메모 첫 줄을 성적 예측으로 시작하지 않습니다. 판정 지표 하나, 합격선 하나, 열지 않을 구간의 날짜 셋만 적습니다. 셋 중 하나라도 "돌려 보고 정하자"이면 그날은 돌리지 않습니다. 돌린 뒤에는 봉인 결과를 합격선과 함께 원장에 남기고, 선을 수정하지 않습니다. 수정이 필요하면 새 아이디어 번호를 파고 새 선을 미리 적습니다. 같은 번호 아래에서 선을 바꾸면 봉인의 정의가 깨집니다.
이 글에서 재사용할 수 있는 것은 성적표의 배수가 아니라 세 칸의 순서입니다. 배수는 그 실험의 기록이고, 순서는 다음 실험의 입구입니다. 입구를 건너뛴 채 배수를 인용하면, 봉인이 막은 것을 봉인이 추천한 것으로 읽게 됩니다.