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가 한도 이내로 통제된다.