Files
QuantEngineByItz/spec/strategy_execution_lock_policy.yaml
T
kjh2064 ee3e799de1 feat: 리밸런싱 엔진 V1 + GAS 버그 수정 (2026-06-13)
주요 변경:
- 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>
2026-06-13 13:20:14 +09:00

95 lines
3.0 KiB
YAML

meta:
version: "2026-05-28"
owner: "engine_harness"
purpose: "전략 실행락 임계값 단일 소스"
strategy_execution_lock_policy:
outcome_quality_score_v1:
weights:
t20_pass_rate: 0.30
trade_quality_score: 0.25
rebound_efficiency_score: 0.25
late_rebound_bucket_score: 0.20
missing_eval_neutral_score: 50.0
min_effective_eval_samples: 30
sample_confidence_weight: 0.20
pass_threshold: 85.0
caution_threshold: 50.0
# Phase-4~5: T5 운영 폴백 계층 (거짓 중립 50 제거)
t20_fallback_policy:
# 1순위: 운영 T+20 >= min_effective_eval_samples → 실측 T+20
# 2순위: 운영 T+20 = 0 AND 운영 T+5 >= min_effective_eval_samples → T5 proxy
# 3순위: 표본 부족 → neutral_score (명시적 INSUFFICIENT)
t5_proxy_enabled: true
t5_proxy_source_label: "t5_operational_proxy"
neutral_label: "neutral_due_to_insufficient_operational_samples"
trade_quality_basis_policy:
# T5 거래품질 도구(TRADE_QUALITY_FROM_T5_V1) gate=PASS 이면 t5_operational 우선
# 아니면 harness_context_tq, 없으면 NEUTRAL_MISSING
t5_basis_preferred: true
t5_basis_label: "t5_operational"
data_integrity_score_v1:
required_sheets:
- data_feed
- sector_flow
- macro
- event_risk
- core_satellite
- sell_priority
data_feed_required_fields:
- Ticker
- Close
- MA20
- ATR20
- Volume
placeholder_tokens:
- DATA_MISSING
- ""
- "-"
- null
weights:
sheet_completeness_pct: 0.25
cross_mismatch_safety_pct: 0.20
timeliness_pct: 0.15
type_presence_pct: 0.10
required_field_completeness_pct: 0.20
placeholder_safety_pct: 0.10
pass_threshold: 90.0
watch_threshold: 80.0
captured_at_sla_hours: 30
timeliness_penalty_if_sla_breached_pct: 30.0
decision_evidence_score_v1:
required_keys:
- ticker
- order_type
- validation_status
- rationale_code
actionable_order_types:
- BUY
- SELL
- STOP_LOSS
- ADD_ON
- STAGED_BUY
# SELL_RULE: = GAS 매도규칙엔진(SELL_WATERFALL_ENGINE_V1 캐노니컬). DE[0-9]+_ = Direction 규칙(DE1_MANUAL_REVIEW=D2#1)
rationale_formula_regex: "([A-Z][A-Z0-9_]*_V[0-9]+|NO_EXECUTION:[A-Z_]+|SELL_RULE:[A-Z0-9_]+|DE[0-9]+_[A-Z_]+)"
weights:
completeness_pct: 0.55
conflict_safety_pct: 0.20
rationale_quality_pct: 0.25
pass_threshold: 92.0
caution_threshold: 80.0
no_actionable_orders_state: NO_ACTIONABLE_ORDERS
strategy_execution_locks_v1:
data_integrity_block_threshold: 90.0
derivation_validity_block_threshold: 90.0
decision_evidence_block_threshold: 85.0
outcome_buy_block_threshold: 50.0
outcome_sell_scale_threshold: 60.0
outcome_sell_scale_ratio: 0.70
outcome_eval_window_v1:
t20_min_days_required: 28
short_horizon_outcome_monitor_v1:
min_samples_data_insufficient: 20
low_conf_samples_threshold: 40
pass_score_threshold: 60.0