You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

10 KiB

risk_policy.md

  • 문서명: Risk Policy
  • 프로젝트 코드명: ACE-F v1
  • 상태: Draft for Phase 0 Sign-off
  • 버전: 0.1
  • 작성일: 2026-03-12
  • 목적: 자동매매 시스템의 자본 보존, 운영 안전성, 데이터 이상 대응, 손실 제한 정책을 고정합니다.

원칙: 수익은 나중에 따라오더라도, 자동화 초기에는 큰 손실, 운영 사고, 규칙 이탈을 먼저 막습니다.

1. 리스크 관리 철학

  1. 생존 우선

    • 전략이 아무리 좋아도 운영 실수로 계좌가 훼손되면 실패로 간주합니다.
  2. 자동화보다 통제 우선

    • 시스템이 판단할 수 없는 상황에서는 no-trade가 기본입니다.
  3. 정확도보다 일관성 우선

    • 수익률을 높이기 위해 지나치게 공격적인 포지션 확대를 허용하지 않습니다.
  4. 리스크는 다층 구조

    • 종목 리스크, 섹터 리스크, 시장 리스크, 데이터 리스크, 모델 리스크, 실행 리스크를 분리합니다.

2. 적용 범위

본 정책은 아래 항목에 적용됩니다.

  • 신호 생성
  • 후보 종목 선정
  • 포지션 사이징
  • 주문 제출
  • 포지션 보유
  • 청산
  • 장애 대응
  • paper trading 및 live trading

3. 계좌 및 전략 범위 리스크 정책

3.1 v1 허용 범위

  • 미국 보통주
  • 롱 온리
  • 기본 보유 1~5거래일
  • 이벤트 기반 continuation 전략

3.2 v1 금지 범위

  • 옵션 / 0DTE / 선물 / 레버리지 ETF
  • 자동 숏
  • same-day exit가 핵심인 intraday 전략
  • borrow/locate가 필요한 포지션
  • 데이터 출처가 불명확한 소셜 단독 진입

3.3 계좌 정책

  • v1은 daytrade 빈도에 의존하지 않습니다.
  • 전략의 기본 구조는 다음 세션 진입 + overnight 보유 가능 구조입니다.
  • 현금계좌 전용 settled cash 엔진은 별도 전략으로 분리하며, 본 정책의 기본 운영 범위에 포함하지 않습니다.

4. 포지션 사이징 정책

4.1 Paper trading 기본값

  • 거래당 허용 손실: 계좌 기준 0.35%
  • 동시 최대 포지션 수: 3개
  • 동일 섹터 최대 포지션 수: 2개
  • 총 신규 위험 합계: 1.0%/일 이하

4.2 초기 live trading 기본값

  • 거래당 허용 손실: 계좌 기준 0.10% ~ 0.20%
  • 동시 최대 포지션 수: 2개
  • 동일 섹터 동시 보유: 1개 권장
  • 총 신규 위험 합계: 0.50%/일 이하

4.3 포지션 크기 산정 원칙

포지션 크기는 다음 요소로 산정합니다.

  • 진입가
  • 초기 손절가
  • 주당 위험
  • 계좌 허용 손실
  • 유동성 한도
  • 일일 총위험 잔여량

4.4 유동성 기반 제한

  • 하루 평균 거래대금이 낮거나 스프레드가 넓으면 포지션 크기를 축소합니다.
  • 한 종목에서 일평균 거래량 대비 과도한 참여율을 금지합니다.
  • 시가총액/유동성 필터를 통과해도, 이벤트일의 체결 환경이 나쁘면 no-trade 처리합니다.

5. 진입 리스크 정책

5.1 진입 허용 조건

다음 조건을 모두 충족해야 진입 가능합니다.

  • 공식 이벤트 존재
  • 가격 확인 통과
  • 시장 레짐 허용 범위
  • 데이터 최신성 확인
  • LLM 또는 규칙 파서의 신뢰도 기준 충족
  • 리스크 예산 잔여
  • 포트폴리오 집중도 한도 미초과

