전략 히스토리

시도한 전략 전부와 그 판정입니다. 접은 것도 지우지 않습니다 — 왜 접었는지가 다음 실마리이기 때문입니다.

⚠️ 전부 모의(페이퍼)이며 실거래가 아닙니다. 투자 권유가 아닙니다.여기 적힌 과거 성적은 대부분 과거 재현이고, 판정은 전방 기록으로 합니다.

전략 히스토리 — 무엇을 시도했고, 무엇이 남았나

2026-09-09 정리. 이 문서 하나가 전체 이력이다. 흩어져 있던 원장·트랙문서·검수 페이지를 전략 계보로 묶었다.

지금 돌아가는 것은 panic + calm 둘뿐이다. 나머지는 전부 접었고, 접은 것을 지우지 않는다 — 왜 접었는지가 다음 실마리이기 때문이다.

⚠️ 전부 모의(페이퍼) 다. 실거래가 아니고 투자 권유가 아니다.


0. 한 장 요약

계보무엇사전등록판정
① 횡단면 저회전여러 종목을 묶어 롱숏1~14못 가린다 — 라이브 가능 구간이 표본의 37%뿐
② 3틱 · 극단 변동성급락 뒤 반전14~17panic 으로 채택
③ 돈치안 · 앵커드VWAP돌파를 따라간다19~28calm 으로 채택
④ 평행채널 반전통로 하단 매수 · 상단 매도35~50 · 59⚠ 2026-09-08 폐기 → F1 로 부활, 2026-09-11 별도 트랙(조건부)
⑤ 돌파 진입뚫리는 쪽을 탄다51~58여섯 번 기각 · 축 영구 종료
⑥ 기타 오버레이거래량 · 볼린저 · 사이징 등18·21·22·29~34✘ 대부분 기각

총 59건의 사전등록. 채택 2건(panic·calm) + 조건부 1건(평행채널 · 별도 트랙).

★이 낮은 채택률이 정상이다. 문제는 기각이 많은 게 아니라, 기각이 옳았는지다. 그래서 이 문서는 "무엇이 안 됐나"보다 "어떻게 그걸 알았나" 에 무게를 둔다.


1. 계보 ① — 횡단면 저회전 (2026-07 ~ 08)

착상. 종목 하나의 방향을 맞히는 건 어렵지만, 여러 종목을 동시에 상대비교하면 시장 전체의 출렁임이 상쇄된다. 저회전(거래가 뜸한) 종목이 되돌림이 크다는 가설.

사전등록 PREREG-1~14 (넓은 q + MR · 저회전 · IC 비중 · 펀딩 반영 · 잔차 되돌림 · 잔차변동성 · 펀딩변동성 · 시간 해상도 · min_names · 초기 유니버스 · 결합)

어디서 무너졌나 — 넷이 겹쳐 있었다.

  1. 손익을 로그 수익률로 계산했다. 포트폴리오 손익은 단순 수익률이어야 한다. 숏에서 방향이 나쁘다 — 정정폭 Sharpe 3.69 → 1.27. ★라이브 엔진은 처음부터 맞았다 ⇒ 라이브와 백테스트가 다른 걸 재고 있었다.

  2. 연구 하네스가 펀딩을 안 물었다. 라이브는 물었는데. 실측 −3.60bp/일(연 −12.3%). 기전: 거래대금이 터진 종목은 대개 급락 중이고, 그때 숏 쏠림으로 펀딩이 음수다 ⇒ 이미 숏이 몰린 곳에 뒤늦게 합류해 펀딩을 낸다. SR 0.89 → 2023~ 는 0.18.

  3. 없는 계약을 숏했다. 유니버스 마스크가 "무기한선물이 존재한 적 있는" 심볼이라 2021년 상장 계약을 2019년에도 잡았다. SR 0.89 → 0.43.

  4. 라이브 전제조건을 연구에 안 걸었다. 라이브는 min_names=200 이 필요한데 퍼프가 200종목을 넘긴 건 2023-10-18 부터다.

    실제 검정 가능 구간 1,027일(2.8년) · SR 0.71 2.8년 창의 검출 하한 2/√T = 1.19 > 0.71 ⇒ 이 표본으로는 못 가린다

