--- schema_version: "cash_recovery_optimizer_v1" generated: "2026-06-25" description: "P6: 가치보존형 현금확보" # Phase 6: 현금확보 (은퇴자산포트폴리오 목표 달성을 위한 현금 조성) # 현재: 자산 3.94억, 현금 부족: 4,134만원 (목표: 5억) # 제약: value_damage_raw_pct <= 10% (자산 가치 훼손 최소화) problem: current_asset_krw: 394191813 # 현재 자산 target_asset_krw: 500000000 # 목표 shortfall_krw: 41342219 # 부족액 current_cash_pct: 3.86 # 현금 비중 target_cash_pct: 15.0 # 목표 현금 비중 status: "BELOW_FLOOR" market_regime: "BREAKDOWN" objective: "현금 부족액 충족 AND 주식가치 훼손 최소 (raw <= 10%)" # ───────────────────────────────────────────────────────────────────────────── # 핵심 전략: K2 50/50 분할 # ───────────────────────────────────────────────────────────────────────────── approach: "K2 50/50 분할: immediate_qty + rebound_wait_qty" key_rules: rule_1: | K2 즉시 50% / 반등 대기 50% 분할 (rebound_trigger_price 도달 전까지 대기 주문 실행 금지) rule_2: | 매도 순서: K3 regime_adjusted_sell_priority 사용 코어 주도주 마지막 (상승추세 종목 보호) rule_3: | value_damage_raw_pct <= 10% 상한 유지 (cap_pass=false 허용 안함) rule_4: | emergency_full_sell=true 조건: (half_expected * 2) < shortfall_min 일 때만 # ───────────────────────────────────────────────────────────────────────────── # 공식 # ───────────────────────────────────────────────────────────────────────────── formulas: rebound_trigger_price: | prevClose + 0.5 * ATR20 (tick 정규화 후 지정가 사용) value_damage_raw_pct: | sum(target_sell_krw) / current_portfolio_value * 100 immediate_qty_pct: 50 rebound_wait_qty_pct: 50 # ───────────────────────────────────────────────────────────────────────────── # 구현 # ───────────────────────────────────────────────────────────────────────────── implementation: - "spec/exit/cash_recovery.yaml (현재 파일)" - "src/google_apps_script/gas_data_feed.gs: calcCashRecoveryOptimizerV1_()" - "tools/validate_value_preservation_v1.py (raw <= 10% 검증)" sample_case: current_asset: 394191813 shortfall: 41342219 target_damage_pct: "10% max" expected_recovery: 37108765 execution_checklist: - "K3 regime_adjusted_sell_priority 실행" - "매도 대상 종목 선정 (코어 제외)" - "immediate 50% 주문 발생" - "rebound_trigger_price 모니터링" - "rebound_wait 50% 대기 주문 준비" - "value_damage 모니터링 (10% 이내)" - "emergency 조건 평가" enforcement: - "자동 매도 순서 적용, 수동 개입 금지" - "value_damage > 10% 초과 시 ABORT" - "모든 주문 로깅 의무"