깊은 백테스트 · 스트레스 시험 — RSI50 분할매수 (실전 규칙 그대로)
작성 2026-11-11 21:20 · 데이터 끝 2026-10-28 · python examples/deep_backtest.py
조건: 1억 · 10종목 · 한국+미국 · 그 해 직전 1년 거래대금 상위 200+200 (한국 상장폐지 포함, 미국은 현재 상장 종목만 — 미국 쪽은 생존 편향이 남음) · 고친 데이터 · 실제 비용(한국 수수료 0.015%+거래세, 미국 수수료 0.1%+환전 0.1%, 손절 슬리피지 0.1%) · 1틱 관통 체결 · 정수 주식. DEV = 2007~2016, TEST = 2017~.
빠른 엔진 확인: numba 로 옮긴 엔진이 run_r50 과 무작위 300종목 · 트레이드 7,422건에서 다른 종목 0개, 계좌 계산(fsim)이 realistic.simulate 와 최대 상대 차이 0.0e+00 (CAGR 5.435% vs 5.435%). 아래 숫자는 모두 이 엔진으로.
0. 미리 정한 시험과 합격선 (결과 보기 전에 적음)
| 절 | 시험 | 합격(좋음) | 불합격(나쁨) |
|---|---|---|---|
| 1 | RSI 진입 {25,28,30,32,35} × 간격 {6,7,8,9,10}% · 손절 {7,10,13,15}% × 익절 RSI {45,50,55} · 레그 {3,4,5} (피라미드), DEV·TEST 따로 | 고원: 실전 칸의 이웃(한 칸씩, 대각 포함) 평균 샤프가 실전 샤프의 75% 이상 (DEV·TEST 둘 다) + DEV 순위와 TEST 순위 상관 > 0 | 봉우리: 이웃 평균이 50% 미만, 또는 DEV 1등이 TEST 에서 하위 절반 |
| 1 | 그리드 전체 PBO (CSCV 16조각) · 실전 설정 DSR (N = 그리드 수 + 1,000) | PBO < 30%, DSR ≥ 95% | PBO > 50%, DSR < 80% |
| 2 | 하루 늦은 진입 · 무작위 미체결 10/20/30% (시드 50) · 비용 ×2·×3 · 손절 하루 늦게 · 손절 다음 날 저가 · 손절 1% 갭 · 다 겹친 '나쁜 날' | 하나씩은 CAGR > 2%, '나쁜 날' 중앙 CAGR > 0 | 하나라도 CAGR < 0, '나쁜 날' 하위 5% 가 크게 마이너스 |
| 3 | 시장별 상위 100/200/400 · 한국만 · 미국만 · 초대형주(거래대금 상위 20) 빼기 | 모두 CAGR > 0, 실전 가정의 절반 이상이 대부분 | 한쪽 유니버스에서만 버는 구조 |
| 4 | 2006~ 시작 (2005 워밍업), 2006~2007 따로 | 2006~2007 CAGR > 0, MDD > -30% | 새 구간에서 크게 손실 |
| 5 | 날짜 블록 부트스트랩 합성 10년 역사 ≥500개 (블록 평균 20일, 참고로 60일) + 계좌 수익 부트스트랩 1만 개 | P(10년 CAGR<0) < 10%, P(MDD>40%) < 10% | P(CAGR<0) > 25% 또는 P(MDD>50%) > 10% |
| 6 | 36개월 이동 샤프·CAGR, 물 밑, 회복, 연도표, 최악 낙폭 10개 | 36개월 CAGR 이 마이너스인 기간 < 20% | 우위가 특정 시기에만 몰림 |
| 7 | 킬 스위치: 처음 1·2·3·5·10년 안 최대 낙폭의 95% 선 | — | — |
1. 파라미터 지형 — 고원인가 봉우리인가
실전 설정: DEV 샤프 0.69 · CAGR 6.11% · MDD -21.1% / TEST 샤프 0.54 · CAGR 4.76% · MDD -18.8% / 2007~ CAGR 5.43%


