🏠 홈 🔍 오늘의 스캔 📰 데일리 리포트 📈 적중률 📊 기저율 증명 ❓ 방법론 📚 학습 🪙 코인 스캐너 📋 전체 도구 보기 ⏪ 투자 시뮬레이터 🧾 세금 계산🧮 연금 vs 직투 ⚡ 레버리지 ⚖️ 리밸런싱 💹 DCA 📉 물타기 손익분기 💰 배당 일정
← 학습 허브로 돌아가기
🪤 실측 데이터 · 방법론 사고

고가에 팔 수 있었다는 착각
— MFE의 함정

MFE(최고점 도달)는 “그 가격을 찍긴 찍었는가”만 알려줄 뿐, 그 가격에 실제로 팔 수 있었다는 뜻은 아닙니다. 문제는 여기서 끝나지 않았습니다 — 저희가 이 숫자를 재는 과정에서 세 번 실제로 틀렸습니다. 얼버무리지 않고 그대로 공개합니다.

글쓴이 Dawn · IT 엔지니어 · 발행
💡 핵심 한 줄 — MFE는 측정 설계에 따라 조용히 왜곡될 수 있습니다. 행 수·표본 수가 멀쩡해 보여도 안심할 수 없습니다 — 저희가 세 번 그렇게 틀렸습니다.

MFE는 “찍었다”일 뿐 “팔았다”가 아니다

MFE(Maximum Favorable Excursion)는 진입 후 일정 기간 안에 도달한 최고 수익률입니다. 신호가 “움직임을 예측했는가”를 보기엔 적합하지만, 그 최고가에 실제로 매도할 수 있었다는 보장은 어디에도 없습니다. 이 간극 자체는 이미 급등 후 되돌림 글에서 다뤘습니다.

이 글은 한 단계 더 들어갑니다. MFE라는 지표 자체가 아니라, MFE를 측정하는 저희 코드가 틀렸던 사례 세 가지입니다. 셋 다 겉보기 표본 수·행 수는 정상이었습니다 — 그래서 발견까지 오래 걸렸습니다.

사고 ① 측정 창 비대칭 — 픽에만 3배 긴 시간을 줬다

정정일 2026-08-13 · 성숙 픽 249건 재계산 · 출처: price_history 실측

유니버스 기준선(모집단 평균)은 20거래일 창으로 MFE를 쟀습니다. 그런데 스캐너가 고른 픽에는 추적 전체 기간(최대 60거래일)의 최고가를 썼습니다. 같은 이름의 두 숫자가 사실은 서로 다른 길이의 자로 잰 것이었습니다 — 픽에만 최대 3배 긴 시간을 준 비교였습니다.

구분정정 전정정 후(진짜 20일창)
픽 평균 MFE19.43%14.84%
최고점이 20일 이후인 픽42.6%
mfe_atr 리프트+12.8%p−1.5%p

정정 후 이 사이트에서 유일하게 살아남았던 양성 리프트가 사라졌습니다. “20일 안에 얼마나 오르나”를 재는 척했지만, 실제로는 픽 쪽만 20일이 지난 뒤에도 계속 최고가를 갱신할 기회를 준 셈이었습니다. 가장 뼈아픈 대목은 표본의 42.6%가 20일 이후에야 최고점을 찍었다는 사실입니다 — 20일 창으로 “최고점까지 얼마나 걸리나”를 물으면 절반 가까운 경우에서 아직 답이 안 나온 상태로 창이 닫힙니다.

⚠️ 왜 놓쳤나 — 사전 점검에서 “유니버스와 픽의 성숙 조건(누가 집계 대상인가)이 같은가”는 확인했지만, 측정 창(얼마 기간을 재는가)은 별개의 질문이었습니다. 앞으로는 ①모집단 ②성숙 조건 ③측정 창 ④라벨 정의, 넷을 항상 따로 확인합니다.

사고 ② 불멸시간 편향 — MFE 리프트의 유의성까지 흔들렸다

정정일 2026-08-11 · 픽 440건 · 출처: track_service 분모 재계산

이 사고의 주 무대는 적중률 분모 자체(39.8%→30.7% 정정, 별도 글에서 자세히 다룹니다)지만, 같은 편향이 MFE 리프트의 통계적 유의성까지 건드렸다는 점은 이 글의 주제입니다.

아직 20거래일이 안 지난 픽 중 이미 목표를 적중한 것만 분모에 넣고, 같은 시기 아직 못 오른 나머지는 분모에서 빼는 규칙이 있었습니다. 진행 중이던 210건 중 조기적중 40건은 분모에 들어가고, 미적중 170건은 빠졌습니다 — 시간이 지나면 사라질 “아직 모르는 상태”를 “영원히 좋은 결과만 관측되는 상태”처럼 취급한 셈이라 immortal time bias라 부릅니다.

리프트정정 전정정 후판정
mfe15+11.1%p+2.9%pCI하한 24.1 < 기대 27.9 — 유의성 상실
mfe_atr+16.4%p+12.6%pCI하한 15.5 > 기대 8.6 — 유지

