우리 자체 전략 라이브러리를 검증 가혹 테스트에 돌렸다 — 살아남은 것들

대부분의 트레이딩 플랫폼은 이기는 백테스트만 보여준다. 차트는 오른쪽 위를 향하고, Sharpe ratio는 보기 좋고, 그 스크린샷에 이르기까지 죽어간 수천 개의 변형들은 어디에도 없다.
이 글은 그 무덤에 관한 이야기다. 실패 자체가 흥미롭기 때문이 아니라, 무덤만이 검증 프로세스가 실제로 무언가를 걸러내는지 — 심지어 테스트가 더 엄격해졌을 때 플랫폼 자신이 공개한 전략들까지도 — 확인할 수 있는 유일한 장소이기 때문이다.
완전히 복원 가능한 10번의 주간 탐색 실행 전체에서, Anny의 엔진은 8,610개의 전략 후보를 평가했다. 36개가 전체 검증 가혹 테스트를 통과했다 — 0.42%. 그 중 8개만이 실제로 라이브러리에 공개됐다. 그 후 더 엄격한 테스트 세트를 구축하여 이미 공개된 전략들에 적용했더니, 라이브 라이브러리의 15개 전략 중 10개에 플래그가 붙었다.
엔진에 버그가 있어 주장했던 전략 패밀리의 3분의 1을 실제로는 한 번도 탐색하지 않고 있었다는 사실을 발견한 부분까지 포함해 — 전부 공개한다.
가혹 테스트, 쉬운 말로
모든 후보 전략 — 하나의 코인, 하나의 타임프레임 위의 규칙 집합 — 은 일련의 필터를 통과해야 한다. 전략이 탈락하면, 이름이 붙은 필터에서 탈락하며, 각 필터는 백테스트가 거짓말하는 특정 방식으로부터 당신을 보호하기 위해 존재한다.
기본 관문. 의미 있는 거래 횟수(최소 30회), 35% 낙폭 한도, 최소 위험 조정 수익률. 단순하지만 대부분의 탈락을 책임진다 — 아래에서 더 자세히.
Walk-forward. 백테스트는 과거를 암기할 수 있다. Walk-forward는 전략에게 역사의 일부를 숨긴 뒤, 한 번도 보지 못한 구간에서 어떤 성과를 내는지 확인한다. 미공개 데이터에서 성과의 50% 이상을 유지할 것을 요구한다 — 그러지 못하면, 그 멋진 백테스트 수치는 운이었던 것이고, Anny는 그렇게 말한다.
거래 순서 bootstrap. 백테스트는 역사의 한 가지 버전만 보여준다. Anny는 전략의 거래를 500가지 뒤섞인 순서로 재실행한다 — 500개의 평행 우주 — 그리고 그럴듯하게 발생할 수 있었던 최악의 상황을 살펴본다. 20번 중 1번의 우주가 당신을 포기하게 만들 낙폭을 만들어낸다면, 실제 돈이 들어가기 전에 알아야 한다. 같은 테스트는 반대의 경우도 잡아낸다: 실제 역사가 자신의 reshuffling 거의 전부보다 더 운이 좋았던 전략.
타당성 상한과 괴리 한도. 전략이 너무 완벽한 점수를 기록하면 탈락시킨다 — Anny의 경험상, "믿기 어려운" 결과는 거의 항상 데이터 오류나 운이지, 발견이 아니다. 그리고 연습 구간 점수와 미공개 데이터 점수가 어느 방향으로든 크게 엇갈리면 플래그를 단다: 어느 숫자도 믿을 수 없다.
범위. 하나의 코인에서만 작동했던 전략은 전략이 아니라 그 코인에 대한 이야기일 가능성이 높다. 동일한 규칙이 많은 자산에서 독립적으로 살아남을 때, 그게 엣지가 실재한다는 증거다.
불편한 부분을 제거하지 않은 funnel

