b1bb40c384
모든 hardcoding을 calibration_registry.yaml에 threshold로 등록: 1. MRS_CIRCUIT_BREAKER_ADJUSTMENT_PTS = 2 (pts) - 위치: spec/risk/circuit_breakers.yaml:192 (이전: "MRS +2점 (임시)") - 용도: sector_crash_intraday_protocol tier_B 조치에서 현금 보수성 강화 - 정규화: spec/risk/circuit_breakers.yaml에서 threshold 참조로 변경 2. CLUSTER_CAP_CLA_REGIME_PER = 60 (%) - 위치: spec/risk/portfolio_exposure.yaml:403 (이전: "O2 상한 임시 해제") - 용도: CLA 레짐 발동 시 cluster 결합 노출 상한 일시 상향 - 정규화: spec/risk/portfolio_exposure.yaml에서 threshold 참조로 변경 3. OVERHANG_PRESSURE_V1_FALLBACK_MULT = 1.5 (배수) - 위치: spec/13_formula_registry.yaml:1223 - 상태: 이미 정규화됨 (절대값 -500000 → 평균거래량 비례식) 모든 threshold: EXPERT_PRIOR 등록, 실거래 표본 부재 - sunset_date: 2026-12-31 - 칼리브레이션 조건: sample_n 10+ (MRS) / 5+ (CLUSTER) 확보 후 실측 효과 검증 테스트: 135/135 PASS Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
216 lines
14 KiB
YAML
216 lines
14 KiB
YAML
meta:
|
||
title: "은퇴자산포트폴리오 — 서킷브레이커·거래통제"
|
||
parent_file: "spec/risk/risk_control.yaml"
|
||
version: "2026-05-16-F13_kosdaq_strict"
|
||
language: "ko-KR"
|
||
timezone: "Asia/Seoul"
|
||
role: "canonical"
|
||
migration_status: "canonical_split_active"
|
||
|
||
risk_control:
|
||
opening_volatility_filter:
|
||
monitoring_window: "09:00~09:30"
|
||
trigger:
|
||
soft_block: "KOSPI 장중 시가 대비 -1% 이상 → 신규 위성 매수 보류"
|
||
hard_block: "KOSPI 장중 시가 대비 -2% 이상 → 모든 신규 매수 중단 (기존 조건부 주문 포함)"
|
||
emergency: "KOSPI 시가 대비 -3% + 거래대금 폭발 → 손절 실행 우선. 신규 매수 당일 금지."
|
||
observation_required: ["09:30 이후 저가 확인", "09:30 이후 반등 거래대금", "V자 반등 또는 추가 하락 여부"]
|
||
resume_condition:
|
||
- "09:30~10:00 사이 KOSPI 시가 대비 +0.5% 이상 회복"
|
||
- "거래대금이 전일 동시간대 대비 급격히 감소하지 않음"
|
||
prohibition:
|
||
- "09:00 직후 시장가 주문 금지"
|
||
- "09:30 이전 신규 진입 지정가 주문 입력 금지"
|
||
- "장중 급등 직후 신규 추격매수 금지"
|
||
- "뉴스 첫 반응만 보고 본진입 금지. 종가 확인 전까지는 시범진입 수준만 허용"
|
||
# [proposal_90 / 2026-05-16] 코스닥 종목 전용 병렬 필터 — 코스닥의 높은 일중 변동성 반영
|
||
kosdaq_parallel_filter:
|
||
applicable: "코스닥 종목 신규 매수 시에만 추가 적용 (KOSPI 필터와 독립 발동)"
|
||
trigger:
|
||
soft_block: "KOSDAQ 장중 시가 대비 -1.5% 이상 → 코스닥 종목 신규 매수 보류"
|
||
hard_block: "KOSDAQ 장중 시가 대비 -2.5% 이상 → 코스닥 종목 모든 신규 매수 중단"
|
||
emergency: "KOSDAQ 장중 시가 대비 -3.5% + 거래대금 폭발 → 코스닥 보유 위성 손절 우선"
|
||
resume_condition:
|
||
- "09:30~10:00 사이 KOSDAQ 시가 대비 +0.7% 이상 회복"
|
||
- "KOSPI 기준 opening_volatility_filter 블록이 해제된 상태"
|
||
interaction:
|
||
rule: "KOSPI 기준 필터와 KOSDAQ 기준 필터 중 더 강한 제한 적용."
|
||
note: "코스닥 종목이라도 KOSPI 장 전체가 hard_block 상태면 코스닥 필터 별도 확인 불필요."
|
||
prohibition:
|
||
- "코스닥 종목 매수 시 KOSDAQ 병렬 필터 미확인 진입 금지"
|
||
- "코스닥 지수 블록 중 다른 코스닥 종목으로 대체 매수 금지"
|
||
|
||
concentration_brake:
|
||
threshold:
|
||
warning: "상위 3종목 합산 비중 65% 이상"
|
||
hard_block: "상위 3종목 합산 비중 70% 이상"
|
||
action:
|
||
warning_시: "신규 A등급 종목 매수 시 기존 상위 종목 트림 우선 검토"
|
||
hard_block_시: "신규 매수 전면 중단. 새 종목 매수 전 기존 집중 종목 부분 익절 필수."
|
||
exception:
|
||
- "삼성전자·SK하이닉스 합산 비중은 special_exception 기준으로 별도 계산"
|
||
- "ETF와 직접보유가 동일 섹터 노출일 경우 합산 집중도로 계산"
|
||
leader_concentration_override:
|
||
trigger: "Leader_Concentration=1 AND Price_Status=PRICE_OK AND Flow_OK=Y AND Flow_Rows>=20 AND ATR20_Status=OK AND DART_Risk=없음"
|
||
rule: "warning=1 유지, hard_block=0 유지. 신규 추격매수는 금지하되 확인된 시범진입과 본진입은 허용."
|
||
prohibition: "→ master_prohibitions.P3 (집중도 브레이크 무력화 금지 포함)"
|
||
|
||
weekly_circuit_breaker:
|
||
measurement: "월요일 시가 → 금요일 종가 기준 포트폴리오 수익률"
|
||
trigger:
|
||
caution: "주간 누적 -3% 이하"
|
||
circuit_break: "주간 누적 -5% 이하"
|
||
action:
|
||
caution_시: ["다음 주 신규 위성 매수 50% 감액", "현금 비중 12% 이상 확인"]
|
||
circuit_break_시: ["다음 주 신규 매수 전면 중단", "보유 위성 time_stop 잔여일 재점검", "cash_floor 15% 이상 확보 확인"]
|
||
reset_condition: ["다음 주 포트폴리오 수익률 +2% 이상 회복", "VIX caution 수준 하락"]
|
||
prohibition: "→ master_prohibitions.P3 전역 적용 (서킷브레이커 발동 중 포함)"
|
||
|
||
turnover_control_gate:
|
||
purpose: "신호가 많아도 과잉매매는 거래비용으로 순수익률을 갉아먹는다. 주간 회전율과 비용 비율로 자동 제한한다."
|
||
measurement:
|
||
weekly_turnover_cost_pct: "(해당 주 총 매수금액 + 총 매도금액) × 예상수수료율(0.015%) / 총자산 × 100"
|
||
threshold:
|
||
caution: "weekly_turnover_cost_pct >= 0.15% → 이번 주 신규 진입 수량 50% 감액"
|
||
hard_block: "weekly_turnover_cost_pct >= 0.30% → 이번 주 신규 진입 전면 보류 (손절·익절 실행은 허용)"
|
||
reset_condition: "다음 월요일 00:00 KST에 자동 초기화"
|
||
exception: "weekly_circuit_breaker.circuit_break 발동 중 손절 집행은 이 게이트와 관계없이 실행"
|
||
# [P_C / 2026-05-15] 주간 신규 진입 건수 상한 — 비용률(%) 기준만으로는 소액 고빈도 과매매를
|
||
# 통제하지 못하는 공백 해소. 예: 0.05% × 10건 = 0.5%이지만 hard_block은 0.30% 기준이므로 미발동.
|
||
weekly_trade_count:
|
||
measurement: "월요일~금요일 신규 진입(매수 체결 기준) 건수. 손절·익절·리밸런싱 축소 매도는 제외."
|
||
count_unit: "계좌·종목 단위. 동일 종목 분할 매수는 1건으로 합산하지 않고 체결 건수로 계산."
|
||
threshold:
|
||
caution: "주간 신규 진입 3건 초과 → 추가 진입은 A등급 ONLY. 수량은 계획의 최솟값(pilot_tranche)만 허용."
|
||
hard_block: "주간 신규 진입 5건 초과 → 주 내 신규 매수 전면 보류. 손절·익절 실행은 허용."
|
||
reset_condition: "매주 월요일 00:00 KST 자동 초기화 (weekly_turnover_cost_pct와 동시 초기화)"
|
||
exception:
|
||
- "weekly_circuit_breaker 발동 중 손절 집행은 카운트 제외"
|
||
- "ISA·연금저축 정기 납입 후 의무 투자 집행 1건은 카운트 제외"
|
||
interaction_with_cost_gate:
|
||
rule: "weekly_trade_count와 weekly_turnover_cost_pct는 AND 조건으로 동시 적용."
|
||
priority: "둘 중 더 강한 제한(hard_block)이 우선한다."
|
||
prohibition:
|
||
- "turnover_cost 미산출 상태에서 3건 이상 신규 매수 연속 집행 금지"
|
||
- "비용 회피 목적으로 분할 주문을 하나의 주문으로 합산 계산하지 않는 행위 금지"
|
||
- "weekly_trade_count.caution 상태에서 B등급 이하 종목 신규 진입 금지"
|
||
|
||
drawdown_recovery_speed_gate:
|
||
purpose: "낙폭 이후 회복이 느리면 자금이 오래 묶이고 다음 기회를 놓친다. 회복 기한 초과 시 신규 위성을 제한해 손실 확대를 방지한다."
|
||
measurement:
|
||
recovery_target: "낙폭 발동 기준 수익률 수준으로 포트폴리오 수익률 복귀"
|
||
threshold:
|
||
minus_5_level:
|
||
trigger: "portfolio.monthly_minus_5 발동일 (월간 -5%) 또는 weekly_circuit_breaker.circuit_break 발동일 (주간 -5%)"
|
||
deadline: "발동일로부터 15거래일"
|
||
slow_action: "기한 초과 시 신규 위성 진입 수량 50% 감액. performance_brake 연동."
|
||
minus_8_level:
|
||
trigger: "portfolio.monthly_minus_8 발동일 (월간 -8%, portfolio_hard_stop_procedure 연계)"
|
||
deadline: "발동일로부터 25거래일"
|
||
slow_action: "기한 초과 시 신규 위성 전면 보류 + risk_budget 50% 감액 (performance_brake 동일 원칙 준용)."
|
||
reset_condition: "포트폴리오 수익률이 해당 낙폭 기준점 이상 회복 확인 시 자동 해제"
|
||
exception: "코어 포지션 손절·익절 집행은 이 게이트와 무관하게 실행"
|
||
prohibition:
|
||
- "회복 기한 초과 상태에서 고위험 위성 신규 진입 금지"
|
||
- "→ master_prohibitions.P3 전역 적용 (회복 미완료 중 감액 무력화 포함)"
|
||
|
||
# [P_A / 2026-05-15] 엔캐리 언와인드 전용 방어 모듈 — USD/JPY 조건이 correlation_shock 다단계 조건에 묻혀
|
||
# 즉각 발동이 지연되는 구조적 공백을 해소. 2024-08-05 유형 하루 폭락 대비 선행 경보 채널 분리.
|
||
yen_carry_unwind:
|
||
purpose: >
|
||
엔캐리 청산은 종목 펀더멘털과 무관한 글로벌 유동성 발작이다.
|
||
correlation_shock의 다단계 조건(KOSPI 이탈·VIX·수급 동반 확인)을 기다리면
|
||
이미 하루 만에 -5~-10% 폭락이 발생한 이후다.
|
||
USD/JPY 급락을 단독 선행 트리거로 분리해 즉각 대응한다.
|
||
trigger:
|
||
early_warning:
|
||
condition: "USD/JPY 2거래일 내 -1.5% 이상 급락 (엔화 급등)"
|
||
data_source: "macro 탭 USD_JPY_Close 또는 Yahoo Finance USDJPY=X"
|
||
note: "BOJ 금리 인상 발표·YCC 정책 변경 시 당일 적용"
|
||
full_alert:
|
||
condition: "USD/JPY 3거래일 내 -3% 이상 급락 OR early_warning + VIX >= 20 동시 충족"
|
||
data_source: "macro 탭 USD_JPY_Close, VIX_Close"
|
||
action:
|
||
early_warning_시:
|
||
- "위성 신규매수 즉시 중단"
|
||
- "중복 ETF 50% 이상 즉각 축소 검토"
|
||
- "cash_floor 목표를 overheated_or_event_week 수준(10~15%)으로 상향"
|
||
full_alert_시:
|
||
- "portfolio_hard_stop_procedure 즉시 준용"
|
||
- "cash_floor 강제 25% 이상 (risk_off 기준)"
|
||
- "위성 포지션 70% 이상 1~2회 분할 지정가 축소"
|
||
- "코어 직접보유는 20일선·5D 수급 동반 이탈 확인 후 부분 축소 검토"
|
||
relation_to_unified_engine:
|
||
note: >
|
||
full_alert 발동 시 unified_engine.trigger_matrix.Systemic 조건
|
||
('USD/JPY 3거래일 내 3% 급락')과 동시 충족으로 간주.
|
||
Systemic + Portfolio/Correlation 중 1개 이상 → Tier_2 이상 자동 진입.
|
||
deduplication: "unified_engine Tier 조치와 중복 실행 금지. 더 강한 Tier 조치만 1회 적용."
|
||
resume_condition:
|
||
- "USD/JPY 3거래일 연속 안정화 (일간 변동 ±0.5% 이내)"
|
||
- "VIX 20 이하 하락 확인"
|
||
- "KOSPI 20일선 회복 확인"
|
||
prohibition:
|
||
- "early_warning만으로 전량 청산 금지"
|
||
- "USD/JPY 단순 일중 변동을 트리거로 오적용 금지 (종가 기준으로만 판정)"
|
||
- "BOJ 회의 없는 단순 환율 변동에 full_alert 적용 금지"
|
||
- "엔캐리 해소 후 반등 직후 즉각 위성 재진입 금지 (reentry.system_risk_exit 쿨다운 준용)"
|
||
|
||
# [proposal_51 / 2026-05-15] 현금 가변 운용 공식화 — market_risk_score_based_cash
|
||
sector_crash_intraday_protocol:
|
||
purpose: >
|
||
opening_volatility_filter(장 개시 기준)와 portfolio_hard_stop_procedure(월간 -8% 기준) 사이
|
||
공백 구간(섹터 -4~-7% 당일 급락)에 대한 즉각 대응 프로토콜.
|
||
applicable_sectors: "보유 종목이 속한 주도섹터 OR KOSDAQ 종합 기준"
|
||
tiers:
|
||
# [proposal_89 / 2026-05-16] 코스닥 독립 트리거 엄격화 — 코스닥은 코스피 대비 -1%p 낮게 조기 발동
|
||
tier_A:
|
||
condition: "주도섹터 -4% 이상 당일 하락 OR KOSDAQ -3% 이상"
|
||
action:
|
||
- "해당 섹터 위성 신규 탐색매수 당일 전면 중단"
|
||
- "staged_entry_v2 stage_1 신규 진입 중단"
|
||
- "기존 보유 위성 → existing_position_rule 기준 처리 (아래 참조)"
|
||
timing: "15:30 종가 확인 후"
|
||
existing_position_rule: # [proposal_69 / 2026-05-15] tier_A 중 보유 위성 anti_climax 처리
|
||
check_target: "위성 포지션 전체 (CSCS < 70인 종목)"
|
||
action_by_signal_count:
|
||
signal_2:
|
||
condition: "anti_climax_buy_gate 신호 합계 = 2개"
|
||
action: "손절선을 현 평단가(본절) 또는 최근 5D 저점 중 높은 값으로 상향 재설정. 추가 매수 금지."
|
||
signal_3_plus:
|
||
condition: "anti_climax_buy_gate 신호 합계 >= 3개"
|
||
action: "해당 위성 보유수량의 50% 지정가 즉시 매도 (전일종가 -0.5% 이하. 시장가 금지)."
|
||
signal_1_or_less:
|
||
action: "손절가 재확인 후 유지. 추가 조치 없음."
|
||
prohibition:
|
||
- "tier_A 발동 중 위성 신규 매수 또는 pyramiding 증액 금지"
|
||
tier_B:
|
||
condition: "주도섹터 -5% 이상 OR KOSDAQ -4% 이상"
|
||
action:
|
||
- "tier_A 조치 모두 실행"
|
||
- "보유 위성 중 staged_entry_v2 stage_1 물량 전량 청산 (FC 귀속)"
|
||
- "cash_floor market_risk_score_based_cash MRS += calibration_registry.MRS_CIRCUIT_BREAKER_ADJUSTMENT_PTS (spec/calibration_registry.yaml 참조)"
|
||
- "pyramiding_rule 추가 증액 중단"
|
||
timing: "당일 장중 또는 15:30 직후"
|
||
tier_C:
|
||
condition: "주도섹터 -7% 이상 OR KOSDAQ -6% 이상 (극단 신호)"
|
||
action:
|
||
- "tier_B 조치 모두 실행"
|
||
- "opening_volatility_filter.hard_block 준용: 다음 거래일 신규 매수 전면 중단"
|
||
- "portfolio_hard_stop_procedure step_1·2 즉시 준용"
|
||
- "unified_engine.trigger_matrix.Portfolio 발동 여부 확인"
|
||
timing: "당일 장중 또는 15:30 직후"
|
||
next_day_resume:
|
||
tier_A: "다음 거래일 주도섹터 -1% 이내 안정 또는 반등 확인 후 탐색매수 재개"
|
||
tier_B: "다음 거래일 주도섹터 +0.5% 이상 반등 AND KOSDAQ -1.5% 이내 AND daily_leader_scan >= 4 종목 존재 시"
|
||
tier_C: "unified_engine.resume_condition 준수 (VIX·KOSPI 안정 등)"
|
||
interaction:
|
||
opening_volatility_filter: "sector_crash_intraday_protocol은 종가 기준. opening_volatility_filter는 개시(09:00~09:30) 기준. 독립 발동. 동시 충족 시 더 강한 제한 적용."
|
||
yen_carry_unwind: "섹터 급락이 엔화 급등과 동시 발생 시 yen_carry_unwind.early_warning + 이 프로토콜 tier_B 이상 동시 발동."
|
||
output_table:
|
||
columns: ["섹터/지수", "당일수익률(%)", "트리거단계", "즉시조치", "다음날재개조건"]
|
||
prohibition:
|
||
- "섹터 급락 당일 패닉 시장가 전량 청산 금지 — 분할 지정가만 허용"
|
||
- "급락 당일 V자 반등 기대로 탐색매수 조기 재개 금지"
|
||
- "tier_A 발동 중 다른 종목 신규 탐색매수 예외 허용 금지"
|