ee3e799de1
주요 변경: - tools/build_rebalance_engine_v1.py: REBALANCE_ENGINE_V1 신규 * account_snapshot 직접 합산(_build_snap_position_map) → 소수주 분리 행 병합 * 레짐 소스 macro.REGIME_PRELIM 최우선 (GAS 와 동일) - src/gas_adapter_parts/gdf_06_rebalance.gs: runRebalanceSheet_() 신규 * Logger.log / getSpreadsheet_() 로 run_all 연동 수정 - src/gas_adapter_parts/gdc_01_fetch_fundamentals.gs * _mergePositionRecord_(): 소수주 중복 행 합산 신규 * parseInt → parseFloat (qty, availQty) - src/gas_adapter_parts/gdf_01_price_metrics.gs * 미보유 종목 SELL_READY → WATCH_EXIT_SIGNAL - spec/41_release_dag.yaml: build_rebalance_sheet 노드 추가 (step_count 63) - spec/51_formula_lifecycle_registry.yaml: REBALANCE_ENGINE_V1 등록 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
32 lines
2.5 KiB
YAML
32 lines
2.5 KiB
YAML
meta:
|
|
title: "은퇴자산포트폴리오 — 리밸런싱 트리거 분할 후보"
|
|
parent_file: "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 적용. 자체 참조 금지."
|