"엣지가 없다"가 아니라 "이 표본으로는 못 가린다" 다. 둘은 다르다. 그리고 그때까지의 모든 판정이 라이브 불가능 구간을 표본의 63%로 쓰고 있었다.

남은 것. 회전 감축 기법 · 펀딩을 비용이자 심리 지표로 보는 관점.


2. 계보 ② — panic (채택 · 지금 돌아감)

착상. 값이 급하게 무너지면 과하게 빠진다. 그 되돌림을 산다.

경로. 3틱룰(연속 하락 카운터) → 그 트리거가 최선이 아님을 확인 → 트리거를 버리고 모든 봉을 후보로 놓고 LightGBM 이 자리를 고르게 함 (PREREG-14 → 15 → 16 → 17).

규칙 (동결 · PREREG-17, 실질 8관문 통과)

봉      5분봉 · 진입 후보는 1시간 격자 (STRIDE=12)
진입    ATR% +4.08σ + 전 시간축 과매도(RSI 1h/4h −1.9~−1.5σ)
        + 채널 바닥(Donchian −1.43σ · BB%B −1.36σ) + 하락지속 + 거래량 폭증 → 롱
청산    익절 1.25×ATR · 손절 8×ATR · 백스톱 120분 (평균 보유 54분)
모델    LightGBM 워크포워드 · PIT 확장창 99.5분위 컷 (21일마다 갱신)

국면 스위치를 사람이 안 짰다. ATR% +4σ 조건 자체가 변동성 폭발에서만 발화하므로 구조적으로 자동이다. (하드코딩 레짐 스위치는 이 프로젝트의 금지 항목이다.)

원래 자주 안 나온다. 연도별 하루 발생: 2021 0.90 / 2022 0.42 / 2023 0.15 / 2024 0.32 / 2025 0.28 / 2026 0.05. 조용한 장에서 며칠 아무 일 없는 것이 정상이다.


3. 계보 ③ — calm (채택 · 지금 돌아감)

착상. 값이 한 방향으로 뻗을 때 따라간다. panic 과 반대 국면에서 발화한다.

경로. 돈치안 채널 반전(19·20) → 겹침 규칙(23) → 하단 숏(24) → 양다리(25) → 상단 롱 단독(26) → 신규 7종목 홀드아웃(27)앵커드 VWAP 결합 북(28, 7/7 통과)

★이름이 실제와 반대였다 (2026-09-09 정정)

calm"채널 반전(Channel Reversal)" 이라는 이름을 오래 달고 있었다. 그런데 배포본의 실제 규칙은 c >= 20봉최고 − 0.25×ATR, 즉 높은 데서 산다. 반전이 아니라 돌파 추종이다.

경위: PREREG-19·20 은 정말 반전이었다(하단 롱 · 상단 숏). PREREG-24 에서 방향이 뒤집혔고(하단 터치 = ), PREREG-26 이 "신고가 돌파는 돌파의 정의 그 자체다" 라고 명시했다. 규칙은 바뀌었는데 이름만 안 바뀌었다.

★그래서 "채널 회귀 전략은 어디 갔냐"는 질문이 나왔다. 답은 둘이다: · 돈치안 계열의 회귀는 방향이 뒤집혀 돌파로 채택됐다(= 지금의 calm) · 진짜 채널 회귀(통로 하단에서 사는 것)는 계보 ④ 평행채널 반전이고 2026-09-08 에 사망 시점 미래참조로 폐기했다가, F1 필터로 되살아나 2026-09-11 부터 별도 트랙으로 돈다(§4-B)

★이름이 규칙과 어긋나면 몇 달 뒤의 자신이 속는다. CLAUDE.md §2.5 도 같이 고쳤다.

규칙 (동결 · PREREG-28)

봉      4시간봉
진입    돈치안 20봉(당봉 제외) 상단 돌파=롱 / 하단 돌파=숏 · 터치 허용 0.25×ATR
        새 접촉만 (붙어 있는 동안 반복 진입하지 않는다)
청산    앵커드 VWAP 추격 손절 (진입 다음 봉부터 누적 · 선은 한 방향으로만)
        초기 손절 = 진입가 ∓ 채널폭 × 0.5 · 백스톱 90일

