v9 Strategy Development — 기획서
Vision
v5.x는 bounce_back + hammer 위주로 검증됐지만 다음 한계가 있음:
- 2022+ 기간 대비 거래 수가 충분치 않음 (v5.2도 연 ~18건)
- bounce_back은 바닥 찍고 이미 올라온 상태 진입 → 고점 진입 리스크
- hammer는 시그널이 약함
v9은 동일한 유니버스 스크리닝을 유지하면서, 더 풍부한 진입/엑싯 전략 조합을 grid-search로 탐색한다.
Goals
| # | Goal | 측정 기준 |
|---|---|---|
| 1 | 거래 빈도 증가 (특히 2022+): 연 15-30건 | 연도별 trades 분포 |
| 2 | Drawdown 개선 (현재 -30%) | MaxDD < -20% |
| 3 | 더 싼 진입가 달성 | 저점 대비 진입가 평균 bps |
| 4 | OOS Sharpe 유지 또는 개선 | 현재 OOS 1.04 vs v9 목표 ≥ 1.0 |
Constraints (고정)
- 유니버스: v5.1/v5.2 그대로 (ATH ≤-95%, Cash/MCap ≥2, MCap ≥$20M, Phase 2+, IPO ≥2Y)
- 포트폴리오: 12.5% per trade, max 8 concurrent, 90d cooldown, 1% round-trip slippage
- 백테스트 기간: 2017-11 ~ 2026-03 (데이터 있는 full range), OOS split 2024-01-01
- 평가: IS Sharpe, OOS Sharpe, CAGR, MaxDD, WR, 거래 수, 연도별 분포
Research Scope
Entry Strategies — 다음을 리서치하고 구현 검토
A. Pullback 계열 (Dan의 요청: “시그널 떴을 때 이후 살짝 눌렸을 때 진입”)
- A1. Bounce + Pullback: bounce 시그널 발생 후 −5~−15% 되돌림 시 진입
- A2. Breakout pullback: 저항선 돌파 후 retest 진입
- A3. Moving Average Pullback: 20MA/50MA 근처 재접근 진입
B. 추세반전 계열 (더 확실한 시그널)
- B1. MACD bullish crossover (signal line 상향돌파)
- B2. RSI divergence (가격 신저점, RSI higher low)
- B3. Double bottom / W-pattern
- B4. Ichimoku cloud breakout
- B5. Wyckoff Spring (최저점 짧게 찍고 회복)
- B6. 3-Bar Flush & Snap (거래량 터진 reversal)
- B7. Volume accumulation divergence (가격 하락 중 OBV 상승)
- B8. Key Reversal bar (전일 low 깨고 전일 high 위 마감)
C. 필터 보강 계열
- C1. Oversold + fundamental (RSI <30 + 펀더멘털 안정)
- C2. Capitulation volume (sellout volume + 반등)
- C3. 52-week low bounce + 20-day MA 회복
D. Confirmation 계열
- D1. 2+ signal confirmation within N days (OR-ensemble의 진화형)
- D2. Multi-timeframe: daily + weekly alignment
Exit Strategies
A. Fixed rules
- A1. Fixed TP/SL (현재 v5.x 방식)
- A2. Asymmetric (TP:SL 다른 비율)
- A3. Time-based max_hold (180d, 120d, 90d, 60d)
B. Dynamic stops
- B1. Trailing stop (N%)
- B2. ATR-based trailing (2×ATR, 3×ATR)
- B3. Parabolic SAR
- B4. Breakeven stop after +X% (v5.x의 breakeven_sl 유사)
C. Scaling exits
- C1. 50% at TP1, trail rest
- C2. 33/33/33 scaled (예: 30%/60%/trail)
- C3. Progressive TP (TP1 3%, TP2 30%, TP3 100%)
D. Structure-based
- D1. Exit on swing high break failure
- D2. Exit on bearish reversal pattern
- D3. Exit on MA cross-down
E. Catalyst-based
- E1. Exit on clinical trial milestone (binary event)
- E2. Exit on earnings date ± N days
Workflow
- [완료 목표: 이번 기획] 기획서 작성 (이 문서)
- Research phase (이 문서의 research scope 기반)
- 각 전략 원리·장단점·파라미터 공간 정리
- 구현 가능성 평가 (데이터 충분성)
- →
docs/research/v9/entry-strategies.md,exit-strategies.md
- 기획서 revise — 리서치 결과 보고 구현할 조합 확정 (예: entry 8개 × exit 6개 = 48 grid)
- 구현 — 새 signal 함수들
engine/entry.py,engine/exit.py에 추가 + 유닛 테스트 - Grid backtest —
scripts/run_v9_grid.py- 각 조합 IS/OOS 메트릭 저장
- 연도별 거래 분포, MaxDD, trade log 전부 저장
- Result report —
biotech/results/v9/report.md- 상위 전략 상세 분석 (거래내역, 드로우다운, equity curve)
- 차트: heatmap, equity curves, trade distributions, per-year counts
- raw CSV/xlsx 전부 포함
Success Criteria
v9 winning strategies should satisfy:
- 2022+ 거래 수: 최소 60건 (= 연 15건 × 4년)
- MaxDD: ≤ -20%
- OOS Sharpe: ≥ 1.0
- CAGR: ≥ 15%
- 평균 진입가/직전 저점 비율: v5.2 대비 낮아야 함 (“더 싸게 진입”)
Risks
- 다양한 시그널 추가가 overfitting 유발 위험 → OOS 검증 엄격히
- Grid search 자체 과적합 → 각 개별 전략의 IS/OOS 일관성 체크
- 거래 수 증가 = 비용 부담 증가 → 비용 반영 후 순수익 체크
Next Step
→ 진입/엑싯 전략 리서치 진행 (Task #18, #19)