5.2 진입 금지 조건

아래 중 하나라도 해당하면 신규 진입 금지입니다.

  • 데이터 수집 실패 또는 stale 상태
  • 원문 문서 해석 충돌
  • 거래대금/스프레드 조건 미달
  • 이벤트의 materiality 불명확
  • 장 시작 직후 과도한 갭 과열
  • 시장이 급격한 risk-off 상태
  • 동일 섹터 익스포저 과다
  • 동일 종목 재진입 쿨다운 미충족

6. 손절/청산 정책

6.1 초기 손절

초기 손절은 다음 중 더 보수적인 값을 사용합니다.

  • 반응일 저가 또는 확인된 구조적 지지 이탈
  • ATR 기반 손절

6.2 시간 청산

  • 이벤트 성격상 follow-through가 빨리 나와야 하는 전략입니다.
  • 기본 최대 보유는 5거래일입니다.
  • 2~3거래일 내 반응이 없으면 조기 종료 가능합니다.

6.3 부분 익절

  • +1.2R ~ +1.5R 구간에서 일부 익절 허용
  • 남은 물량은 trailing/시간 청산 규칙 적용
  • 부분 익절은 성과 안정화 목적이며, 전체 전략의 기대값을 훼손하면 비활성화할 수 있습니다.

6.4 비상 청산

아래 상황에서는 전략 시그널과 무관하게 비상 청산이 가능합니다.

  • 브로커/포지션 상태 불일치
  • 거래정지/상장위험 공시
  • 데이터 이상으로 stop 추적 불가
  • 시장 구조적 쇼크
  • 법적/규제성 악재

7. 포트폴리오 리스크 정책

7.1 집중도 제한

  • 동일 섹터: 최대 2개 (paper), 최대 1개 권장 (초기 live)
  • 동일 테마 집중: 금지
  • 단일 종목 비중 과대화 금지

7.2 시장 레짐 제한

  • risk-off 환경에서는 신규 진입 수를 줄입니다.
  • 고변동성 구간에서는 포지션 크기를 자동 축소합니다.
  • 레짐이 매우 불안정하면 신규 진입 중단 후 보유분만 관리합니다.

7.3 상관 리스크

  • 서로 다른 종목이라도 동일 테마/공급망/반도체/AI 인프라처럼 높은 상관이 있으면 동일 버킷으로 계산합니다.
  • 시스템은 종목 수가 아니라 실질적 독립 베팅 수를 관리해야 합니다.

8. 손실 제한 장치

8.1 일일 브레이크

  • 실현손실 + 미실현 위험 기준 -1.0R 또는 계좌 -1.0% 수준 도달 시 신규 진입 중단
  • 이후는 기존 포지션 관리만 허용

8.2 주간 브레이크

  • 5거래일 롤링 손실이 계좌 -2.5% 도달 시 전략 일시중지 및 원인 점검

8.3 연속 손실 브레이크

  • 연속 3손실 시 신규 진입 1거래일 중지
  • 연속 5손실 시 전략 재검토 전까지 paper 모드로 강등

8.4 운영 사고 브레이크

다음 중 하나라도 발생하면 즉시 kill switch:

  • 중복 주문
  • 잘못된 심볼 체결
  • 손절 미작동
  • 미확인 포지션 잔존
  • stale data 기반 주문 제출
  • 브로커 응답 불일치 누적

9. 데이터/모델 리스크 정책

9.1 데이터 최신성

  • 핵심 소스(SEC, 시세, 주문 상태)가 stale이면 신규 주문 금지
  • 이벤트 발생 시각과 반응일 귀속이 불명확하면 보수적으로 제외

9.2 데이터 품질

  • 필수 필드 누락 시 no-trade
  • 동일 이벤트에 대해 원문과 파서 결과가 충돌하면 human review 또는 no-trade
  • 소셜/뉴스 overlay는 누락되어도 core 전략은 동작 가능해야 합니다.