복원된 10번의 실행 전체에서: 8,610개 후보, 36개 전체 가혹 테스트 통과(0.42%), 8개 공개. 실제로 라이브러리에 도달한 것만 기준으로 하면 생존율은 0.09%.
참고로, 공개적으로 회자되는 잘 알려진 전략 검증 funnel — YouTube에 퍼진 "수천 개의 백테스트를 테스트했다"류의 분석 — 은 후보의 약 5.7%를 통과시킨다. 가혹 테스트 통과자와 실제 공개 전략 중 어느 기준으로 비교하느냐에 따라, Anny의 funnel은 8배에서 60배까지 더 엄격하다. 그게 Anny를 더 똑똑하게 만든다는 주장이 아니다. 더 까다롭게 만드는 것이며, 검증 배지를 달고 나온 전략은 생존 편향적 마케팅이 결코 마주치지 않는 필터를 통과해 그걸 얻었다는 의미다.
해당 funnel 안에 두 가지 불편한 발견이 있다.
거의 모든 것이 입구에서 죽는다. 상세 로그가 있는 5,370개 후보 중 5,243개 — 97.6% — 가 정교한 out-of-sample 기계가 이들을 보기도 전에 가장 기본적인 두 gate(거래 횟수 부족, 승률 미달)에서 제거됐다. out-of-sample gate 중 하나는 지금까지 단 한 번도 발동된 적이 없다. 고급 gate가 한가한 가혹 테스트는 구조 자체에 손볼 부분이 있는 것이며, 재조정하는 것이 바로 다음 섹션의 내용이다.
3주치 기록이 사라졌다. 7월 12일, 19일, 26일 실행은 후보별 결과를 보존하기 전에 로그 로테이션으로 유실됐다 — 탈락 후보의 경우 어디에도 지표가 저장되지 않고 있었다. 위의 모든 수치는 복원 가능한 실행에서 재구성된 것이며, 이후 지속성 기능을 배포하여 향후 모든 후보의 수치가 통과 여부와 관계없이 보존된다. "재구성됐다"고 할 때, 수치를 정확히 그런 맥락으로 받아들여야 한다.
고백: 지도의 3분의 1조차 탐색하지 않고 있었다