정정 전 저희가 “이 사이트 최초의 양성 결과”라고 불렀던 수치는 편향의 산물이었습니다. 살아남은 주장은 단 하나, 변동성 대비(MFE ≥ 6×ATR) 기준에서만 이긴다는 것뿐입니다. 더 관대한 고정 +15% 기준(mfe15)은 정정 후 유의하지 않다는 사실도 함께 남깁니다.

사고 ③ 결측을 “미달”로 집계 — 행 수 검사로는 못 잡는다

정정일 2026-08-05 · 대상 4,650행 · 출처: crypto_signal_stats 재구축

크립토 168시간 라벨(fwd_ret_168h)이 전부 NULL이었습니다. 원인은 두 개가 겹쳐 있었습니다.

  1. 창 경계 — 데이터 수집 API가 창 끝 시각을 배타적으로 처리해, 정확히 168시간 지점의 봉이 응답에 아예 없었습니다. 24h·72h는 창 내부라 무사했고 168h만 항상 비었습니다.
  2. 결측 처리 — 라벨 계산 함수가 값이 없을 때 “판정 불가”(None, 분모 제외)가 아니라 “미달”(False, 실패로 집계)을 반환했습니다.

이 조합이 특히 위험했던 이유는, 비어 보이지 않고 조용히 아래로 왜곡됐다는 점입니다. 표본 수(n_univ)는 다른 정상 라벨과 똑같이 2,568건이었습니다. 기저율만 0%로 나왔습니다 — 실제로는 19.2%였습니다.

⚠️ 일반 교훈 — 행 수·n_obs·n_univ 전부 정상이라 카운트 기반 무결성 검사로는 이 결함을 못 잡습니다. “라벨이 전부 같은 값(0%)인가”를 보는 별도 검사가 필요합니다.

세 사고의 공통점

셋 다 표본 크기·행 수는 정상이었고, 산술 자체도 틀리지 않았습니다. 문제는 언제나 “무엇을 재고 있는가”의 정의였습니다 — 측정 창이 한쪽만 길었거나(①), 분모 구성 규칙이 미래 정보를 몰래 새어들게 했거나(②), 결측을 실패로 오분류했거나(③). 산술 검산만으로는 셋 다 못 잡습니다.

📌 정리 — 다음에 이 사이트든 다른 곳이든 “최고 수익 +N%”라는 숫자를 보면 이렇게 물어보세요. ① 유니버스와 대상 종목의 측정 창이 같은가 ② 아직 진행 중인 항목이 분모에서 어떻게 처리되는가 ③ 값이 없는 행이 실패로 카운트되지는 않는가. 저희는 이 셋을 /about에서 약속한 대로, 정정 사실을 지우지 않고 그대로 남깁니다.
📮 매일 아침 미국장 브리핑 — 전날 미국 상승률 TOP10과 공통점 분석을 매일 오전 8시에 보내드립니다. 텔레그램 @dawnbrief · 무료 · 광고 없음 · 종목 추천이 아닙니다.

자주 묻는 질문

MFE가 왜 함정이 되나요?

MFE(Maximum Favorable Excursion)는 '그 가격을 한 번이라도 찍었는가'만 봅니다. 측정 자체는 정직하지만, 측정을 설계하는 사람이 창(기간) 비대칭·분모 구성·결측 처리를 놓치면 숫자가 조용히 왜곡됩니다. 저희가 실제로 겪은 함정 3가지를 이 글에 그대로 공개합니다.

측정 창 비대칭이 뭔가요?

유니버스 기준선은 20거래일 창으로 MFE를 쟀는데, 픽(스캐너가 고른 종목)에는 추적 전체 기간(최대 60거래일)의 최고가를 썼던 실수입니다. 픽에만 최대 3배 긴 시간을 준 셈이라 두 숫자를 나란히 비교하면 픽이 유리하게 부풀려집니다. 2026-08-13 정정에서 성숙 픽 249건을 진짜 20일창으로 재계산하니 평균이 19.43%에서 14.84%로 줄었고, 유일하게 살아있던 양성 리프트가 사라졌습니다.

결측을 미달로 집계한다는 게 무슨 뜻인가요?

라벨 값이 아직 없는(측정 불가) 행을 '판정 보류'가 아니라 '조건 미달'로 처리하면, 분모에서 빠지는 대신 실패로 카운트됩니다. 2026-08-05 크립토 168시간 라벨에서 이 버그로 4,650행이 전부 NULL이었는데 기저율이 텅 비어 보이는 대신 조용히 0%로 왜곡됐습니다(실제 19.2%). 행 수·표본 수 검사로는 이 결함을 못 잡습니다 — 값이 전부 같은지 별도로 봐야 합니다.

이런 실수를 왜 그대로 공개하나요?

저희 사이트의 원칙이 '불리한 결과를 지우지 않는다'이기 때문입니다. 측정 방법을 숨기면 좋아 보이는 숫자만 남습니다. 정정 이력을 그대로 남기는 것이 사이트 신뢰도를 오히려 높인다고 판단합니다.

함께 읽으면 좋은 글