9.3 모델 리스크

  • LLM 출력은 항상 구조화 JSON + confidence 포함
  • confidence 미달 또는 schema 불일치 시 fallback 규칙 사용
  • LLM만으로 주문을 생성하지 않습니다.

9.4 드리프트 감시

  • 파서 결과 분포가 급변하면 경보
  • 종목군/섹터별 성과 붕괴 시 전략 중단 검토
  • attention feature가 갑자기 과도한 영향력을 갖기 시작하면 weight 재점검

10. 실행 리스크 정책

10.1 주문 원칙

  • 단순 주문 우선
  • 과도한 주문 수정/취소 반복 금지
  • 체결 불확실성이 큰 상황에서는 공격적인 추격 금지

10.2 체결 모니터링

  • 주문 제출, 접수, 부분 체결, 전량 체결, 취소, 거부를 모두 로그화
  • 브로커 상태와 내부 포지션 상태를 정기 대사(reconciliation)
  • 체결 지연 또는 거부 사유는 사후 리뷰에 포함

10.3 거래시간 정책

  • 휴장/조기폐장/이벤트일 비정상 시장 상태를 캘린더로 관리
  • 장 전·장 후는 v1 핵심 전략의 주문 시간대로 사용하지 않습니다.
  • 반응일 종가 계산은 정규장 기준으로 통일합니다.

11. 사람 개입 정책

11.1 Human-in-the-loop

  • paper 단계에서는 수동 확인을 일부 허용
  • 초기 live 단계에서는 자동 진입이라도 사전/사후 알림 필수
  • 운영자는 언제든 kill switch를 사용할 수 있어야 합니다.

11.2 수동 개입 허용 범위

  • 브로커 장애
  • 데이터 오류
  • 기업 이벤트 해석 충돌
  • 규정/리스크 위반 가능성
  • 예상치 못한 포지션 상태 불일치

11.3 수동 개입 기록

  • 개입 사유
  • 개입 시각
  • 개입 전후 포지션 상태
  • 손익 영향
  • 재발방지 액션

12. 배포 게이트

12.1 Paper → Live 전환 조건

  • 최소 8주 이상의 paper 운영
  • 데이터 누락/중복 주문/상태 불일치가 통제 가능한 수준
  • 전략 손실보다 운영 사고 손실이 작을 것
  • post-trade review가 자동 생성될 것
  • 파서 실패 fallback이 검증될 것

12.2 Live 증액 조건

  • 최소 40~80건 이상 실거래 표본 확보
  • outlier 몇 건이 아닌 분포 전체에서 기대값 유지
  • 슬리피지/체결 품질 악화 없음
  • 운영 개입 비율 감소

13. 필수 로그 및 감사 항목

  • signal_id
  • event_id
  • source provenance
  • feature snapshot
  • order decision reason
  • risk budget snapshot
  • submitted/filled/cancelled timestamps
  • override 여부
  • post-trade label

14. 사고 대응 원칙

  1. 포지션 안전 확인
  2. 신규 주문 중지
  3. 데이터/브로커 상태 대사
  4. 원인 구분 (데이터/모델/브로커/코드)
  5. 재발 방지 조치 문서화
  6. 심각도에 따라 live → paper 강등

15. 변경 관리

  • 손실 한도, 포지션 한도, live 게이트 변경은 본 문서 버전업이 필요합니다.
  • 공격적 리스크 확대는 최소 1개 월간 리뷰와 1개 안정적인 paper/live 검증 뒤에만 허용합니다.

부록 A. 운영 기본값 요약

  • v1 실거래: 롱 온리
  • 거래당 허용손실: 0.10%~0.20% (초기 live)
  • 동시 포지션: 2개 권장
  • 총 신규위험: 0.50%/일 이하
  • 일일 브레이크: 계좌 -1.0%
  • 주간 브레이크: 계좌 -2.5%
  • 연속 3손실: 1일 pause
  • 연속 5손실: paper 강등 검토

부록 B. 참고 링크