시간축을 왜 4시간으로 고정하나 (2026-09-07 실측 · 처음 잰 축)

TF거래grosstnet(+10bp)비용 몫
60분32,515+7.9bp10.30−2.1127%
240분 ★배포8,129+26.9bp8.33+16.937%
480분3,930+73.9bp9.64+63.914%

★1시간봉은 신호가 죽은 게 아니다(t 10.3). 엣지가 보유시간에 거의 비례해 쌓이는데 비용은 거래당 고정이라, 거래가 4배 많은 쪽이 진다. ★480분이 더 높지만 바꾸지 않았다 — 결과를 보고 옮기는 것이 사후 선택이다.

숏 다리는 보험이다. 숏을 빼면 자본 −14.6% · 낙폭 13.9→12.4% · 최악버킷 −8.6→−3.3%. 하락장에서 −16.5%p 잃고 상승장에서 +1.4%p 얻는다 ⇒ 수익원이 아니라 방어다.


4. 계보 ④ — 평행채널 반전 (2026-09-08 폐기)

착상. 차트에 평행한 통로를 긋고, 하단에서 사서 중간선에서 반익절+본절, 상단에서 전량. 사용자가 직접 지시한 "채널 매매의 기본"이다.

경로. 16건의 사전등록(35~50)으로 다듬었다 — 다중 스케일 · 4시간봉 · 진입 선별 · Kaufman 존 진입 · 거래량 방향 · 홀드아웃 · 탐지 앞당기기 · 터치 관문 · 게이트 C 제거 · 노출 맞춘 재비교 · 종목당 2개 · 시간초과 버킷 · 사망 후 손절 · 회귀실패 폐기 · 무반등 손절.

한때 이 프로젝트에서 가장 좋아 보이던 숫자였다: 5,273거래 · 승률 48.5% · 거래당 +25.9bp · 낙폭 −12.0% · 두 달 버킷 (+) 97.1%

★★그런데 미래참조였다

엔진이 채널을 t1 까지만 쓴다. t1 = 탐지기가 마지막으로 "살아있다"고 보고한 봉. 그런데 그 봉에서 탐지기의 end_reason 은 실측 2,066/2,066 전부 "open"(살아있음) 이다. ⇒ 죽었다는 사실은 다음 탐지에서야 안다. t1 에 끄는 것은 미래를 보고 끄는 것이다.

사망을 아는 시점거래거래당결합 SharpeCAGR최종자본
t1 (연구·현행)4,569+23.6bp2.2764.1%160,271$
t1+1봉6,305−10.6bp0.171.3%10,740$
t1+16 (실제 탐지 주기)13,673−85.4bp−8.99−93.4%0$

한 봉만 늦어도 무너진다 ⇒ 탐지를 더 자주 해도 못 살린다. 그래서 고치지 않고 접었다.

기전. 채널은 가격이 뚫고 나갈 때 죽는다. 그 직후 "레일에서 산다"는 지정가는 떨어지는 칼을 잡는다. 추가되는 9,205건이 승률 7.4% · −138.5bp · t −75. 계보 ⑤가 여섯 번 기각한 바로 그 자리다.

★전방 기록이 먼저 맞았다

API 종료 전에 백업한 실제 페이퍼 기록 (web/public/data/archive/forward/):

트랙거래승률수익률
순수 채널11932.8%−2.26%
통합 채널9736.1%−3.69%
채널 + LVN 필터5427.8%−1.14%

백테스트는 좋은데 실제로는 몇 달 내내 지고 있었다. 그 불일치가 답을 먼저 말하고 있었고, 우리는 2026-09-08 에야 이유를 찾았다.

★그리고 누수 감사는 통과했었다

leak_check 48/48 통과가 사실이었다. 그 감사는 "통로의 이 흔들리나"를 봤고, 누수는 "어느 통로를 쓰나"에 있었다.

감사를 통과했다 = 감사가 본 축에는 없다. 그뿐이다.

이 프로젝트가 배운 것 중 가장 비싼 것이다.


4-B. 계보 ④ 의 부활 — F1 (PREREG-59 · 2026-09-11 별도 트랙)

