저자 조봉수 · 봉수 SSGlobal(주) · ΦΡΥΚΤΩΡΙΑ ΠΛΗΡΟΦΟΡΙΩΝ · 2026-10-18
실습 폴더: lesson02 (파일 5개 + 정답 1개 + 비트코인 일봉 5,937일)
AI 이용 고지: 이 교재와 실습 코드는 AI(Claude)와 함께 만들었습니다. 모든 숫자는 원자료와 코드로 다시 계산할 수 있습니다. 모든 매매는 모의 계산이며 투자 권유가 아닙니다.
목차
- 오늘의 질문
- 1강에서 가져오는 것
- 수업 진행표 (약 70분)
- 1단계 — 비트코인 일봉 읽기
- 2단계 — 들고만 있기
- 3단계 — 초파리의 규칙과 수수료
- 4단계 — 과적합 직접 만들기
- 5단계 — 내 손으로 다시 짜기
- 오늘 배운 검증 습관
- 면접 대비 / 현업 적용 체크리스트
- 숙제
- 정답 (먼저 풀고 나서 보기)
1. 오늘의 질문
기사 「코인으로 1484% 번 초파리」는 초파리 뇌를 흉내 낸 AI가 비트코인으로 1484%를 벌었다고 했습니다. 같은 기사 안에 이런 말도 있습니다. "처음 보는 차트에서는 들고만 있기보다 나빴다."
오늘은 이 문장이 맞는지 실제 비트코인 자료로 직접 계산합니다. 계산해 보면 1484%보다 두 번째 문장이 훨씬 중요하다는 것을 알게 됩니다.
2. 1강에서 가져오는 것
| 1강에서 배운 것 | 오늘 쓰는 곳 |
|---|---|
| 변수·리스트·for·if | 매일 가격을 따라가며 사고팔기 |
| CSV 읽기(4단계) | 1단계 그대로 |
| 함수 만들기(5단계) | period(), stop_rule() |
| 손으로 다시 짜서 751/1,137 재현(6단계) | 5단계에서 -11.5% / -29.9% / 99번 재현 |
3. 수업 진행표 (약 70분)
| 시간 | 단계 | 대표님이 할 일 | 확인할 숫자 |
|---|---|---|---|
| 0~5분 | 준비 | lesson02 폴더에서 명령 프롬프트 열기 |
— |
| 5~15분 | 1단계 | python step1_read_btc.py |
5,937일, 처음 0.05달러 |
| 15~25분 | 2단계 | python step2_hold.py |
검증구간 보유 -11.5% |
| 25~40분 | 3단계 | 규칙 실행 → FEE, STOP 하나씩 바꾸기 |
규칙 -29.9%, 99번 매수 |
| 40~55분 | 4단계 | 과적합 만들기 | 학습 최고 11% → 검증 -0.0% |
| 55~70분 | 5단계 | 빈 파일 채우기 | -11.5% / -29.9% / 99번 / -21.8% |
규칙은 0교시와 같습니다. 한 번에 하나만 바꿉니다. 에러 메시지는 끝까지 읽습니다.
4. 1단계 — 비트코인 일봉 읽기
python step1_read_btc.py
나와야 하는 결과: 읽은 날 수: 5937 처음: ('2010-07-17', 0.05) 끝: ('2026-10-17', 81545.02)
- 비트코인은 주식 분할이 없어서 종가(close)를 그대로 씁니다. 0교시의 구글처럼 '수정주가' 문제가 없습니다.
- 해 보기
- ① 2025-01-01 종가는 얼마인가요? (for + if)
- ② 처음 가격 0.05달러에서 지금은 몇 배인가요?
5. 2단계 — 들고만 있기
python step2_hold.py
| 구간 | 기간 | 보유 수익률 |
|---|---|---|
| 학습구간 | 2023-01-01 ~ 2024-12-31 | +462.1% |
| 검증구간 | 2025-01-01 ~ 2026-09-30 | -11.5% |
기사는 검증구간 보유를 -21.4%라고 했는데, 우리 계산은 -11.5%입니다. 왜 다를까요?
- 해 보기 ① 시작일을 "2025-01-31"로 바꿔 보세요. 시작하는 날 하나로 숫자가 크게 달라집니다.
- 배울 점: 기간이 적혀 있지 않은 수익률은 믿지 않습니다.
6. 3단계 — 초파리의 규칙과 수수료
초파리가 배운 규칙은 이렇습니다. "늘 사 두고, 고점보다 2% 떨어지면 판다. 다음 날 다시 산다." 수수료는 사고팔 때 합계 0.11%입니다(한쪽 0.055%).
python step3_stop_rule.py
| 구간 | 규칙 | 매수 횟수 | 보유 |
|---|---|---|---|
| 학습구간 | +398.4% | 102번 | +462.1% |
| 검증구간 | -29.9% | 99번 | -11.5% |
기사의 문장이 맞았습니다. 처음 보는 구간에서 규칙은 들고만 있기보다 18.4%p 나빴습니다.
- 해 보기
- ① fee=0으로 바꾸면 손실이 얼마나 줄어드나요? 그 차이가 수수료만으로 잃은 돈입니다.
- ② STOP을 0.05, 0.10으로 바꿔 보세요. 학습에서 좋았던 값이 검증에서도 좋은가요?
7. 4단계 — 과적합 직접 만들기
학습구간에서 손절폭 1%부터 30%까지를 모두 시험해 가장 좋은 값을 고르고, 그 값으로 검증구간을 채점합니다.
python step4_overfit.py
- 학습구간 최고 손절폭은 11%, 학습 수익은 +512.5%입니다(보유 +462.1%보다 좋음).
- 그 11%로 검증구간을 채점하면 -0.0%입니다.
과적합은 지나간 차트에 너무 잘 맞춘 규칙이 새 차트에서는 통하지 않는 것입니다. 1484%는 학습 차트의 성적표일 뿐입니다. - 해 보기 - ① 검증구간에서 '사후에' 가장 좋은 손절폭을 찾아보세요. 학습구간 최고값과 같은가요? - ② 1484%를 믿으면 안 되는 이유를 한 줄로 써 보세요.
8. 5단계 — 내 손으로 다시 짜기
step5_rebuild.py에는 주석만 있습니다. 1~4단계를 보고 직접 채웁니다.
목표 결과는 네 개입니다. 보유 -11.5%, 규칙 -29.9%(99번 매수), 수수료가 0이면 -21.8%.
네 숫자가 다 맞으면 오늘 수업을 마칩니다. 막히면 answers/step5_answer.py를 보되, 보고 나서 다시 빈 파일에 처음부터 써 봅니다.
9. 오늘 배운 검증 습관
- 학습과 검증을 나눈다. 규칙을 만든 자료로 규칙을 채점하지 않는다.
- 비용을 넣는다. 99번 사고팔면 수수료만으로 수익이 8%p 넘게 줄어든다(-21.8% → -29.9%).
- 기준과 비교한다. "들고만 있기"보다 나은가? 나쁘면 안 쓴다.
- 기간을 적는다. 시작일 하나로 -11.5%가 -18.4%가 된다.
10. 면접 대비 / 현업 적용 체크리스트
면접 대비 - 질문 "백테스트 결과가 좋으면 바로 실전에 쓰나요?" - 답: 아닙니다. 학습과 검증 구간을 나누고, 수수료를 넣고, 단순 보유와 비교합니다. 검증구간에서 보유보다 나쁘면 쓰지 않습니다. - 질문 "과적합을 어떻게 알아봅니까?" - 답: 학습에서 고른 최적값이 검증에서도 좋은지 봅니다. 이 실습에서는 학습 최고 11%가 검증에서 0%였고, 검증 최고는 6%로 달랐습니다.
현업 체크리스트 - [ ] 수익률 옆에 기간(시작일·끝일)이 적혀 있는가 - [ ] 수수료·세금·체결 비용이 들어갔는가 - [ ] 학습/검증 구간이 나뉘어 있는가 - [ ] 단순 보유(벤치마크)와 비교했는가 - [ ] 매매 횟수가 적혀 있는가
11. 숙제
- 검증구간을
"2025-07-01" ~ "2026-09-30"으로 바꿔 3단계를 다시 돌리고, 규칙과 보유 중 무엇이 나았는지 한 줄로 적기. - 5단계 파일에 "수수료 0.2%"인 경우를 한 줄 더 넣어 결과 적기.
- 다음 강 예고: 1부 1-2강 — 판다스로 같은 계산을 3줄로 줄이기.
12. 정답 (먼저 풀고 나서 보기) — 눌러서 펼치기
| 문제 | 정답 |
|---|---|
| 1단계 ① 2025-01-01 종가 | 94,383.59달러 |
| 1단계 ② 몇 배 | 약 163만 배 (81,545.02 ÷ 0.05) |
| 2단계 ① 시작일 2025-01-31 | 보유 -18.4% (시작 가격 102,411.26달러) |
| 3단계 ① 수수료 0 | 검증 -21.8% → 수수료로 잃은 몫 약 8.1%p |
| 3단계 ② STOP 바꾸기 | 5%: 학습 +316.9% / 검증 +16.3% · 10%: 학습 +409.6% / 검증 -25.2% → 학습 순위와 검증 순위가 다르다 |
| 4단계 ① 검증 사후 최고 | 손절폭 6%, 검증 +21.9% (학습 최고 11%와 다르다) |
| 4단계 ② 한 줄 | "1484%는 이미 본 차트에 맞춘 성적이라, 처음 보는 차트에서는 보장되지 않는다." |
| 5단계 | 보유 -11.5% · 규칙 -29.9%(99번) · 수수료 0이면 -21.8% |
주의: 4단계 ①의 6%도 '검증구간을 보고 고른' 값이라 또 하나의 과적합입니다. 다음 기간에 6%가 좋을지는 모릅니다.
자료: Alpha Vantage 비트코인/달러 일봉(2010-07-17 ~ 2026-10-17). 계산 확인: 2026-10-18 버디가 클라우드에서 전체 단계를 실행해 README의 목표 숫자와 일치함을 확인.

