v9 Exit Strategies — Research

진입 전략만큼 엑싯 전략이 결과를 좌우한다. v5.x의 Fixed TP 30%, SL -50%, max 180~365일은 단순하고 강건하지만:

  • 바이오텍 binary event는 30%에서 멈추지 않고 100~300% 가는 경우 많음 → TP 너무 낮으면 기회손실
  • 50% SL은 delisting 임박 종목에서 -100% 근처까지 끌고 가는 경우 있음 → SL 정교화 여지
  • 180일 max_hold에서 강제 청산되는 winning pattern들 존재

이 리서치는 바이오텍 특성에 맞는 다양한 exit 전략을 정리한다.


A. Fixed Rule 계열

A1. Basic Fixed TP/SL (v5.x baseline)

현재 simulate_fixed_exit. TP·SL·max_days 3개 파라미터.

장점:

  • 가장 단순, 구현 완료, 검증됨
  • 기계적 실행 가능

단점:

  • TP에 맞으면 그 이상 수익 포기
  • SL은 종종 rally 직전에 맞음 (stop hunting)

파라미터 공간:

  • TP: 0.20, 0.30, 0.50, 0.70, 1.00, 1.50
  • SL: -0.30, -0.40, -0.50, -0.70
  • max_days: 60, 90, 120, 180, 365

A2. Asymmetric TP:SL Ratio

원리: 승률 낮고 승리 큰 전략 → TP:SL = 3:1, 4:1 → 매우 유리 파라미터: TP/|SL| 비율 = 1, 1.5, 2, 3, 5

우선순위: HIGH — 바이오텍 tail return에 최적화

A3. Time-Based Exit

원리: 정해진 일수 도달하면 무조건 청산 (TP/SL 미도달이어도)

파라미터: max_days만 (다른 파라미터 없음)

참고: v5.2 분석에서 max 180일이 max 365일보다 CAGR 높게 나옴 → time-based의 효용 입증

우선순위: MEDIUM — 이미 max_days 파라미터로 포함


B. Dynamic Stops — 추세 따라 이동

B1. Trailing Stop (% 기반)

원리:

  • 최고가 대비 N% 하락하면 청산
  • N = 20%, 30%, 40% 등

장점:

  • 큰 winner의 tail 포착 가능 (TP에 막히지 않음)
  • 추세 따라 자동 adjusting

단점:

  • 변동성 큰 바이오텍에서는 일반 변동에 stop 맞기 쉬움
  • Too tight: 일찍 나감 / Too loose: trailing 의미 없음

파라미터:

  • trail_pct: 15%, 20%, 25%, 30%, 40%

기존 구현: simulate_trailing_exit

우선순위: HIGH

B2. ATR-Based Trailing (Chandelier Exit)

원리:

  • Stop = Highest High(N) - M × ATR(N)
  • ATR = Average True Range → 변동성 자체를 stop 거리에 반영

장점:

  • 변동성 적응형 → noise 감내하고 추세 유지
  • 바이오텍 소형주 (변동성 큼)에 이론적 적합

단점:

  • ATR 계산 필요 (high-low 포함)
  • M 값 튜닝 민감

파라미터:

  • ATR period: 10, 14, 20
  • Multiplier M: 2.0, 2.5, 3.0, 3.5

구현 필요: 새 함수 simulate_atr_trailing_exit

우선순위: HIGH — 바이오텍 변동성 대응에 적합

B3. Parabolic SAR (PSAR)

원리:

  • 가속도 상승하는 stop line (Welles Wilder)
  • AF (Acceleration Factor) 매일 증가

장점:

  • 추세 강해질수록 stop 타이트 → 이익 보전

단점:

  • 횡보장에서 whipsaw
  • 파라미터 AF 시작값·증가값·최대값 (3개)
  • 복잡도 높음

우선순위: LOW — 복잡도 대비 이점 불명확

B4. Breakeven Stop (BE Stop)

원리:

  • 수익 +X% 도달하면 stop을 진입가(0%) 로 이동
  • 이후 진입가 하향 시 무손실 exit