★2026-09-09 에 이 문서는 계보 ④ 를 "폐기"로만 적어 두었고, 사용자가 그걸 보고 물었다: "채널전략 우리 계속 만들다가 잠시멈춘건데, 그걸 왜 다죽여? … 살려내" 옳은 지적이었다. 백테스트가 무효라는 것과 전략이 안 먹힌다는 것은 다른 말인데, 에이전트가 그 둘을 섞어서 묻지 않고 다리를 내렸다.

무엇이 문제였나. 사망을 정직하게 t1+16(실제 탐지 주기)로 밀면 거래가 4,569 → 13,673 으로 늘고, 늘어난 9,205건이 떨어지는 칼이었다(승률 7.4% · −138.5bp). 즉 문제는 "채널이 안 먹힌다"가 아니라 채널이 이미 뚫린 뒤에도 레일에서 사는 것이었다.

해법 — F1 한 줄. 진입 봉의 종가가 채널 안이어야 한다. 뚫고 나간 봉은 종가가 밖이므로 걸러진다. 자유도 0 — 임계값도 창도 없다. 결과를 보기 전에 사전등록했다 (docs/PREREG_channel_inside.md · 시행 9건 선언 · MDE ≈ 9.1bp 사전 계산).

사망을 아는 시점F1 없음F1
t1+16 (정직한 시점)−85.4bp+14.1bp

홀드아웃(14종목 · 11,935건): 거래당 +23.9bp · t +10.47 · 14/14 종목 (+) ⇒ 5관문 중 4개 통과. G5(낙폭)만 미달이라 조건부 채택이다.

★그 낙폭은 메인과 한 계좌를 쓸 때의 값이었다. 그래서 2026-09-11 사용자 지시로 별도 트랙(자기 자본 $10,000 · 자기 계좌 · 자리 안 나눔)으로 분리했다 — /paper-channel. ★분리는 그 관문을 통과시킨 것이 아니라 다른 질문으로 옮긴 것이다. 판정은 전방 기록으로 한다.

라이브 다리는 연구 하네스와 탐지가 정확히 일치하고 청산 다리가 394/394 일치함을 확인한 뒤에 붙였다(tests/validation/test_paper_channel_matches_research.py).


5. 계보 ⑤ — 돌파 진입 (여섯 번 기각 · 축 종료)

착상. 통로가 뚫리면 그 방향으로 탄다. 반전의 반대편이다.

시도. 비빔 필터(51) → 비빔 한 번이라도(52) → 비빔 돌파 진입(53) → 확인 후 진입(54) → 전면 탐색으로 찾은 규칙(55) → 관통으로 제대로 센 비빔(56) → 상대 기준 청산(57) → 변동성 상위에서만(58).

가장 큰 시도. 제한을 전부 풀고 신호 17,417개 × 청산 1,680가지 × 진입 13축 = 3,539 시행. 8종목에서 자본 2.18배가 되는 조합을 찾았다.

홀드아웃(안 본 종목): −24.0bp · −55.5%부호가 뒤집혔다.

★여기서 얻은 교훈이 오늘 가장 비싸다: "격자가 매끄럽다(면을 이룬다)"는 과적합을 막지 못한다. 이웃 칸들은 같은 거래를 공유 하므로 서로 독립된 증거가 아니다. 나는 그 논리로 안심했었고, 홀드아웃이 반증했다.

⇒ 돌파 축은 영구 종료. 다시 열지 않는다.


6. 계보 ⑥ — 오버레이 · 필터 (대부분 기각)

후보판정
거래량 게이트 (5각도)✘ 전부 기각. 요일 교락 실재 — raw 저거래봉 66%가 주말
볼린저 3.0σ 돌파 (29·30)
엔벨로프 숏 (21) · 평행채널 숏 (22)
포지션 줄여 다리 늘리기 (31)
우선순위 큐 시차 (33) · 볼린저 다리 추가 (34)
SMA20 정렬△ 사이징 가중으로만 조건부 유효
메타라벨링✘ AUC 0.49
레버리지✘ 최악 버킷을 깊게 한다 (−19 → −30%)
PBO (18)적용 불가로 확정 — 같은 유니버스를 도는 전략군에는 원리적으로 안 붙는다

7. 반복된 실수 — 같은 모양이 계속 나온다

