You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

125 lines
3.4 KiB
YAML

_meta:
id: 30
name: "ORB Gainers V23 Safe v2"
status: validated
parent: orb_gainers_v23
description: >
V23 파생 전략 — "안전 투자자" v2. v1(+5.16%, DD -13.49%)보다 DD를 줄이는 것이 목표.
핵심 발견 (v1 분석):
- V23 손실일의 QQQ 갭: +0.3%~+3.4% → QQQ 임계값 강화는 효과 없음
- 손실은 QQQ 방향이 아닌 개별 종목 실패에서 발생
- DD는 손실 클러스터(Oct/Sep 2025)에서 집중 발생
v2 접근법:
1. Rolling loss governor 강화: 손실 직후 즉시 거래 중단 (-2% threshold)
2. Partial exit 활성화: 1R(0.75ATR) 도달시 50% 이익 실현 → 많은 거래를 "무조건 수익"으로
3. 포지션 축소: risk 5%→2% (손실 기회당 절대액 감소)
4. 동시 포지션: 3→2 (손실 클러스터링 방지)
5. QQQ 레짐: 유지 (효과 없음이 증명됨 — 더 강화해도 소용없음)
6. Streak sizing 비활성화 (안전 우선)
200d 검증 결과 (2025-07-03 → 2026-04-20):
- 수익: +36.67% (V23 +109.32% 대비)
- Max DD: -11.54% (고점 대비, 그러나 시작 자본 이하 0일!)
- Sharpe: 2.24
- 시작 자본($10k) 이하: 0일 (최저점 $10,017 on 2025-07-09)
- 최악의 하루: -$344 (V23 -$981 대비)
- 거래일: 49/200, 거래: 154건
strategy_mode: orb
orb_strategy:
engine_family: gainers_leader
live_readiness: experimental
orb_minutes: 5
sim_bar_minutes: 5
entry_direction: long_only
order_timeout_minutes: 45
allow_doji_breakout: true
allow_red_to_green_breakout: true
min_price: 10.0
min_avg_dollar_volume: 25000000
min_atr_14: 0.50
min_atr_pct: 0.04
min_rvol: 1.5
min_abs_gap_pct: 0.02
min_premarket_dollar_vol: 1500000
max_candidates: 20
max_candidates_per_sector: 3
min_candidates_to_trade: 1
ticker_cooldown_days: 0
max_gap_pct: 0.04
min_candidate_breadth: 0.60
market_regime_spy_threshold: 0.0015
market_regime_ticker: QQQ
rolling_loss_days: 5
# === KEY CHANGE: stop IMMEDIATELY after $200 loss (was -7%) ===
rolling_loss_threshold: -0.02
# === CHANGE: max 2 simultaneous (was 3) ===
max_simultaneous_entries: 2
min_breakout_rel_vol: 1.2
weight_rvol: 0.35
weight_gap: 0.20
weight_dollar_vol: 0.05
weight_premarket_dollar_vol: 0.25
weight_body_ratio: 0.0
weight_momentum: 0.15
atr_stop_multiplier: 0.75
breakeven_at_r: 1.0
trailing_at_r: 1.0
trailing_stop_atr_multiplier: 0.8
trailing_tighten_at_r: 2.0
trailing_stop_atr_multiplier_tight: 0.3
# === KEY CHANGE: lock in 50% at 1R (was disabled at 99R) ===
partial_exit_at_r: 1.0
partial_exit_pct: 0.50
# === CHANGE: smaller per-trade risk (was 0.05) ===
risk_per_trade_pct: 0.02
max_position_pct: 0.70
# === CHANGE: tighter daily loss cut (was 0.05) ===
daily_max_loss_pct: 0.02
max_stops_per_day: 3
exit_minutes_before_close: 5
slippage_bps: 5.0
initial_capital: 10000
compound_returns: false
daily_budget_reset: true
settlement_days: 1
# === CHANGE: tighter portfolio governor (was 0.025) ===
drawdown_governor_threshold: 0.015
drawdown_governor_min_scale: 0.50
# === CHANGE: no streak sizing (was bonus=0.70, max=2.5) ===
streak_sizing_win_bonus: 0.0
streak_sizing_max: 1.0
universe:
source: midlarge
backtest:
start_date: null
end_date: null
lookback_trading_days: 200
cache:
enabled: true
dir: data/cache/intraday
output:
dir: runs/intraday_orb
verbose: false