장점:

  • 큰 손실 가능성 제거 → MaxDD 감소에 직접적
  • v5.x SL -50% 대비 안정성 향상

단점:

  • BE 발동 후 다시 상승하면 그 사이 이익 제한 없음 (TP로 통제 필요)

기존 구현: simulate_breakeven_sl_exit

파라미터:

  • be_trigger: 15%, 20%, 25%, 30%
  • initial_sl: -0.40, -0.50, -0.70

우선순위: HIGH — MaxDD 개선 goal에 직결

B5. Volatility-Expansion Stop

원리:

  • 과거 N일 변동성 대비 비정상적 하락 시 exit
  • daily_return < -2×σ(daily_returns, 20) → stop

우선순위: LOW-MEDIUM — 구현 복잡, 이점 불명확


C. Scaling Exits — 부분 청산

C1. 50/50 at TP1 + Trailing

원리:

  • TP1 도달 시 50% 청산 (확정 이익)
  • 남은 50%는 trailing stop (tail 수익 추구)

장점:

  • Lock in some profit + 상승 여력 유지
  • Psychology-friendly (일부 이익 실현)

단점:

  • 복잡 (두 개의 state 관리)
  • TP1 정의 + trail 거리 필요

파라미터:

  • TP1: 0.20, 0.30, 0.50
  • trail_pct (post TP1): 0.20, 0.30

구현 필요: 신규 simulate_partial_trail_exit

우선순위: HIGH

C2. 33/33/33 Scaled (Progressive TPs)

원리:

  • TP1: 30% → 33% 청산
  • TP2: 70% → 33% 청산
  • TP3: 150% → 33% 청산 (or trailing)

장점:

  • 큰 winner 효율적으로 scaling out
  • 여러 checkpoint로 안정성 ↑

단점:

  • 3개 레벨 + sizing 복잡
  • 3레벨 다 맞는 경우 드묾

기존 구현: simulate_scaled_tp_sl_exit (50/50 변형)

우선순위: MEDIUM

C3. Pyramid-style (Anti-scaling, 일부 차단)

원리:

  • TP1 도달 후 남은 포지션 stop을 TP1 가격으로 이동
  • = 남은 포지션은 “최소 TP1 수익 guarantee”

우선순위: MEDIUM


D. Structure-Based Exits — 차트 기반

D1. Swing High Break Failure

원리:

  • 최근 swing high (예: 20일 최고가) 돌파 시도 실패
  • = 상방 모멘텀 소진 → exit

탐지:

1. 진입 후 최고점 H_max 기록
2. 현재 close < H_max * 0.85 (15% 이상 빠짐)
3. 최근 5일 내 H_max 갱신 실패
-> exit

장점:

  • 추세 리더십 잃으면 즉시 exit → capital efficiency

우선순위: MEDIUM

D2. Bearish Reversal Pattern

원리:

  • Shooting star, bearish engulfing, evening star 발생 시 exit

장점:

  • 반대 reversal 시그널 정직한 exit

단점:

  • False positive (일시 pullback을 reversal로 오인)

우선순위: LOW-MEDIUM — 구현 복잡 대비 효용 불명확

D3. Moving Average Cross-Down

원리:

  • close가 20MA 아래로 내려오면 exit
  • 또는 20MA < 50MA (dead cross)

장점:

  • 간단, 객관적

단점:

  • MA lagging → 이미 많이 하락한 후 exit
  • 바이오텍 변동성엔 너무 잦은 whipsaw

우선순위: LOW

D4. Fibonacci Retracement Stop

원리:

  • 엔트리 이후 rally 최고점 대비 38.2%, 50%, 61.8% 되돌림 시 exit
  • = 구조적 retrace 허용 수준 내 유지

우선순위: MEDIUM-LOW


E. Catalyst / Event-Based

E1. Clinical Trial Milestone Exit

원리:

  • 보유 종목의 임상 milestone (topline readout) 전 1-3일 exit
  • 이유: binary event 리스크 회피 (±70% 변동)

