Files
QuantEngineByItz/spec/strategy/rebalancing_trigger.yaml
T
kjh2064 5166750b53 WBS-7.3/7.4/7.5/7.11: 거버넌스 문서 정합성 정리 + spec-코드 동기화 게이트
2026-06-21 비판적 리뷰에서 spec/governance YAML이 코드 상태와 어긋난
채로 방치되던 3개 구체적 사례를 발견하고 정정했다. 근본 원인(동기화를
보장하는 장치 없음)에 대응하는 신규 CI 게이트도 함께 추가한다.

- spec/aliases.yaml: deprecated alias 17건 제거(활성 참조 0건 확인 후,
  2026-06-30 데드라인 전). role: deprecated_redirect인 spec/03_risk_policy.yaml,
  spec/04_strategy_rules.yaml 2개만 실삭제 — spec/06_exit_policy.yaml은
  role: compatibility_index(영구유지 설계)였음을 재확인해 보존
- governance/gas_logic_migration_ledger_v1.yaml: 존재하지 않는 파일을
  canonical 구현으로 인용하던 오류 2건 발견·정정, parity 테스트 부재로
  GAS 코드 삭제 보류(F12/F13/F14)
- spec/13_formula_registry.yaml: OVERHANG_PRESSURE_V1의 "-500000"
  절대값 폴백을 avg_volume_5d 비례식으로 교체(EXPERT_PRIOR 등록)
- tools/validate_specs.py: validate_spec_code_sync() 신규 — has_code_implementation/
  code_path 필드가 있는 spec만 검사(점진적 롤아웃, 기존 PASS 상태 비파괴),
  12개 파일 1차 태깅
2026-06-21 20:08:48 +09:00

32 lines
2.6 KiB
YAML

meta:
title: "은퇴자산포트폴리오 — 리밸런싱 트리거 분할 후보"
parent_file: "RetirementAssetPortfolio.yaml" # 2026-06-22 WBS-7.11: spec/04_strategy_rules.yaml 삭제로 갱신
version: "2026-05-15-F8_split"
language: "ko-KR"
timezone: "Asia/Seoul"
role: "canonical"
migration_status: "canonical_split_active"
authority_rule: "이 split 파일이 해당 섹션의 canonical source다. parent_file은 legacy compatibility index다."
rebalancing_trigger:
weed_out_rule:
rule: "물타기 방지: 리밸런싱 매수 전 해당 종목 1M 상대강도 하위 30% 또는 20D 수급 음수 시 매수를 영구 차단하고, 주도주로 자금을 이동한다."
threshold:
relative_band: "개별 자산이 목표비중 대비 ±20% 이탈 시 점검"
absolute_band: "단일 종목이 목표비중보다 절대값 5%p 이상 초과 시 부분 리밸런싱 검토"
benchmark_leader_band: "KOSPI 시장지배 주도주는 벤치마크 비중 대비 +10%p 초과 시 점검, +15%p 초과 시 신규매수 금지"
duplicate_factor_band: "동일 팩터 직접+ETF 실질노출이 상한 초과 시 ETF부터 축소"
regime_adaptive:
regime_source: "macro_snapshot VIX_Close 기준. Risk-On: VIX < 18 AND KOSPI 20일선 위; Risk-Off: VIX > 25 OR KOSPI 20일·60일선 동시 하회; Neutral: 그 외 구간. (VIX 기준: macro 탭 VIX_Close, KOSPI 이동평균: data_feed 탭 MA20·MA60 컬럼)"
Risk-On: "목표비중 대비 +15%p 초과 시 점검 (주도주 수익 극대화 용인)"
Neutral: "목표비중 대비 ±5%p 이탈 시 점검"
Risk-Off: "목표비중 대비 +2%p 초과 시 즉각 축소 (방어적 리밸런싱 강제)"
prohibition: "Risk-Off 국면에서 회복 기대를 이유로 +2%p 초과 리밸런싱 연기 금지"
action:
- "전체 포트폴리오를 흔들지 않고 이탈 자산만 목표비중 근처로 복귀."
- "매도는 전량이 아니라 1차 30%, 2차 30%, 3차 잔여 조정 방식."
- "세금·수수료·유동성·호가공백이 불리하면 즉시 리밸런싱 대신 조건부."
- "비용 최적화: |목표비중 - 현재비중| - (예상 거래세 및 수수료 환산비율) > 0.5%p 일 때만 실질적인 리밸런싱을 실행하여 과매매를 방지한다."
priority: ["bankruptcy", "risk_control", "market_context", "portfolio_exposure_framework.special_exception", "portfolio_exposure_framework"] # [P134] 순환 참조 제거, [R3] special_exception 경로 완전 한정
priority_note: "위 5개 규칙 충족 후에만 rebalancing_trigger.threshold·action 적용. 자체 참조 금지."