feat(quant-engine): 10개 고전 기술전략 갭분석 후 7개 보조신호 채택

사용자 제시 10개 고전 기술전략(골든크로스/모멘텀/52주신고가/연속상승하락/이격도/돌파실패/
강한종가/변동성확장/평균회귀/추세필터)을 기존 엔진과 대조한 갭분석 결과:
- 이미 구현됨: 모멘텀(VELOCITY_V1/RS_MOMENTUM_V1), 이격도·평균회귀(MEAN_REVERSION_GATE_V1)
- 신규 채택 7개: GOLDEN_CROSS_SIGNAL_V1, STRONG_CLOSE_SIGNAL_V1,
  VOLATILITY_EXPANSION_BREAKOUT_V1, FIFTY_TWO_WEEK_HIGH_TRIGGER_V1, CONSECUTIVE_STREAK_V1,
  BREAKOUT_FAILURE_STOP_V1, TREND_FILTER_GATE_V1

AGENTS.md 하드룰(추격매수 방지, anti-late-entry gate 필수통과)에 따라 BUY 방향 신호 전부를
STRATEGY_SCORING의 보조신호로만 편입 — BREAKOUT_QUALITY_GATE_V2/FOLLOW_THROUGH_DAY_CONFIRM_V1/
ANTI_LATE_ENTRY_GATE_V2 게이트 체인을 우회하는 독립 BUY 트리거로는 사용하지 않음.

검증: validate_specs/validate_golden_coverage_100(100%)/validate_calibration_registry_v1/
validate_schema_model_generation_v1/validate_agents_shrink_v1 전부 PASS. golden test 22/22 PASS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-18 00:29:18 +09:00
parent aedabdd37b
commit 782fe74578
43 changed files with 1709 additions and 4 deletions
+110
View File
@@ -2672,6 +2672,116 @@ field_dictionary:
unit: "KRW"
aliases: ["TRANSFER_CONFIRMED_AMOUNT_KRW"]
note: "WEEKLY_LEGACY_TRANSFER_PLAN_V1 입력 — transfer_confirmed=true일 때만 값 존재."
# ── [2026-06-18_TECHNICAL_SIGNALS_P4] 10개 고전 기술전략 갭분석 채택 신규 필드 ──
ma20_prev:
canonical_name: "ma20_prev"
type: "number_or_null"
unit: "KRW_per_share"
aliases: ["MA20_PREV"]
note: "GOLDEN_CROSS_SIGNAL_V1 입력 — 전일 ma20."
ma60_prev:
canonical_name: "ma60_prev"
type: "number_or_null"
unit: "KRW_per_share"
aliases: ["MA60_PREV"]
note: "GOLDEN_CROSS_SIGNAL_V1 입력 — 전일 ma60."
ma120:
canonical_name: "ma120"
type: "number_or_null"
unit: "KRW_per_share"
aliases: ["MA120", "120일선"]
note: "TREND_FILTER_GATE_V1 입력 — 120일 이동평균."
ma120_prev:
canonical_name: "ma120_prev"
type: "number_or_null"
unit: "KRW_per_share"
aliases: ["MA120_PREV"]
note: "TREND_FILTER_GATE_V1 입력 — 전일 ma120."
high_price:
canonical_name: "high_price"
type: "number"
unit: "KRW_per_share"
aliases: ["High", "고가", "high"]
note: "STRONG_CLOSE_SIGNAL_V1 입력 — 당일 고가."
low_price:
canonical_name: "low_price"
type: "number"
unit: "KRW_per_share"
aliases: ["Low", "저가", "low"]
note: "STRONG_CLOSE_SIGNAL_V1 입력 — 당일 저가."
bb_width:
canonical_name: "bb_width"
type: "number_or_null"
unit: "percent"
aliases: ["BB_WIDTH"]
note: "VOLATILITY_EXPANSION_BREAKOUT_V1 입력 — 20일 볼린저밴드 폭."
bb_width_20d_percentile:
canonical_name: "bb_width_20d_percentile"
type: "number_or_null"
unit: "percent"
aliases: ["BB_WIDTH_20D_PERCENTILE"]
note: "VOLATILITY_EXPANSION_BREAKOUT_V1 입력 — 최근 20일 분포 내 bb_width 백분위. 낮을수록 squeeze."
daily_close_changes:
canonical_name: "daily_close_changes"
type: "list_or_null"
unit: "list_of_percent"
aliases: ["DAILY_CLOSE_CHANGES"]
note: "CONSECUTIVE_STREAK_V1 입력 — 최근 N거래일 일별 종가 변화율(%) 리스트, 최신값이 마지막."
prior_high:
canonical_name: "prior_high"
type: "number_or_null"
unit: "KRW_per_share"
aliases: ["PRIOR_HIGH"]
note: "BREAKOUT_FAILURE_STOP_V1 입력 — 진입 당시 돌파 기준 전고점."
golden_cross_today:
canonical_name: "golden_cross_today"
type: "boolean_or_null"
unit: "none"
aliases: ["GOLDEN_CROSS_TODAY"]
note: "GOLDEN_CROSS_SIGNAL_V1 산출 — STRATEGY_SCORING 보조신호. 단독 BUY 트리거 금지."
strong_close:
canonical_name: "strong_close"
type: "boolean_or_null"
unit: "none"
aliases: ["STRONG_CLOSE"]
note: "STRONG_CLOSE_SIGNAL_V1 산출."
close_position_pct:
canonical_name: "close_position_pct"
type: "number_or_null"
unit: "percent"
aliases: ["CLOSE_POSITION_PCT"]
note: "STRONG_CLOSE_SIGNAL_V1 산출 — (close-low)/(high-low)*100."
volatility_expansion_breakout:
canonical_name: "volatility_expansion_breakout"
type: "boolean_or_null"
unit: "none"
aliases: ["VOLATILITY_EXPANSION_BREAKOUT"]
note: "VOLATILITY_EXPANSION_BREAKOUT_V1 산출 — BREAKOUT_QUALITY_GATE_V2 통과 전제."
fifty_two_week_high_breakout:
canonical_name: "fifty_two_week_high_breakout"
type: "boolean_or_null"
unit: "none"
aliases: ["FIFTY_TWO_WEEK_HIGH_BREAKOUT"]
note: "FIFTY_TWO_WEEK_HIGH_TRIGGER_V1 산출 — BREAKOUT_QUALITY_GATE_V2 입력 전용."
up_streak:
canonical_name: "up_streak"
type: "integer_or_null"
unit: "count"
aliases: ["UP_STREAK"]
note: "CONSECUTIVE_STREAK_V1 산출 — 연속 상승 일수."
trend_filter_pass:
canonical_name: "trend_filter_pass"
type: "boolean_or_null"
unit: "none"
aliases: ["TREND_FILTER_PASS"]
note: "TREND_FILTER_GATE_V1 산출 — close>ma120 AND ma120 상승 중."
breakout_failure:
canonical_name: "breakout_failure"
type: "boolean_or_null"
unit: "none"
aliases: ["BREAKOUT_FAILURE"]
note: "BREAKOUT_FAILURE_STOP_V1 산출 — true이면 SELL_RISK_EXIT_REVIEW."
deployable_cash_contribution_krw:
canonical_name: "deployable_cash_contribution_krw"
type: "number"