장점:

  • Binary risk 회피
  • Pre-catalyst run-up 이익 확정

단점:

  • 대박 catalyst 상승 놓침
  • 구현 복잡 (clinical_trials 테이블 필요)
  • 바이오텍 strategy는 catalyst ride 기대하는 경우도 많음

데이터 사용 가능성:

  • clinical_trials 테이블: 43.8% 커버리지 → 이용 가능 but 제한적
  • completion_date 활용

우선순위: MEDIUM — 별도 연구 주제 규모

E2. Earnings Exit

원리:

  • 실적 발표 직전 1-2일 exit

우선순위: LOW — 바이오텍은 매출 없는 경우 대부분, earnings 의미 낮음

E3. FDA Action Date (PDUFA) Exit

원리:

  • PDUFA date (FDA 승인 결정일) 직전 exit

단점:

  • PDUFA 데이터 별도 수집 필요 (현재 DB 없음)

우선순위: LOW — 데이터 부재


바이오텍 특수성 반영 — Hybrid Exits

H1. TP + Breakeven Combination

원리:

  • 초반: SL -50%
  • +25% 도달 시 BE stop
  • +50% 도달 시 TP 실행

우선순위: HIGH — breakeven_sl 확장

H2. TP Ratcheting (Progressive TP)

원리:

  • TP를 고정이 아니라 시간에 따라 낮춤
  • Day 0~30: TP 100%
  • Day 31~90: TP 50%
  • Day 90+: TP 30%

= “오래 못 맞으면 작은 이익이라도”

우선순위: MEDIUM — 신선한 아이디어

H3. Volatility-Adjusted TP/SL

원리:

  • TP·SL 수준을 종목의 일반 변동성 (ATR)로 설정
  • TP = entry + 5×ATR
  • SL = entry - 3×ATR

우선순위: MEDIUM-HIGH


우선순위 요약

TIER 1 (반드시 구현·테스트)

  1. A1. Fixed TP/SL (baseline, 다양한 파라미터)
  2. A2. Asymmetric 비율 — 바이오텍 tail에 최적화
  3. B1. Trailing Stop (% 기반)
  4. B2. ATR-Based Trailing (Chandelier) — 구현 신규 필요
  5. B4. Breakeven Stop — 기존 확장
  6. C1. 50/50 at TP1 + Trailing — 구현 신규 필요
  7. H1. TP + BE Combination

TIER 2 (여유 있으면)

  • C2. 33/33/33 scaled (기존 확장)
  • D1. Swing High Break
  • H2. TP Ratcheting
  • H3. Volatility-Adjusted TP

제외

  • B3. Parabolic SAR
  • D2. Bearish Reversal
  • D3. MA Cross-Down
  • E1-E3. Catalyst exits (데이터·복잡도)

구현 작업 요약

신규 구현 필요 함수

  1. simulate_atr_trailing_exit (Chandelier Exit)
  2. simulate_partial_trail_exit (50/50 + trail)
  3. simulate_progressive_tp_exit (time-based TP decay) — H2
  4. simulate_volatility_adjusted_exit — H3

기존 함수 확장

  • simulate_fixed_exit: 파라미터 그대로 사용, 조합 증가
  • simulate_trailing_exit: 파라미터 스윕
  • simulate_breakeven_sl_exit: 파라미터 스윕 + 조합 (TP 다양)
  • simulate_scaled_tp_sl_exit: 기존 그대로

테스트 필요

  • 각 신규 함수 unit test (synthetic data)
  • 기존 함수 regression 검증

Grid Backtest 조합 설계

Entry TIER 1 (8개) × Exit TIER 1 (7개) = 56 base combos

  • 파라미터 variants (각 2~3개) = 최대 150+ configs

→ 실전적으로 상위 configs ~30-50개만 진행 + 확장.

Grid 실행 설계는 다음 단계 (기획 revise) 에서 최종 확정.

Next step

→ 기획서 revise (Task #20): Entry+Exit research 결과 기반으로 최종 grid 조합 확정