이웃 비교 (미리 정한 고원 기준)
| 그리드 | 구간 | 실전 샤프 | 이웃 평균 샤프 | 비율 | 이웃 중 실전보다 나은 칸 | 그리드 안 실전 순위 | DEV↔TEST 순위 상관 |
|---|---|---|---|---|---|---|---|
| RSI×간격 | DEV | 0.69 | 0.49 | 72% | 1/8 | 2/25 | 0.37 |
| RSI×간격 | TEST | 0.54 | 0.44 | 82% | 1/8 | 3/25 | 0.37 |
| 손절×익절 | DEV | 0.69 | 0.61 | 89% | 3/8 | 4/12 | -0.82 |
| 손절×익절 | TEST | 0.54 | 0.54 | 98% | 4/8 | 7/12 | -0.82 |
레그 수 (피라미드 1:2:…:n)
| 변형 | DEV CAGR% | DEV MDD% | DEV 샤프 | TEST CAGR% | TEST MDD% | TEST 샤프 | 전체 CAGR% | 전체 샤프 |
|---|---|---|---|---|---|---|---|---|
| RSI30·간격8% | 6.11 | -21.1 | 0.69 | 4.76 | -18.83 | 0.54 | 5.43 | 0.62 |
| 레그3 | 4.26 | -29.34 | 0.44 | 3.16 | -25.27 | 0.34 | 3.71 | 0.39 |
| 레그5 | 3.13 | -22.63 | 0.41 | 4.65 | -14.74 | 0.6 | 3.88 | 0.5 |
그리드 전체 (DEV 샤프 순)
| 변형 | DEV CAGR% | DEV MDD% | DEV 샤프 | TEST CAGR% | TEST MDD% | TEST 샤프 | 전체 CAGR% | 전체 MDD% | 전체 샤프 |
|---|---|---|---|---|---|---|---|---|---|
| 손절13%·익절RSI45 | 6.11 | -22.18 | 0.72 | 2.85 | -21.35 | 0.37 | 4.48 | -22.18 | 0.55 |
| RSI30·간격7% | 6.46 | -22.02 | 0.71 | 3.58 | -18.03 | 0.43 | 5.02 | -22.02 | 0.57 |
| 손절7%·익절RSI50 | 5.74 | -19.54 | 0.71 | 4.24 | -15.74 | 0.53 | 4.99 | -19.54 | 0.62 |
| 손절7%·익절RSI45 | 5.29 | -19.12 | 0.7 | 3.2 | -15.83 | 0.45 | 4.25 | -19.12 | 0.58 |
| RSI30·간격8% | 6.11 | -21.1 | 0.69 | 4.76 | -18.83 | 0.54 | 5.43 | -21.1 | 0.62 |
| 손절10%·익절RSI45 | 5.48 | -21.22 | 0.69 | 2.47 | -19.85 | 0.34 | 3.98 | -21.22 | 0.52 |
| 손절13%·익절RSI50 | 5.97 | -21.39 | 0.65 | 5.9 | -17.79 | 0.63 | 5.93 | -21.39 | 0.64 |
| 손절15%·익절RSI45 | 5.69 | -22.03 | 0.65 | 2.99 | -22.37 | 0.38 | 4.34 | -22.37 | 0.52 |
| RSI30·간격9% | 5.45 | -20.16 | 0.64 | 5.21 | -16.79 | 0.61 | 5.33 | -20.16 | 0.63 |
| 손절15%·익절RSI50 | 5.08 | -25.15 | 0.54 | 5.74 | -17.78 | 0.6 | 5.4 | -25.15 | 0.57 |
| RSI28·간격10% | 3.79 | -17.36 | 0.52 | 2.64 | -16.76 | 0.43 | 3.22 | -17.36 | 0.48 |
| RSI30·간격6% | 4.95 | -30.81 | 0.52 | 2.72 | -25.39 | 0.31 | 3.84 | -30.81 | 0.41 |
| 손절10%·익절RSI55 | 4.49 | -26.16 | 0.51 | 5.78 | -16.01 | 0.64 | 5.11 | -26.16 | 0.57 |
| RSI28·간격9% | 3.52 | -20.4 | 0.47 | 3.13 | -15.82 | 0.47 | 3.33 | -20.4 | 0.47 |
| RSI30·간격10% | 3.7 | -26.12 | 0.47 | 4.35 | -15.42 | 0.54 | 4.02 | -26.12 | 0.5 |
| RSI28·간격7% | 3.72 | -24.07 | 0.46 | 3.36 | -16.33 | 0.46 | 3.54 | -24.07 | 0.46 |
| 손절13%·익절RSI55 | 4.26 | -30.9 | 0.45 | 6.33 | -15.97 | 0.65 | 5.27 | -30.9 | 0.55 |
| RSI32·간격9% | 3.8 | -33.49 | 0.45 | 3.33 | -21.16 | 0.44 | 3.57 | -33.49 | 0.44 |
| 레그3 | 4.26 | -29.34 | 0.44 | 3.16 | -25.27 | 0.34 | 3.71 | -29.34 | 0.39 |
| RSI25·간격10% | 3.2 | -13.35 | 0.44 | 2.28 | -17.2 | 0.39 | 2.74 | -17.34 | 0.41 |
| 손절7%·익절RSI55 | 3.68 | -23.71 | 0.43 | 5.69 | -17.06 | 0.67 | 4.66 | -23.71 | 0.55 |
| RSI28·간격8% | 3.18 | -20.37 | 0.41 | 3.19 | -14.84 | 0.44 | 3.18 | -20.37 | 0.43 |
| 레그5 | 3.13 | -22.63 | 0.41 | 4.65 | -14.74 | 0.6 | 3.88 | -22.63 | 0.5 |
| RSI32·간격8% | 3.6 | -38.58 | 0.4 | 2.72 | -20.16 | 0.36 | 3.17 | -38.58 | 0.38 |
| RSI32·간격7% | 3.91 | -38.7 | 0.4 | 2.68 | -20.81 | 0.34 | 3.29 | -38.7 | 0.37 |
| 손절15%·익절RSI55 | 3.96 | -33.85 | 0.4 | 6.66 | -18.8 | 0.68 | 5.28 | -33.85 | 0.53 |
| RSI28·간격6% | 3.33 | -25.99 | 0.39 | 2.25 | -19.72 | 0.31 | 2.79 | -25.99 | 0.35 |
| RSI25·간격8% | 2.84 | -15.16 | 0.37 | 3.28 | -18.12 | 0.48 | 3.05 | -18.12 | 0.42 |
| RSI35·간격7% | 3.73 | -39.71 | 0.37 | 3.04 | -17.56 | 0.37 | 3.39 | -39.71 | 0.37 |
| RSI25·간격9% | 2.56 | -16.39 | 0.36 | 2.58 | -15.11 | 0.43 | 2.56 | -16.39 | 0.39 |
| RSI32·간격10% | 2.77 | -29.15 | 0.35 | 3.48 | -22.35 | 0.49 | 3.12 | -29.15 | 0.41 |
| RSI35·간격8% | 3.36 | -33.1 | 0.35 | 4.49 | -18.03 | 0.52 | 3.92 | -33.1 | 0.43 |
| RSI32·간격6% | 3.03 | -39.61 | 0.32 | 2.02 | -23.22 | 0.26 | 2.52 | -39.61 | 0.29 |
| RSI25·간격7% | 2.1 | -19.74 | 0.28 | 2.62 | -23.95 | 0.36 | 2.35 | -23.95 | 0.32 |
| RSI35·간격10% | 2.03 | -31.71 | 0.25 | 3.3 | -21.23 | 0.43 | 2.66 | -31.71 | 0.33 |
| RSI35·간격9% | 1.86 | -33.67 | 0.22 | 4.4 | -19.34 | 0.54 | 3.11 | -33.67 | 0.36 |
| RSI35·간격6% | 0.95 | -43.74 | 0.14 | 1.8 | -20.27 | 0.22 | 1.37 | -43.74 | 0.18 |
| RSI25·간격6% | 0.1 | -32.47 | 0.06 | 2.08 | -25.71 | 0.29 | 1.08 | -32.47 | 0.16 |
PBO · DSR (그리드 38개, 2007~ 일별 수익)
- PBO 56.8% — 앞 절반 1등이 뒤 절반에서 중간 아래로 떨어질 확률. IS 1등 샤프 중앙 0.72 → 그 1등의 OOS 샤프 중앙 0.41. 가장 자주 1등: RSI30·간격9%(15%), 손절7%·익절RSI45(13%), 손절13%·익절RSI50(12%)
| 구간 | 시험 수 N | 운으로 나올 최고 샤프 | 실전 샤프 | DSR (진짜>0 확률) |
|---|---|---|---|---|
| 전체 2007~ | 1 | 0.00 | 0.62 | 99.7% |
| 전체 2007~ | 38 | 0.25 | 0.62 | 95.0% |
| 전체 2007~ | 1038 | 0.38 | 0.62 | 85.7% |
| DEV | 1 | 0.00 | 0.69 | 98.8% |
| DEV | 38 | 0.35 | 0.69 | 86.4% |
| DEV | 1038 | 0.53 | 0.69 | 69.8% |
| TEST | 1 | 0.00 | 0.54 | 95.6% |
| TEST | 38 | 0.26 | 0.54 | 81.1% |
| TEST | 1038 | 0.40 | 0.54 | 67.8% |
N=1 은 보정 없는 확률(PSR). N=그리드+1,000 은 '이 규칙 모양을 고르기까지 예전 연구에서 수백~천 번 시험했다'는 사전 몫.
경로 잡음 — 같은 설정, 같은 날 후보 순서만 무작위 10번 (누가 빈 슬롯을 차지하나)
지형의 칸 차이가 이 띠(10~90%)보다 작으면 그 차이는 설정 탓이 아니라 슬롯 경쟁의 우연으로 본다.
| 변형 | DEV 샤프 중앙 | DEV 10% | DEV 90% | TEST 샤프 중앙 | TEST 10% | TEST 90% | 전체 샤프 중앙 | 전체 10% | 전체 90% | 무작위 순서 CAGR% 중앙 | 무작위 순서 MDD% 중앙 | 무작위 순서 MDD% 최악 | 실전 plan 순 MDD% | 코드순 CAGR% | 실전 plan 순 CAGR% | 실전 plan 순 샤프 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RSI25·간격8% | 0.37 | 0.3 | 0.51 | 0.39 | 0.33 | 0.46 | 0.37 | 0.34 | 0.46 | 2.76 | -19.32 | -22.58 | -16.27 | 3.05 | 3.49 | 0.49 |
| RSI28·간격8% | 0.45 | 0.3 | 0.49 | 0.55 | 0.49 | 0.61 | 0.48 | 0.41 | 0.54 | 3.62 | -21.9 | -27.26 | -18.28 | 3.18 | 3.01 | 0.42 |
| RSI30·간격8% | 0.56 | 0.45 | 0.62 | 0.54 | 0.44 | 0.58 | 0.54 | 0.5 | 0.57 | 4.48 | -20.36 | -26.87 | -26.97 | 5.43 | 4.5 | 0.53 |
| RSI32·간격8% | 0.51 | 0.37 | 0.58 | 0.46 | 0.28 | 0.58 | 0.47 | 0.33 | 0.57 | 3.93 | -33.26 | -35.89 | -37.18 | 3.17 | 3.37 | 0.43 |
| RSI35·간격8% | 0.3 | 0.19 | 0.49 | 0.33 | 0.05 | 0.49 | 0.29 | 0.17 | 0.42 | 2.46 | -30.38 | -33.96 | -29.15 | 3.92 | 3.59 | 0.41 |
| RSI30·간격6% | 0.54 | 0.42 | 0.68 | 0.38 | 0.28 | 0.43 | 0.44 | 0.38 | 0.54 | 4.22 | -27.48 | -31.61 | -32.39 | 3.84 | 2.82 | 0.32 |
| RSI30·간격7% | 0.56 | 0.49 | 0.64 | 0.44 | 0.3 | 0.54 | 0.48 | 0.43 | 0.54 | 4.14 | -23.72 | -29.09 | -25.56 | 5.02 | 3.29 | 0.39 |
| RSI30·간격9% | 0.59 | 0.48 | 0.69 | 0.59 | 0.51 | 0.65 | 0.59 | 0.54 | 0.65 | 4.66 | -18.97 | -23.54 | -23.29 | 5.33 | 4.75 | 0.58 |
| RSI30·간격10% | 0.54 | 0.45 | 0.62 | 0.59 | 0.5 | 0.62 | 0.55 | 0.53 | 0.6 | 4.16 | -18.37 | -23.6 | -19.6 | 4.02 | 3.91 | 0.51 |
| 손절7%·익절RSI50 | 0.54 | 0.47 | 0.6 | 0.51 | 0.37 | 0.58 | 0.5 | 0.44 | 0.57 | 3.9 | -20.74 | -25.29 | -23.4 | 4.99 | 3.24 | 0.41 |
| 손절13%·익절RSI50 | 0.56 | 0.47 | 0.72 | 0.63 | 0.52 | 0.65 | 0.58 | 0.52 | 0.67 | 4.98 | -21.11 | -25.53 | -25.76 | 5.93 | 5.24 | 0.59 |
판정 1: 이웃/실전 샤프 비율 RSI×간격 DEV 72%, RSI×간격 TEST 82%, 손절×익절 DEV 89%, 손절×익절 TEST 98% → 중간 — 완만한 언덕 (고원 기준 일부 미달). PBO 57% (불합격), DSR(N=1038) 86% (약함). 경로 잡음 띠(전체 샤프 10~90%): 실전 0.50~0.57, RSI28·간격8% 0.41~0.54, RSI32·간격8% 0.33~0.57 → RSI 축 차이 일부는 슬롯 경쟁 잡음 안.
2. 체결 스트레스
실전 가정 자체가 이미 '손절은 종가로 판정 → 다음 날 시가 시장가(+0.1% 슬리피지)'라서, 요청의 (d) '손절가 대신 다음 날 시가'는 기준과 같다. 그래서 (d) 를 세 가지로 바꿔 봄: d1 하루 더 늦게(다다음 날 시가), d2 다음 날 그날 최저가에 팔림(최악), d3 참고로 장중 손절 주문(손절가 닿는 순간). 무작위 미체결은 진입·추가 레그·익절 지정가가 닿아도 그 날 p 확률로 안 된 걸로 (주문은 다음 날 다시 — 실전 계획과 같은 방식) — 시드 50개 중앙과 하위 5%.

