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:
@@ -254,6 +254,73 @@ golden_cases:
|
||||
input: {weekly_legacy_to_cma_transfer_plan_krw: 4000000, transfer_confirmed: true, transfer_confirmed_amount_krw: 3800000}
|
||||
expected: {deployable_cash_contribution_krw: 3800000.0, plan_status: CONFIRMED_DEPLOYABLE}
|
||||
|
||||
# ── 기술적 신호 7종 채택 (governance/todo/technical_signals_p4_adoption_plan.yaml) ──
|
||||
- formula_id: GOLDEN_CROSS_SIGNAL_V1
|
||||
id: GV4_GCS_001
|
||||
name: ma20가 ma60을 상향 돌파하면 golden_cross_today=true
|
||||
input: {ma20_prev: 98, ma60_prev: 99, ma20: 105, ma60: 100}
|
||||
expected: {golden_cross_today: true}
|
||||
|
||||
- formula_id: GOLDEN_CROSS_SIGNAL_V1
|
||||
id: GV4_GCS_002
|
||||
name: 전일값 결측 시 null(DATA_MISSING), false로 추정 금지
|
||||
input: {ma20_prev: null}
|
||||
expected: {golden_cross_today: null}
|
||||
|
||||
- formula_id: STRONG_CLOSE_SIGNAL_V1
|
||||
id: GV4_SCS_001
|
||||
name: 종가가 고가 근처(90%)면 strong_close=true
|
||||
input: {close: 99, high: 100, low: 90}
|
||||
expected: {strong_close: true, close_position_pct: 90.0}
|
||||
|
||||
- formula_id: STRONG_CLOSE_SIGNAL_V1
|
||||
id: GV4_SCS_002
|
||||
name: high==low(거래정지 등) 시 null
|
||||
input: {high: 100, low: 100}
|
||||
expected: {strong_close: null}
|
||||
|
||||
- formula_id: VOLATILITY_EXPANSION_BREAKOUT_V1
|
||||
id: GV4_VEB_001
|
||||
name: squeeze(저백분위) 후 급등 시 volatility_expansion_breakout=true, BREAKOUT_QUALITY_GATE_V2 별도 통과 필요
|
||||
input: {bb_width_20d_percentile_prev: 10, ret_1d: 4.5}
|
||||
expected: {volatility_expansion_breakout: true, hard_constraint: requires_BREAKOUT_QUALITY_GATE_V2_pass_separately}
|
||||
|
||||
- formula_id: FIFTY_TWO_WEEK_HIGH_TRIGGER_V1
|
||||
id: GV4_FTW_001
|
||||
name: 종가가 52주 최고가 이상이면 breakout=true, 단독 매수 트리거 아님
|
||||
input: {close: 105, high52w: 100}
|
||||
expected: {fifty_two_week_high_breakout: true, hard_constraint: feeds_BREAKOUT_QUALITY_GATE_V2_only_not_buy_trigger}
|
||||
|
||||
- formula_id: CONSECUTIVE_STREAK_V1
|
||||
id: GV4_CST_001
|
||||
name: 최근 3일 연속 상승이면 up_streak=3, down_streak=0
|
||||
input: {daily_close_changes: [1, 2, -1, 1, 2, 3]}
|
||||
expected: {up_streak: 3, down_streak: 0}
|
||||
|
||||
- formula_id: BREAKOUT_FAILURE_STOP_V1
|
||||
id: GV4_BFS_001
|
||||
name: 돌파 후 7일 이내 전고점 아래로 재이탈하면 SELL_RISK_EXIT_REVIEW
|
||||
input: {prior_high: 100, close: 95, days_since_breakout: 3}
|
||||
expected: {breakout_failure: true, gate: SELL_RISK_EXIT_REVIEW}
|
||||
|
||||
- formula_id: BREAKOUT_FAILURE_STOP_V1
|
||||
id: GV4_BFS_002
|
||||
name: 7일 초과 후 재이탈은 breakout_failure 규칙 미적용(false)
|
||||
input: {prior_high: 100, close: 95, days_since_breakout: 10}
|
||||
expected: {breakout_failure: false}
|
||||
|
||||
- formula_id: TREND_FILTER_GATE_V1
|
||||
id: GV4_TFG_001
|
||||
name: 종가가 ma120 위 + ma120 상승 중이면 trend_filter_pass=true
|
||||
input: {close: 105, ma120: 100, ma120_prev: 99}
|
||||
expected: {trend_filter_pass: true}
|
||||
|
||||
- formula_id: TREND_FILTER_GATE_V1
|
||||
id: GV4_TFG_002
|
||||
name: 종가가 ma120 아래면 trend_filter_pass=false
|
||||
input: {close: 95, ma120: 100, ma120_prev: 99}
|
||||
expected: {trend_filter_pass: false}
|
||||
|
||||
# ── STOP_BREACH_V1: profit_pct < -20% 경계값 3 케이스 ─────────────────────
|
||||
- formula_id: STOP_BREACH_V1
|
||||
id: GV4_STOP_001
|
||||
|
||||
Reference in New Issue
Block a user