P3 리스크 관리
의존: P2 (엣지 검증). 백테스트에 먼저 적용 후 실행(P4)에 연결.
[WEALTH-P3-01] PositionSizer — 포지션 사이징
작업 내용 (설계 의도)
가용 자본과 종목 변동성을 받아 종목별 투입 비중·수량을 산출한다. 고정비율과 변동성 기반(변동성 클수록 비중 축소) 두 방식을 지원한다. 종목 최대 비중 한도를 강제한다.
테스트 케이스
- 고정비율 방식에서 자본의 정해진 비율만큼 수량이 산출된다.
- 변동성이 높은 종목은 비중이 축소된다.
- 단일 종목 비중이 최대 한도를 초과하지 않는다(상태 보호).
- 가용 자본 0이면 수량 0을 반환한다(엣지 케이스).
[WEALTH-P3-02] RiskGate — 손절·손실 한도·MDD 게이트
작업 내용 (설계 의도)
주문/포지션을 받아 손절 규칙·일일 손실 한도·MDD 한도를 검사해 통과/차단을 판정한다. 백테스트에 적용해 MDD가 한도 내로 통제되는지 확인한 뒤, P4 실행 경로의 주문 게이트로 재사용한다.
롤백: 게이트 규칙은 설정값 — 한도 완화/강화로 즉시 조정.
다이어그램
클래스 의존
flowchart LR Engine[BacktestEngine] --> Gate[RiskGate] Sizer[PositionSizer] --> Gate Gate --> Decision[통과/차단]
테스트 케이스
- 손절가 도달 포지션은 청산 신호로 전이된다.
- 일일 손실이 한도를 초과하면 신규 주문이 차단된다.
- 누적 낙폭이 MDD 한도를 넘으면 신규 진입이 차단된다(상태 보호).
- 한도 내 정상 주문은 통과된다(해피 패스).
- 리스크 적용 백테스트의 MDD가 한도 이내로 통제된다.