| 시나리오 | 실행 수 | 전체 CAGR% | 전체 CAGR% 하위5% | 전체 MDD% | 전체 MDD% 하위5% | 전체 샤프 | DEV CAGR% | TEST CAGR% |
|---|---|---|---|---|---|---|---|---|
| 기준 (실전 가정) | 1 | 5.43 | nan | -21.1 | nan | 0.62 | 6.11 | 4.76 |
| a 진입 하루 늦게 (다음다음 날 시가 · 슬리피지 0.1%) | 1 | 4.53 | nan | -21.81 | nan | 0.53 | 4.44 | 4.62 |
| c 비용 ×2 | 1 | 4.25 | nan | -21.82 | nan | 0.5 | 4.77 | 3.74 |
| c 비용 ×3 | 1 | 3.04 | nan | -22.74 | nan | 0.37 | 3.42 | 2.67 |
| d1 손절 하루 늦게 (다다음 날 시가) | 1 | 4.99 | nan | -21.85 | nan | 0.55 | 5.45 | 4.53 |
| d2 손절 다음 날 저가 (그날 최악) | 1 | 4.04 | nan | -25.15 | nan | 0.47 | 4.49 | 3.58 |
| d3 (참고) 장중 손절 주문 — 손절가에 즉시 | 1 | 4.25 | nan | -22.45 | nan | 0.53 | 5.1 | 3.39 |
| e 손절마다 1% 불리한 갭 | 1 | 5.02 | nan | -21.93 | nan | 0.57 | 5.64 | 4.4 |
| b 지정가 미체결 10% | 50 | 4.6 | 3.69 | -22.25 | -28.36 | 0.54 | 5.51 | 3.72 |
| b 지정가 미체결 20% | 50 | 4.28 | 3.22 | -21.89 | -28.33 | 0.52 | 5.2 | 3.71 |
| b 지정가 미체결 30% | 50 | 3.94 | 2.47 | -22.55 | -29.42 | 0.48 | 4.02 | 3.48 |
| 나쁜 날 (b20%+비용×2+손절 하루 늦게+1% 갭) | 50 | 2.85 | 1.82 | -25.91 | -28.9 | 0.36 | 3.55 | 2.26 |
| 나쁜 날 + 진입 하루 늦게 | 50 | 2.59 | 1.49 | -24.92 | -30.54 | 0.33 | 3.08 | 2.05 |
| [실전 plan 순서] 기준 | 1 | 4.5 | nan | -26.97 | nan | 0.53 | 4 | 5.03 |
| [실전 plan 순서] 나쁜 날 | 50 | 2.79 | 1.88 | -25.55 | -30.44 | 0.34 | 2.44 | 3.44 |
판정 2: 하나씩 중 최악은 'c 비용 ×3' CAGR 3.04%. '나쁜 날' 중앙 2.85% (하위5% 1.82%), 진입까지 늦으면 2.59% (하위5% 1.49%) → 합격 참고: 장중 손절 주문(손절가 닿으면 즉시)은 4.25% 로 지금의 '종가 판정 → 다음 날 시가'(5.43%)보다 나쁨 — 장중에 찍고 되돌아오는 날에 털리기 때문. 지금 방식이 맞다. 단, 기준(코드순 = 같은 날 한국 후보 먼저)은 실전 plan 순서(종가에 가까운 후보 먼저)보다 높게 나옴: 실전 순서 기준 4.50%, 실전 순서 '나쁜 날' 중앙 2.79% (하위5% 1.88%).
3. 유니버스 민감도
초대형주는 과거 시총 자료가 없어 '시장별 직전 1년 거래대금 상위 20'으로 대신함 (미리 정한 대용).
| 유니버스 | 종목·연도 수 | 전체 CAGR% | 전체 MDD% | 전체 샤프 | DEV CAGR% | TEST CAGR% | 청산 | 금액가중 기대값% |
|---|---|---|---|---|---|---|---|---|
| 시장별 상위 100 | 4894 | 2.45 | -22.45 | 0.35 | 1.86 | 3.06 | 2173 | 0.95 |
| 시장별 상위 200 (실전 가정) | 9663 | 5.43 | -21.1 | 0.62 | 6.11 | 4.76 | 2456 | 1.68 |
| 시장별 상위 400 | 18688 | 3.96 | -23.62 | 0.45 | 3.66 | 4.26 | 2734 | 1.12 |
| 한국만 (상위 200) | 5263 | 4.57 | -21.83 | 0.53 | 5.96 | 3.19 | 1929 | 1.63 |
| 미국만 (상위 200) | 4400 | 2.14 | -18.86 | 0.3 | 1.34 | 2.98 | 1969 | 0.97 |
| 상위 200 − 거래대금 상위 20 (초대형주 빼기) | 8683 | 4.48 | -21.99 | 0.52 | 5.81 | 3.15 | 2313 | 1.36 |
판정 3: CAGR 범위 2.14~5.43% (실전 가정 5.43%), 실전의 절반 이상인 유니버스 67% → 합격
4. 더 이른 역사 (2006~)
데이터가 2005-01 부터라 2005 를 워밍업(RSI·1년 고점·거래정지 이력·직전 1년 거래대금 순위)으로 쓰고 2006-01 부터 계좌 시작.
| 구간 | CAGR% | MDD% | 샤프 | 청산 | 승률% | 손익(백만) |
|---|---|---|---|---|---|---|
| 2006~2007 (새로 보는 구간) | 23.14 | -3.19 | 2.8 | nan | nan | nan |
| 2006~ 전체 | 6.17 | -21.28 | 0.69 | nan | nan | nan |
| 2007~ 전체 (기존 기준) | 5.37 | -21.28 | 0.61 | nan | nan | nan |
| 2006 한 해 | 23.43 | -2.5 | 2.86 | nan | nan | nan |
| 2007 한 해 | 23.05 | -3.19 | 2.73 | nan | nan | nan |
| 2006~2007 진입 거래 | nan | nan | nan | 619 | 81.91 | 45.6 |
판정 4: 2006~2007 CAGR 23.14% · MDD -3.2% → 합격
6. 시간 안정성

