본문 바로가기

백테스트

AI가 만든 '성공' 판정, 부호만 맞으면 통과시키는 함정 — 최소격차·표본 가드로 막는 법 문제 제기: '방향이 맞았다'와 '차이가 있다'는 다르다데이터로 두 그룹을 비교할 때 가장 흔히 저지르는 실수가 있습니다. A의 평균이 B의 평균보다 크기만 하면 "A가 더 낫다"고 결론 내리는 것입니다. 방향(부호)만 보고 판정하는 이 방식은 언뜻 합리적으로 보이지만, 차이의 크기와 표본 수를 무시하기 때문에 노이즈를 실력으로 착각하게 만듭니다.실제로 제가 만든 종목 등급 스크리너의 포워드 평가 함수(run_value_forward_eval)에서 이 문제가 터졌습니다. 판정 조건이 사실상 다음 한 줄이었습니다.if A.avg > C.avg: judgment = "✅ A>C 변별력 있음"이 코드는 A 등급 평균이 C 등급 평균보다 크기만 하면 무조건 성공을 표시합니다. 문제가 드러난 사례는 이랬습니.. 더보기
스캘핑 전략을 시작하기 전에: 비용·데이터·레이턴시부터 계산하는 법 왜 스캘핑은 '아이디어'부터 시작하면 실패하는가스캘핑처럼 하루에 수십~수백 번 진입하는 고회전 전략은 보통 '어떤 신호로 진입할까'부터 고민한다. 하지만 실제로 KR·US·코인 4개 시장의 스캘핑 연구 계획을 검토하면서 확인한 결론은 반대였다. 전략 아이디어보다 비용·데이터·실행 레이턴시가 먼저 전략의 생사를 결정한다.이유는 단순하다. 회전이 빨라질수록 한 번의 왕복에서 발생하는 수수료·슬리피지가 기대 수익을 잠식하고, 검증에 필요한 데이터가 애초에 존재하지 않으며, 신호가 맞아도 실행 지연 때문에 그 가격에 못 들어간다. 이 세 가지 전제조건이 충족되지 않으면 백테스트 성적이 아무리 좋아도 실거래 성과와 검증 신뢰도가 크게 훼손될 수 있다.이 글은 특정 전략의 매매법이 아니라, 고회전 전략을 시작하기 .. 더보기
EP.25 백테스트 미래참조 버그, 결과가 뒤집힌 날 들어가며: 그럴듯한 숫자를 의심하기퀀트 백테스트를 만지다 보면 결과가 좋게 나올수록 오히려 조심해야 하는 순간이 있습니다. 이번 글은 매매 당일 자기 종가로 레짐(regime)을 라벨링하던 미래참조(look-ahead) 버그를 발견하고 고친 기록입니다. 고치고 나니 레짐 필터의 효과가 부풀려져 있었을 뿐 아니라, 최고와 최악의 순서까지 반대로 뒤바뀌었습니다.이 글은 완결된 전략 소개가 아니라, 하나의 검증 실패와 수정 과정을 남기는 개발 기록입니다.문제: 레짐과 수익률이 같은 하루를 봤다build_backtest는 각 매매일에 regime_by_date[매매일] = 그 매매일의 지수 등락률로 레짐 라벨을 붙이고 있었습니다. 문제는 수익률도 같은 날 시가→종가로 측정했다는 점입니다. 즉 레짐과 수익률이 같.. 더보기
EP.23 스캘핑 전략은 왜 수집기부터 시작하나 왜 전략 아이디어가 아니라 계획부터인가오너로부터 KR·US·코인 4개 시장을 대상으로 한 스캘핑 전략 연구 지시를 받았다. 스캘핑은 초단타·고회전 매매라 진입/청산 아이디어 자체보다 그 아이디어를 실제로 돌릴 수 있는 조건이 먼저 문제가 된다. 그래서 곧바로 백테스트에 들어가는 대신, 지시를 검토해 SCALPING_RESEARCH_PLAN.md라는 단계형 연구 계획으로 재구성하고 STATUS 문서 §5-1에 등록했다.이 글은 그 계획을 세우며 확정한 세 가지 충돌과, 그로 인해 도출된 진행 순서·채택 기준을 정리한 기록이다.검토에서 확정한 3대 충돌계획 수립 과정에서 스캘핑을 가로막는 구조적 문제 세 가지를 먼저 확정했다.비용 수학: 좁은 익절 폭은 시장 왕복 거래비용 이하로 내려갈 수 있어, 익절 하한.. 더보기
EP.03 만드는 건 쉬웠다, 어려운 건 그다음이었다 들어가며: 시스템은 어렵지 않게 만들었다자동매매 시스템을 직접 만들어봤습니다. 그런데 막상 해보니 시스템을 구축하는 것 자체는 어렵지 않았습니다.진짜 어려운 건 그다음이었습니다. 이 글은 '만드는 단계'가 끝난 뒤에 마주한, 오래 걸린 과정에 대한 기록입니다.만드는 건 어렵지 않았다시스템을 만드는 일 자체는 크게 막히지 않았습니다. 제 경우에는 이 단계에서 큰 어려움을 느끼지 않았습니다.여기서 말하는 '어렵지 않았다'는 상대적인 표현입니다. 개발 경험이나 환경에 따라 이 단계의 난이도는 다를 수 있습니다. 다만 제 경우에는 이 부분에서 크게 막히지 않았습니다.어려운 건 '기준'을 정하는 일이었다정작 오래 걸린 건 어떤 기준으로 사고팔지를 정하는 일이었습니다. 시스템은 시키는 대로 움직일 뿐, 무엇을 시킬.. 더보기

반응형