전략 패밀리별로 생존율을 집계했을 때, volume과 pattern 두 패밀리에서 후보가 0건. 단 한 번도.
이건 시장의 판단이 아니었다. 버그였다: 이전 엔진 리라이트 중 도입된 설정 플래그가 확장된 전략 카탈로그를 소리 없이 무시하여, 주간 탐색 cron이 계속 하드코딩된 구버전 목록만 탐색하고 있었던 것이다. 여섯 개 전략 패밀리 중 두 개가 경쟁에 한 번도 진입하지 못했고, 모니터링 상에서는 아무것도 그렇게 말해주지 않았다. 패밀리별 생존 테이블에서 공백이 무시할 수 없을 만큼 명확해져서 발견했다 — 테이블을 만드는 것이 합당한 이유다. 배선은 수정됐고, 확장된 카탈로그는 각 주간 실행에 약 7,000개의 백테스트를 추가한다.
(pattern 패밀리 전략 하나가 현재 공개돼 있다. 로그가 유실된 주간 중 하나인 7월 26일에 발견된 것이라, 그것이 통과한 funnel을 재구성할 수 없다. 이 단서는 해당 전략에 붙어 있다.)
나머지 패밀리 테이블은 평범하게 굴욕적이다: mixed confluence — 여러 지표를 조합하는, 가장 정교하게 들리는 패밀리 — 는 460전 0승이었다. Momentum이 1.44%로 가장 높은 생존율을 보였다. 2%를 넘은 건 없다.
그리고 새 테스트를 우리 자신에게 겨눴다
더 어려운 질문: Anny가 방금 구축한 테스트를 공개된 전략들이 통과할 수 있는가? 15개 전략 전체 라이브러리를 세 개의 새 gate에 다시 통과시켰다. 15개 중 10개에 플래그가 붙었다.
- Walk-forward 하한: 1개 실패. 하나의 전략이 미공개 데이터에서 성과의 42.5%만 유지했다 — 50% 하한 미달이며, 라이브러리 내 차순위인 81.3%와 큰 차이가 난다. 감사를 위해 플래그가 붙었다.
- Bootstrap: 6개 플래그. 4개는 reshuffled 낙폭 1-in-20이 35% 한도를 초과했다(최대 38.1%). 4개는 반대 문제 — 운이 좋은 꼬리: 한 전략의 실제 역사는 자신의 reshuffling 100개 중 98개보다 낙폭이 얕았다(백분위 1.9), 즉 라이브 기록이 동일한 거래들이 통상적으로 전달할 것보다 더 좋게 보인다는 뜻이다. 두 전략은 두 플래그 모두에 해당됐다.
- 괴리 한도: 4개 플래그 — 모두 미공개 데이터 점수가 연습 점수의 약 두 배인 숏 방향 전략들이었다(예: 2.72 vs 1.24). 너무 좋은 것 역시 플래그다: 해당 out-of-sample 윈도우는 2026년 상반기 알트코인 약세 구간에 위치해 있어, 전략이 필요할 때 반복할 수 없는 레짐 선물이 작동하고 있는 것이다.
주목할 점은 세 gate가 서로 다른 전략들을 잡았다는 것이다 — walk-forward 실패 전략은 bootstrap은 통과하고, bootstrap 실패 전략들은 walk-forward는 통과한다. 어느 단일 테스트만으로는 전부를 찾을 수 없었다.
이 중 어느 것도 조용히 비공개로 전환되지 않았다. 모든 플래그는 증거와 함께 사람의 감사로 넘어가며, 비공개로 전환되는 전략에 bot을 돌리는 사용자는 인터페이스에서 직접 확인하기 전에 Anny로부터 직접 통보받는다. 이건 정책이지 분위기가 아니다.
Reshuffling이 연속 손실에 대해 가르쳐준 것
Gate를 재조정하는 동안, Anny는 탐색 유니버스 전체에 걸쳐 1,620개의 백테스트로 새로운 forward 시뮬레이션을 돌렸다 — 조악한 승률 gate를 bootstrap band로 대체할 수 있는지 테스트하기 위해. 주목할 두 가지 발견:
Bootstrap band가 더 예리한 도구다. 승률 gate만이 막고 있던 후보들 중, bootstrap band는 9개 중 8개를 독립적으로 탈락시켰다 — 그리고 오늘의 전체 가혹 테스트를 통과하는 9개 전략 중 5개도 추가로 탈락시킨다. 이를 시행하면 라이브러리는 커지기 전에 작아진다. 더 작지만 정직한 라이브러리가 더 크지만 취약한 것보다 낫기 때문에, 어차피 감사를 통해 순차적으로 진행한다.
연속 손실은 오작동이 아닌 수학의 특징이다. 승률 39.6–43.1%의 생존 전략들 중 최대 연속 손실은 6, 6, 6, 7, 11번이었다. ~40% 승률 전략을 운용하면, 6~11연속 손실은 예상되는 경험이다. Anny는 낮은 승률 전략 옆에 그 수치를 표시할 것이며, 실행 시 회로 차단기(연속 손실 및 시간창 손실 한도)는 해당 전략들에 기본 활성화된다 — 실제 돈으로 그 연속을 직접 발견하게 두는 것의 정직한 대안이다.
범위 한정: 해당 시뮬레이션은 하나의 시간 윈도우, 세 타임프레임 중 둘, 레거시 전략 목록에 한정된다. 헤드라인 수치들은 넓은 불확실성을 가지며; 방향적 결론은 역사적 funnel과 대조 검증됐고 유효하다.
다음에 일어날 일
- 감사. 플래그가 붙은 10개 전략은 월간 라이브러리 감사를 거친다 — 전략별 사람의 결정, 증거는 테이블에, 조용한 제거는 없다. 전략이 공개 철회되면, 그 위에서 bot을 돌리는 누구든 인터페이스에서 확인하기 전에 Anny로부터 직접 듣게 된다.
- 월간 재가혹 테스트. 전체 라이브러리 재실행은 이제 해당 감사의 상시 항목이다. 6월에 획득한 배지는 8월에 재획득해야 한다; 시장 레짐은 변하고 검증에는 유효기간이 있다.
- 더 넓은 카탈로그. 설정 버그가 수정됨에 따라 volume과 pattern 전략들이 마침내 경쟁에 진입한다 — 그리고 이 글의 funnel 및 패밀리 차트는 로그에서 재구성된 것이 아닌 저장된 데이터에서 재생성될 것이다.
이것이 당신에게 의미하는 것
라이브러리의 전략이 검증 배지를 달고 있다면, 그것의 의미는: 후보의 99% 이상을 탈락시키는 funnel을 살아남았고, 한 번도 본 적 없는 데이터에서 성과의 절반 이상을 유지했으며, 500개의 평행 역사에 파멸적인 낙폭이 없고, 결과가 너무 나쁘지도 너무 좋지도 않아 신뢰할 수 있다는 것이다. 또한 배지는 취소 가능하다 — Anny 자신의 테스트에 의해, 공개적으로, 일정에 따라.
알파를 약속할 수는 없다. 누구도 정직하게 그럴 수 없다. Anny가 약속할 수 있는 것은, 공개되는 모든 것이 방금 우리 자신에게 사용한 것과 동일한 기계에 의해 시험됐다는 것 — 그리고 기계가 당혹스러운 것을 발견했을 때, 당신은 여기서 가장 먼저 읽게 된다는 것이다.
이 글의 모든 수치는 커밋된 실행 아티팩트와 replay 작업에서 나온 것이며 — 어느 것도 수작업으로 조합되지 않았다. 3건의 2026년 7월 탐색 실행은 후보별 지속성이 배포되기 전 로그 로테이션으로 유실됐다; 복원된 실행의 수치는 실행 로그에서 재구성됐으며 위에 그렇게 표시됐다.
Anny AI가 포트폴리오를 분석해 드릴까요? Anny Line 체험하기 또는 요금제 보기.