| 항목 | 값 |
|---|---|
| 물밑 비율% (고점 아래 아무 날) | 89.39 |
| 고점 -5% 아래 날 비율% | 14.17 |
| 고점 -10% 아래 날 비율% | 4.73 |
| 최장 물밑(일) | 853.00 |
| 낙폭 5%↑ 횟수 | 9.00 |
| 낙폭 10%↑ 횟수 | 4.00 |
| 회복 일수 중앙(낙폭 5%↑) | 140.00 |
| 회복 일수 최대 | 720.00 |
| 36개월 샤프 최저 | -0.44 |
| 36개월 샤프 최저 시점 | 2020-03-23 |
| 36개월 샤프 최고 | 1.59 |
| 36개월 샤프<0 비율% | 0.82 |
| 36개월 CAGR 최저% | -4.86 |
| 36개월 CAGR 최저 시점 | 2020-03-23 |
| 36개월 CAGR<0 비율% | 1.16 |
연도표
| 연도 | 수익% | 연중 MDD% | 샤프 | 코스피% | S&P500% | 청산 | 손절 | 승률% |
|---|---|---|---|---|---|---|---|---|
| 2007 | 23.9 | -3.2 | 2.9 | 32.2 | 3.5 | 272 | 4 | 82.4 |
| 2008 | -5.2 | -21.1 | -0.2 | -39.3 | -37.6 | 118 | 19 | 80.5 |
| 2009 | 12 | -3.4 | 2.2 | 45.4 | 19.7 | 80 | 1 | 95 |
| 2010 | 0.5 | -5.1 | 0 | 20.9 | 11 | 108 | 6 | 81.5 |
| 2011 | 4.3 | -11.1 | 0.4 | -11.8 | -1.1 | 102 | 6 | 81.4 |
| 2012 | 12.9 | -8.2 | 1.7 | 9.3 | 13.4 | 119 | 3 | 85.7 |
| 2013 | 10.2 | -4.9 | 1.7 | -1 | 26.4 | 115 | 1 | 85.2 |
| 2014 | -7.1 | -11.1 | -1 | -2.6 | 12.4 | 124 | 8 | 76.6 |
| 2015 | 8.4 | -4.3 | 1.6 | 1.8 | -0.7 | 140 | 4 | 86.4 |
| 2016 | 4.8 | -3.3 | 0.8 | 5.6 | 11.2 | 112 | 2 | 83 |
| 2017 | -2.2 | -4.2 | -0.5 | 21.8 | 19.4 | 140 | 2 | 82.9 |
| 2018 | 1.2 | -8.8 | 0.1 | -17.7 | -7 | 123 | 7 | 79.7 |
| 2019 | 2.7 | -10.8 | 0.3 | 9.3 | 28.7 | 124 | 4 | 83.9 |
| 2020 | 6.7 | -17.3 | 0.5 | 32.1 | 15.3 | 109 | 8 | 88.1 |
| 2021 | 8.6 | -3.1 | 1.4 | 1.1 | 28.8 | 134 | 2 | 88.8 |
| 2022 | 4.7 | -7.6 | 0.6 | -24.9 | -20 | 79 | 4 | 87.3 |
| 2023 | 5.1 | -4.9 | 1 | 19.3 | 24.2 | 112 | 1 | 86.6 |
| 2024 | -1.1 | -9 | -0.1 | -10.1 | 24 | 107 | 4 | 86 |
| 2025 | 10 | -5 | 1.4 | 75.7 | 16.6 | 128 | 2 | 89.1 |
| 2026 | 11.9 | -6 | 1.1 | 39.5 | 12.9 | 110 | 4 | 86.4 |
최악 낙폭 10개 (고점→바닥, 같은 기간 지수, 그 사이 청산 손익 큰 손실 종목)
| 고점 | 바닥 | 회복 | 낙폭% | 하락 일수 | 회복 일수 | 코스피 같은 기간% | S&P500 같은 기간% | 위기 | 그 사이 청산 손익(백만) | 손절 건수 | 주범 종목 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008-05-30 | 2008-10-10 | 2010-09-30 | -21.1 | 133 | 720 | -33 | -35.8 | 글로벌 금융위기(리먼 2008-09) | -24.7 | 12 | 047050.KS(-3), 000700.KS~0(-3), AKAM(-3) |
| 2019-04-29 | 2020-03-23 | 2020-09-14 | -18.8 | 329 | 175 | -33.1 | -24 | 코로나 폭락 | -22.7 | 10 | 020560.KS~0(-7), 068760.KQ(-6), 042000.KQ(-4) |
| 2014-05-13 | 2014-11-04 | 2016-05-27 | -11.1 | 175 | 570 | -2.4 | 6 | 지수 위기 없음 (종목 손절 몰림) | -15.8 | 6 | 020760.KS(-4), 097230.KS~0(-3), 012450.KS(-3) |
| 2011-05-03 | 2011-08-10 | 2011-10-24 | -11.1 | 99 | 75 | -17.9 | -17.4 | 미국 신용등급 강등·유럽 위기 | -7.6 | 4 | BB(-4), 030530.KQ~0(-3), CIEN(-3) |
| 2024-04-24 | 2024-08-05 | 2025-03-05 | -9 | 103 | 212 | -8.8 | 2.3 | 엔 캐리 청산 | 1.8 | 0 | 022100.KS(-1), 009520.KQ(-0), ABT(-0) |
| 2018-06-11 | 2018-10-29 | 2019-03-18 | -8.8 | 140 | 140 | -19.2 | -5.1 | 미 금리·미중 무역전쟁 | -8 | 5 | SNAP(-4), 060300.KQ~0(-3), 041960.KQ(-3) |
| 2012-09-17 | 2012-11-21 | 2012-12-26 | -8.2 | 65 | 35 | -5.9 | -4.8 | 지수 위기 없음 (종목 손절 몰림) | -4.7 | 2 | 053800.KQ~1(-3), 005850.KS(-3), INTC(-0) |
| 2021-12-30 | 2022-01-27 | 2022-03-23 | -7.8 | 28 | 55 | -12.2 | -9.5 | 금리 인상 약세장 | -5.8 | 2 | ENPH(-5), NFLX(-3), 006400.KS(+0) |
| 2025-12-03 | 2026-02-05 | 2026-03-05 | -6.4 | 64 | 28 | 27.9 | -0.7 | 지수 위기 없음 (종목 손절 몰림) | -0.2 | 1 | MARA(-4), 259960.KS(-1), 161890.KS(-0) |
| 2025-03-25 | 2025-04-08 | 2025-04-11 | -5 | 14 | 3 | -10.8 | -13.7 | 미국 관세 충격 | 0.3 | 0 | AAPL(+0), 041190.KQ(+0), LULU(+0) |
판정 6: 36개월 CAGR<0 비율 1% · 36개월 샤프 최저 -0.44(2020-03-23) → 합격. 마이너스 해 4번/20년. 가장 큰 낙폭 둘: 2008-05-30→2008-10-10 -21.1% (글로벌 금융위기(리먼 2008-09), 바닥에서 회복까지 720일); 2019-04-29→2020-03-23 -18.8% (코로나 폭락, 바닥에서 회복까지 175일). 지수 위기 없이 종목 손절이 몰려 생긴 큰 낙폭도 있음: 2014-05-13→2014-11-04 -11.1%, 2012-09-17→2012-11-21 -8.2%.
5. 합성 역사 · 파산 위험
방법 A (날짜 블록 부트스트랩, 규칙 재실행): 2006~2026 거래일을 정상 블록 부트스트랩(블록 길이 기하분포 평균 20일)으로 뽑아 11년(1년 워밍업 + 10년) 날짜 순서를 만든다. 같은 날짜를 고르면 그 날의 모든 종목이 함께 따라오므로 폭락일이 몰리는 성질(위기 군집)과 종목 간 상관이 블록 안에서 유지된다. 각 종목의 가격은 '그 날 종가/전날 종가' 비율과 그 날 봉 모양(시·고·저/종가)을 새 순서로 이어 붙여 만들고, 그 위에서 RSI·지정가·손절·1년 고점 필터·계좌(정수 주식·비용·슬롯)를 처음부터 다시 돌린다. 거래정지 이력과 그 해 유니버스(거래대금 상위 200) 자격은 원래 날짜의 것을 따른다.
한계: (1) 블록 경계에서 다른 시대의 하루가 이어 붙으므로 며칠~몇 주에 걸친 평균회귀(이 전략의 수익원)가 경계마다 끊긴다 → 우위를 덜 잡는 쪽(보수적). (2) 1년 넘게 이어지는 긴 약세장(2008)은 20일 조각으로 잘려 다른 시기와 섞이므로 '긴 물 밑'은 덜 나온다(낙관적) → 블록 60일로도 돌려 범위를 봄. (3) 종목이 상장 전·폐지 후 날짜에선 빠지고, 폐지 직전 폭락 뒤에 다른 해의 봉이 이어 붙어 '되살아나는' 일이 생김. (4) 미국 폐지 종목은 원래 데이터에 없음. (5) 거래세는 연도가 섞이므로 0.18% 고정. (6) 2006~2026 에 없던 종류의 위기는 만들 수 없다.
방법 B (비교): 실제 2007~ 계좌의 일별 수익을 같은 블록 부트스트랩으로 10년씩 1만 개 — 규칙의 수익원은 그대로 두지만 포지션 상태가 블록 경계에서 끊김.
방법 A 경로: 블록 20일 1000개 · 블록 60일 200개
장치 검산 — 섞지 않은 진짜 날짜 순서를 같은 합성 장치에 넣으면 (실제 거래세 적용):
| 원래 날짜 | 합성 장치 CAGR% | 합성 장치 MDD% | 합성 장치 샤프 |
|---|---|---|---|
| 2006-12-20~2016-12-30 | 5.67 | -21.02 | 0.66 |
| 2016-12-21~2026-10-28 | 4.4 | -17.4 | 0.53 |
실제 백테스트(같은 구간, 코드순)는 2007~2016 CAGR 6.12% · MDD -21.1% · 샤프 0.69, 2017~ 4.63% · -18.6% · 0.53. 장치 자체의 치우침은 연 -0.2~-0.5%p 정도(워밍업이 짧고 120일 못 채운 종목을 뺌)라서, 아래 방법 A 의 큰 하락은 날짜를 섞은 것 자체 때문이다 — 이 규칙의 우위가 며칠짜리 반등만이 아니라 몇 달~몇 년짜리 구조(1년 고점 필터가 거르는 '계속 무너지는 종목', 장세의 지속)에도 기대고 있다는 뜻. 블록 60일도 20일과 거의 같아서(아래 표), 이 구조는 두 달보다 길다.

