채널톡 아이콘

퀀트투자 백테스트 검증부터 — 파이썬 과최적화 잡기

백테스트 엔진을 외부 라이브러리 없이 약 300줄로 직접 만들고, 미래 데이터·비용 누락을 자동 테스트로 막습니다. 뒤 절반은 검증입니다: 슬리피지·체결 지연, 워크포워드, 데이터 스누핑 점검으로 규칙을 걸러 내고 규칙마다 검증 보고서 한 장을 자동으로 만듭니다.

1명 이 수강하고 있어요.

난이도 초급

수강기한 무제한

백테스트
백테스트
퀀트투자
퀀트투자
과최적화
과최적화
워크포워드
워크포워드
파이썬
파이썬
백테스트
백테스트
퀀트투자
퀀트투자
과최적화
과최적화
워크포워드
워크포워드
파이썬
파이썬

수강 후 이런걸 얻을 수 있어요

  • 미래 데이터·비용 누락을 구조적으로 막는 파이썬 백테스트 엔진(약 300줄)과 pytest 테스트 28개

  • 슬리피지·호가 단위·하루 지연·거래량 한도를 넣은 체결 모델과 손익분기 슬리피지

  • 워크포워드 검증과 데이터 스누핑 점검(무작위 이동 검정·보정 p값·블록 부트스트랩)

  • 규칙마다 자동 생성되는 검증 보고서 8문항, 엑셀 리포트·자산 곡선 그래프

📏 분량: 수업 16개 + 보너스 1개 · 본문 25,750자 · 코드 블록 91개(보너스 제외) · 첨부 코드 테스트 34개 통과(보너스 6개 포함) — 코드까지 따라 하면 약 234분(보너스 제외, 가정: 코드 블록 1개 2분·분당 500자)

이 강의의 실측 결과 — 원고의 코드와 결과 그대로

  • 학습 구간에서 고른 이동평균 조합은 9개 창 모두 플러스(3.0~24.8%)였지만, 바로 다음 구간에 그대로 쓰면 4번이 0 이하였습니다. 검증 구간을 이어 붙인 워크포워드 결과는 22.1%, 전체를 미리 보고 고른 '반칙' 결과는 38.4% — 그 차이가 과최적화의 크기입니다 (예시A, 수업 13)

  • 후보 16개 중 1등(MA10/40, +47.9%)은 혼자 보면 p값 0.103이지만, 16개 중에서 골랐다는 사실을 반영한 보정 p값은 0.746 — 우연과 구별되지 않습니다 (예시A, 수업 14)

  • 같은 RSI 규칙이 예시A에서는 +65.5%, 예시B에서는 -75.9%였습니다. 예시A의 승률 100%는 거래 5번입니다 (수업 10)

  • 누적 65.5% vs 보유 3.8%로 가장 좋아 보이던 규칙도 검증 보고서 8문항 중 5/8 통과 — 거래 5회, 부트스트랩 CAGR 하위 5% -0.3%, 나쁜 경우 MDD 하위 5% -35.7%에서 막힙니다 (수업 15)

  • 수업 0·1 무료 미리보기 — 강의 사용법과 '백테스트가 거짓말하는 5가지 방법'을 사기 전에 읽어 볼 수 있습니다.

  • 위 숫자는 검증 방법을 보여 주기 위해 시드를 고정한 가상 데이터 예시이며, 미래 수익을 보장하지 않습니다.

"이 규칙, 과거에 정말 통했을까?" 돈 넣기 전에 코드로 확인하세요

차트를 눈대중으로 보면 맞았던 장면만 기억납니다. 수수료와 세금은 빠지고, 오늘 종가를 보고 오늘 종가에 샀다고 착각합니다.
이 강의는 그 착각을 코드로 막는 백테스트 엔진을 외부 라이브러리 없이 약 300줄로 직접 만들고, 엔진이 거짓말하지 않는다는 것을 자동 테스트로 확인합니다. 뒤 절반은 검증입니다: 슬리피지·체결 지연, 워크포워드, 데이터 스누핑 점검으로 규칙을 걸러 내고, 규칙마다 검증 보고서 한 장을 자동으로 만듭니다.

가상 종목의 마지막 100일 가격을 일부러 2배로 바꿔 돌려 봤습니다. 앞 683일의 신호와 자산 곡선이 한 점도 다르지 않으면, 이 백테스트는 미래 가격을 몰래 쓰지 않은 것입니다(8장 예제로 직접 확인).

학습 구간(회색)에서 가장 좋았던 이동평균 조합을 골라 바로 다음 구간(파랑, 63거래일 · 데이터가 끝나는 마지막 창만 27거래일)에 그대로 써 보면, 9번 중 4번은 손실이나 0%였습니다. 워크포워드로 이어 붙인 결과는 22.1%, 전체 기간을 미리 보고 고른 '반칙' 결과는 38.4% — 그 차이가 과최적화의 크기입니다. WFE 0.74는 검증 구간 하루 평균 수익이 학습 구간의 74%였다는 뜻입니다(가상 데이터, 13장 예제. 과거 성과는 미래를 보장하지 않습니다).

이런 분께 추천합니다

  • 내 매매 규칙을 숫자(누적 수익률·CAGR·MDD·승률)로 확인하고 싶은 개인 투자자

  • 파이썬 기초 문법(변수·리스트·함수·for문)은 아는데 백테스트를 어디서부터 짜야 할지 모르는 분

  • 백테스트 라이브러리 결과를 믿어도 되는지 확신이 없는 개발자