이 프로젝트가 같은 종류의 실수를 다섯 번 이상 했다. 종류가 셋뿐이다.

㉠ 관문이 달성 불가능했다 (5회)

걸었던 관문실제 상한
블록 z ≥ 2우리 표본에서 연 41% 이상 벌어야 통과. 진짜 +20% 엣지의 검정력 14%
단일종목 Sharpe검출 하한 = 2/√T, 거래 수와 무관(Lo 2002). 4.5년 창에서 문헌 효과 0/6 검출 가능
유효랭크 ≥ 3 + 쌍상관 < 0.6후보 8개에서 산술적으로 양립 불가능
R² 관문상한 미계산
Sharpe ≥ 2.41 (PREREG-45)2.41 자신의 SE 가 0.41. 관측 격차 0.108 은 검출 하한의 10%

관문을 걸기 전에 그 관문의 상한을 먼저 계산한다.MDE 없는 기각은 기각이 아니다.

㉡ 연구와 라이브가 다른 걸 쟀다 (4회)

로그 vs 단순 수익률 · 펀딩 누락 · 없는 계약 숏 · 논퍼프 롱 · 채널 사망 시점. ★공통 질문 하나로 전부 잡힌다: "이 북을 라이브가 그대로 들 수 있는가?"

㉢ 못 재는 것을 실패로 찍었다

"유의하지 않다"는 "엣지가 없다"가 아니라 "이 검정으로는 못 가린다" 다. 후자면 고칠 것은 전략이 아니라 설계다.

㉣ 같은 줄이 복사돼 같이 틀렸다 (2026-09-09)

월 수익률을 각 달의 마지막 / 그 달의 첫 값으로 쟀다. 그러면 달과 달 사이 구간이 통째로 빠진다. 그 줄이 12개 파일에 복사돼 있었다.

월수익 전부 복리  8.179배  vs  계좌 최종 **7.471배**   ⇒ **+9.5% 부풀림**
월 (+) 비율      64.7% -> **61.8%**
2개월 버킷 (+)   64.7% -> **61.8%**

★버킷 승률은 이 프로젝트의 궁극 목표(70%) 를 재는 자다. 그 자가 틀려 있었다. ★검사는 한 줄이면 됐다 — 월수익을 전부 곱하면 총배수와 같아야 한다. src/quantcrypto/stats/periods.py · tests/validation/test_monthly_decomposition.py


8. 지금 상태 (2026-09-09)

돌아가는 것: panic + calm

과거 기준 (2021~ · 8종목 · 슬리피지 10bp · 무레버리지)
  거래 7,973건 · 승률 46.3% · 월 (+) **61.8%** · 2개월 버킷 (+) **61.8%**
  낙폭 15.2% · Sharpe 1.72 · CAGR 43.2% · 1,000만원 -> 7,471만원 (5.7년)
  ★월 (+) 는 2026-09-09 에 **64.7% -> 61.8%** 로 정정됐다 —
    월 수익률이 달 사이 구간을 빠뜨리고 있었다(§7 ㉣).

사이징 (동결)  포지션 15% · 총 노셔널 80% · 동시 8개
유니버스        BTC ETH BNB XRP SOL DOGE LINK ADA (시가총액 상위 8)

전방 기록 시작: 2026-09-07 17:35Z. Railway cron 이 1시간마다 재생하고 결과를 저장소에 커밋한다(서버 없음). 화면은 /paper-main.

거래 30건이 쌓이기 전에는 아무 판단도 하지 않는다. 좋게 보이든 나쁘게 보이든 운의 범위다. 그리고 채널이 준 교훈대로, 판정은 전방 기록으로 한다.


부록 — 원본 자료

무엇어디
사전등록 58건docs/PREREG_*.md
옛 원장(횡단면 세대)docs/STRATEGY_LEDGER.md · docs/TRACK_ANATOMY.md
진행 로그PROGRESS.md
채널 부검scripts/hq_alive_lag.py · docs/hq_alive_lag.json
calm 시간축scripts/ho_calm_tf.py · docs/ho_calm_tf.json
전방 기록 보관본web/public/data/archive/forward/
배포 설정docs/RAILWAY_PAPER_CRON.md
재발 방지 테스트tests/validation/ (특히 test_channel_death_lookahead.py)