| 방법 | 경로 수 | CAGR 중앙% | CAGR 하위5% | CAGR 상위5% | MDD 중앙% | MDD 하위5% | 최장 물밑 중앙(년) | 최장 물밑 상위5%(년) | P(MDD>30%) | P(MDD>40%) | P(MDD>50%) | P(10년 CAGR<0) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A 날짜 블록 20일 (규칙 재실행) | 1000 | 2.11 | -1.59 | 5.56 | -17.79 | -31.76 | 4.08 | 9.4 | 7.5 | 1.4 | 0 | 17.2 |
| A 날짜 블록 60일 (규칙 재실행) | 200 | 2.36 | -1.21 | 5.74 | -18.01 | -31.32 | 3.62 | 8.68 | 6 | 0.5 | 0 | 16 |
| B 계좌 수익 블록 20일 | 10000 | 5.27 | 1.26 | 9.25 | -17.15 | -27.15 | 2.27 | 5.98 | 2.44 | 0.15 | 0 | 1.38 |
판정 5: 방법 A(날짜 블록 20일, 규칙 재실행): 10년 CAGR 중앙 2.11%, P(10년 CAGR<0) 17.2%, P(MDD>30/40/50%) 7.5/1.4/0.0% → 경계 (손실 확률이 미리 정한 10% 를 넘음, 큰 낙폭은 드묾). 방법 B(계좌 수익 부트스트랩): CAGR 중앙 5.27%, P(CAGR<0) 1.4%, P(MDD>30/40/50%) 2.4/0.1/0.0%. 두 방법 모두 '파산'(MDD 50%↑)은 사실상 0, 진짜 위험은 '10년 해도 거의 못 버는' 쪽.
7. 킬 스위치 — '백테스트와 다른 세상' 경보선
페이퍼 계좌는 2026-09-27 에 빈 계좌로 시작했다. 합성 역사도 빈 계좌로 시작하므로 '시작 뒤 처음 N년 안에 고점 대비 최대 낙폭'의 분포가 바로 비교 기준이다. 95%선 = 전략이 백테스트처럼 작동한다면 그보다 깊이 빠질 확률이 5% 뿐인 선.
| 방법 | 기간 | 중앙% | 90%선 | 95%선 | 99%선 |
|---|---|---|---|---|---|
| A 날짜 블록 20일 (규칙 재실행) | 처음 1년 | -6.6 | -14.1 | -17.7 | -25.8 |
| A 날짜 블록 20일 (규칙 재실행) | 처음 2년 | -9.5 | -18.9 | -22.3 | -30.3 |
| A 날짜 블록 20일 (규칙 재실행) | 처음 3년 | -11.5 | -21.2 | -24.7 | -30.8 |
| A 날짜 블록 20일 (규칙 재실행) | 처음 5년 | -14.1 | -24.4 | -27.5 | -34.5 |
| A 날짜 블록 20일 (규칙 재실행) | 처음 10년 | -17.8 | -28.5 | -31.8 | -41.3 |
| A 날짜 블록 60일 (규칙 재실행) | 처음 1년 | -6.3 | -13.2 | -17.7 | -25.2 |
| A 날짜 블록 60일 (규칙 재실행) | 처음 2년 | -9 | -18.7 | -22.7 | -28.3 |
| A 날짜 블록 60일 (규칙 재실행) | 처음 3년 | -11 | -21.4 | -25.6 | -31.7 |
| A 날짜 블록 60일 (규칙 재실행) | 처음 5년 | -13.2 | -24 | -28 | -33.9 |
| A 날짜 블록 60일 (규칙 재실행) | 처음 10년 | -18 | -27.4 | -31.3 | -35.7 |
| B 계좌 수익 블록 20일 | 처음 1년 | -6.1 | -13.6 | -16.9 | -20.8 |
| B 계좌 수익 블록 20일 | 처음 2년 | -8.8 | -17.3 | -19.1 | -23.9 |
| B 계좌 수익 블록 20일 | 처음 3년 | -10.6 | -18.6 | -21 | -26.3 |
| B 계좌 수익 블록 20일 | 처음 5년 | -13.5 | -20.9 | -23.7 | -29.5 |
| B 계좌 수익 블록 20일 | 처음 10년 | -17.2 | -24.2 | -27.2 | -33.1 |
권고 7: 처음 3년 95%선: 방법 A -24.7%, 방법 B -21.0% → 둘 중 깊은 쪽을 5% 단위로 내림한 -25% 를 페이퍼 계좌의 '중지·점검' 경보선으로 권함 (계좌 고점 대비. 넘으면 신규 진입을 멈추고 백테스트와 무엇이 다른지 점검). 보조선: 첫 1년 안 -20% (95%선 A -17.7 · B -16.9) 는 '주의', 3년 지난 뒤에는 -35% (10년 95%선 A -31.8 · B -27.2) 로 넓힘 — 오래 돌릴수록 정상적인 최대 낙폭도 깊어지기 때문. 주의: 실전 plan 순서로 돌린 2007~ 백테스트 자체가 MDD -27% 였다(코드순 -21%). 즉 -25% 는 '드문 일'이지 '불가능한 일'은 아니다 — 닿으면 바로 접는 선이 아니라 멈추고 원인을 확인하는 선.
종합
- 고원인가 봉우리인가 → '능선'. 손절 × 익절 RSI 방향은 넓은 고원(이웃 샤프가 실전의 89~98%), 간격 7~10% 도 고원. 그런데 진입 RSI 축은 30 에서 꺾이는 능선: RSI 28·32 로 한 칸만 옮겨도 샤프 0.62 → 0.43·0.38 (코드순). 후보 순서를 무작위로 바꾼 잡음 띠를 감안하면 차이가 줄어 (무작위 순서 중앙 샤프: 30 0.54 · 28 0.48 · 32 0.47 · 25 0.37 · 35 0.29) '바늘 봉우리'가 아닌 '둥근 언덕'에 가깝지만, 이웃 평균 비율 72%(DEV)·82%(TEST) 로 미리 정한 고원 기준(75%)엔 못 미침. 손절×익절은 이웃은 평평하지만 DEV↔TEST 순위 상관이 -0.82: 2007~2016 엔 익절 RSI 45(빨리 팔기)가, 2017~ 엔 55(오래 들고 있기)가 좋았다 — 익절 기준의 '좋은 값'이 시대에 따라 뒤집혔고 50 은 그 사이 타협점. PBO 57%(불합격 — 이 그리드 안에서 '1등 고르기'는 동전 던지기), DSR(N=1038) 86%(약함). 종합: 좁은 봉우리는 아니지만 넓은 고원도 아니다 — 손절·간격·익절은 둔감, 진입 RSI 는 30 근처에서만 좋음.
- 헤드라인 숫자 보정. 지금까지의 5.4% 는 같은 날 후보를 종목 코드순(=한국 먼저)으로 채운 한 경로. 무작위 순서 10번 중앙 4.48%, 실전 plan 순서(종가에 가까운 후보 먼저) 4.50% · MDD -27.0%. → 실전 기대치의 출발점은 연 4.5% 안팎.
- 체결이 나빠도 플러스. 하나씩 최악은 비용 ×3 (3.04%), 무작위 미체결 30% 중앙 3.94%. 다 겹친 '나쁜 날' 중앙 2.85% (하위5% 1.82%), 진입까지 하루 늦으면 2.59% (하위5% 1.49%).
- 유니버스에 민감. 상위 100 2.45% · 200 5.43% · 400 3.96% — 200 이 가장 좋다(200 은 고른 값이 아니라 정의였지만, 결과적으로 이것도 봉우리 모양). 미국만 2.14%, 한국만 4.57%. 모두 플러스.
- 2006~2007 처음 보는 구간은 매우 좋음 (23.1%/년, MDD -3.2%) — 다만 한국 강세장이라 규칙의 힘인지 장세 덕인지 구분 못함.
- 파산 위험은 낮고, '못 버는' 위험이 진짜. 합성 10년 역사에서 MDD 50%↑ 는 0%, 40%↑ 1.4% (A) · 0.15% (B). 10년 CAGR<0 은 A 17% · B 1.4%. A 의 중앙 CAGR 이 2.1% 로 낮은 건 날짜를 섞으면 우위의 일부가 사라진다는 뜻 — 우위가 '이 역사'의 긴 구조에 얼마간 기대고 있다.
- 킬 스위치: 계좌 고점 대비 -25% (첫 3년), 첫 1년 -20% 는 주의, 3년 이후엔 -35% (10년 95%선 -32% 를 5% 단위로 내림). 1억 계좌라면 고점에서 2,500만 원 빠진 지점. 실전 순서 백테스트 MDD 가 -27% 였다는 점도 같이 볼 것.
실전 규칙·프리셋·스케줄러·장부·모델은 바꾸지 않았다. 바꿀 만한 후보(진입 RSI 30 고정의 민감도, 같은 날 후보 순서, 유니버스 크기)는 이 보고서로 '살펴볼 것'일 뿐 채택 근거가 아니다 — 특히 손절 13%·간격 9% 같은 '더 좋은 칸'은 이번 그리드에서 고른 것이라 다시 고르면 과적합.
RSI50 연구 · 모의매매(페이퍼) 기록입니다. 투자 조언이 아니며 실제 매매 결과가 아닙니다. 마지막 갱신 2026-11-12 21:29