수강 후 손에 남는 것

  • 백테스트가 속이는 5가지 함정(미래 데이터, 비용 누락, 생존 편향, 과최적화, 표본 하나)과 각각을 막는 코드

  • 신호는 종가, 체결은 다음 날 시가 — 미래 데이터 사용을 구조적으로 막는 체결 시뮬레이션

  • 수수료·거래세 원 미만 절사까지 맞춘 비용 계산

  • "미래를 바꿔도 과거 신호가 그대로인가" 테스트 — 어떤 규칙에든 붙일 수 있는 거짓말 탐지기

  • 요약·매매내역 엑셀 리포트, 자산 곡선·낙폭 그래프

  • 슬리피지·호가 단위·하루 지연·거래량 한도를 넣은 체결 모델과 '손익분기 슬리피지'

  • 워크포워드 검증: 학습→검증을 굴려 '미리 알았다면'만큼 부풀려진 숫자를 확인

  • 데이터 스누핑 점검: 후보 16개 중 최고값이 우연과 구별되는지(무작위 이동 검정·보정 p값·블록 부트스트랩)

  • 검증 보고서 8문항 자동 생성, 백테스트 점검표, 실제 데이터로 옮길 때 점검표

수업 목록 (16개 + 보너스)

  • 수업 0. 이 강의 사용법 — 무엇을 만들고, 어떻게 따라가나

  • 수업 1. 백테스트가 거짓말하는 5가지 방법

  • 수업 2·3. 환경 준비와 데이터: 일봉 CSV와 공개 데이터 받기

  • 수업 4. 지표를 직접 구현하기

  • 수업 5. 규칙을 '보유 여부' 리스트로 바꾸기

  • 수업 6. 체결 시뮬레이션

  • 수업 7. 성과 지표

  • 수업 8. 테스트로 거짓말 막기

  • 수업 9. 리포트: 엑셀과 그래프

  • 수업 10. 결과를 읽는 법과 과최적화 점검

  • 수업 11. 내 규칙 추가하기

  • 수업 12. 슬리피지와 체결 지연: "시가에 다 산다"는 가정 풀기

  • 수업 13. 워크포워드 검증: 기간 나누기를 굴리기

  • 수업 14. 데이터 스누핑: 많이 돌리면 우연도 좋아 보인다

  • 수업 15. 검증 보고서 한 장: 돈 넣기 전 관문

  • 보너스. 검증 관문을 통과한 규칙만 모의 주문으로

  • 부록. 점검표·자주 나는 오류·연습 해답·실제 데이터 점검·용어 정리

첨부 코드 (book_code.zip)

엔진·검증 모듈 7개, 테스트 34개(pytest, 보너스 6개 포함), 수업별 예제 14개와 일괄 실행 스크립트, 가상 예제 데이터 3종과 생성 스크립트, 설정 파일, 실행 결과 예(엑셀 리포트·그래프·검증 보고서), 보너스 수업용 모의 주문 코드(bonus 폴더 5파일). 판다스 없이 리스트와 for문만 씁니다. 파이썬 3.11 이상. 엑셀 리포트·그래프·자동 테스트에는 openpyxl·matplotlib·pytest 설치가 필요합니다.

알아 두세요

  • 이 강의는 투자 자문이 아니며 어떤 종목·전략도 추천하지 않습니다. 실계좌 주문(자동매매) 연결은 다루지 않습니다. 보너스 수업은 로컬 모의 체결만 다룹니다.

  • 강의 속 이동평균·RSI 규칙은 코딩 연습용 예시이며, 예제 데이터는 시드를 고정한 난수로 만든 가상 종목입니다.

  • 데이터 받는 법은 국내(pykrx)만 다룹니다. 해외 주식은 일봉 CSV만 있으면 엔진은 돌지만, 비용 설정은 직접 조정해야 합니다.

  • 과거 성과는 미래 수익을 보장하지 않으며, 투자 판단과 그 결과의 책임은 투자자 본인에게 있습니다.

  • 초안은 AI(Claude Code)의 도움을 받아 썼고, 첨부 코드의 테스트 34개와 수업별 예제 14개를 실행해 통과를 확인했으며, 출시 전 별도 AI 검수 과정에서 사실·표현을 확인했습니다.

  • 이 강의의 수업은 글(텍스트)과 코드입니다. 무료 미리보기의 영상 1개(약 3분)는 같은 주제의 해설 영상에서 앞부분을 발췌한 맛보기입니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 내 매매 규칙을 숫자(누적 수익률·CAGR·MDD·승률)로 확인하고 싶은 개인 투자자

  • 파이썬 기초 문법은 아는데 백테스트를 어디서부터 짜야 할지 모르는 분

  • 백테스트 라이브러리 결과를 믿어도 되는지 확신이 없는 개발자

선수 지식,
필요할까요?

  • 파이썬 기초 문법(변수·리스트·함수·for문), 파이썬 3.11 이상

  • 엑셀 리포트·그래프·자동 테스트에 openpyxl·matplotlib·pytest 설치가 필요합니다

안녕하세요
Hypothesis Lab입니다.

현직 Java·Spring 백엔드 개발자입니다. Python으로 백테스트·업무 자동화 도구를 만들고, Claude Code로 개발 작업 자동화를 직접 운영하고 있습니다. 면접·실무에서 바로 쓰는 내용을 코드와 함께 글로 빠르게 읽히는 텍스트 강의로 정리합니다.

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

Hypothesis Lab님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!

신규가입 25% 할인

₩22,270

25%

₩29,700

평생교육이용권 지원 강의