|
|
# ORB Gainers V49.91 전략 완전 해설
|
|
|
|
|
|
**버전:** V49.91 (id: 255)
|
|
|
**이름:** ORB Gainers V49.91 Broad No-Thrust Liquid Impulse
|
|
|
**상태:** candidate (experimental)
|
|
|
**부모:** V49.90 (Broad Liquid Leader Impulse Repair)
|
|
|
**작성일:** 2026-05-05
|
|
|
|
|
|
---
|
|
|
|
|
|
## 1. 전략 철학
|
|
|
|
|
|
ORB Gainers의 핵심은 **당일 비정상 관심 종목의 장 초반 돌파**를 포착하는 것이다. 첫 5분봉의 고점 돌파(Opening Range Breakout)를 진입 트리거로 사용하지만, 실제 엣지의 원천은 "압축 후 확장"이 아닌 **비정상 거래량 + catalyst + 당일 시장 관심**이다.
|
|
|
|
|
|
V49.91은 기존 메인 ORB 북(book)이 진입하지 않는 날(regime/breadth 통과했지만 primary 후보 없음)에도 **초대형 유동주식(평균 일거래대금 $3억 이상)이 첫 5분봉에서 강한 임펄스(≥3%)를 보일 때** 소규모 추가 슬리브를 통해 포지션을 진입하는 "no-trade-day repair" 기능을 추가한다.
|
|
|
|
|
|
핵심 철학:
|
|
|
- 갭 크기보다 **첫 5분봉 임펄스의 강도**가 유동주 계속성을 결정한다
|
|
|
- 갭이 작거나(0~4%) market thrust가 없는 날에도, 충분히 유동적인 리더주는 자체 추진력으로 움직일 수 있다
|
|
|
- 메인 북과 경쟁하지 않고 **보완적으로만** 작동 (no-primary-entries 조건)
|
|
|
|
|
|
---
|
|
|
|
|
|
## 2. 개발 계보 요약
|
|
|
|
|
|
### V1-V23: 핵심 엔진 수립
|
|
|
|
|
|
| 버전 | 핵심 발견 | 200d 성과 |
|
|
|
|------|-----------|-----------|
|
|
|
| V1-V3 | 초기 ORB 구조 | -19% |
|
|
|
| V8 | weight_momentum + QQQ regime | +19.73% |
|
|
|
| V10 | trailing_at_r 1.5→1.0 | +33.17% (400d) |
|
|
|
| V15 | streak_sizing + drawdown_governor | +41.60% |
|
|
|
| V17 | max_gap_pct 0.04 + no_partial_exit | +84.36% |
|
|
|
| V18 | daily_budget_reset + QQQ +0.15% filter | +103.50% |
|
|
|
| **V23** | **min_atr_pct=0.04** | **+109.32% (DR 최종)** |
|
|
|
|
|
|
### V24-V48: 신호 축 추가
|
|
|
|
|
|
| 버전 | 핵심 발견 | 200d 성과 |
|
|
|
|------|-----------|-----------|
|
|
|
| V24 | OBV-slope_20d 신호 (w=0.05) | +94.78% |
|
|
|
| V46 | DB Prior-Event PEAD signal (w=0.12) | +114.60% |
|
|
|
| V47 | weight 공동 최적화 (ec=0.15, obv=0.10) | +133.29% |
|
|
|
| V48 | partial_exit_at_r=1.0, pct=0.30 재활성 | +140.52% (200d), +255.87% (400d) |
|
|
|
| **V49** | **min_rvol: 1.5→1.8 (샘플 품질 향상)** | **+155.58% (200d), +259.96% (400d)** |
|
|
|
|
|
|
### V49 서브-버전 계보 (2026-04-24~05-04)
|
|
|
|
|
|
V49 (core champion) 위에 별도 "broad" 슬리브 실험들이 누적된 계보다.
|
|
|
|
|
|
| 서브버전 | 주요 변경 | 상태 |
|
|
|
|---------|-----------|------|
|
|
|
| V49.77 | ownership initial size scaling | candidate |
|
|
|
| V49.79 | unboosted weak attention governor | candidate |
|
|
|
| V49.80 | broad gapup continuation sleeve | candidate |
|
|
|
| V49.81 | market thrust breadth override 활성 | candidate |
|
|
|
| V49.82 | market thrust liquid continuation 슬리브 추가 | candidate |
|
|
|
| V49.83 | market thrust + opening burst 모드 | candidate |
|
|
|
| V49.84 | V49.83에서 gapup continuation 비활성화 | candidate |
|
|
|
| V49.85 | market thrust institutional 슬리브 | candidate |
|
|
|
| V49.86 | opening structure micro 슬리브 | candidate |
|
|
|
| V49.87 | soft day budget repair | candidate |
|
|
|
| V49.88 | unsupported attention governor 추가 | candidate |
|
|
|
| V49.89 | opening impulse reclaim 슬리브 추가 | candidate |
|
|
|
| V49.90 | liquid leader impulse repair (no-trade-day) | candidate |
|
|
|
| **V49.91** | **no-thrust 별도 임계값으로 liquid impulse 확장** | **candidate** |
|
|
|
| V49.93 | ORB idle overnight sleeve | candidate |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 3. V49.91 핵심 변경사항
|
|
|
|
|
|
### 배경: V49.90의 문제점
|
|
|
|
|
|
V49.90은 시장 thrust가 있는 날, primary 진입이 없을 때만 liquid leader 임펄스 슬리브가 작동하도록 설계했다. 그러나 2026-05-04처럼 **market thrust는 없지만 개별주(IREN)가 강한 임펄스를 보이는 날**에는 진입 기회를 놓쳤다.
|
|
|
|
|
|
V49.90이 2026-05-04에 NBIS만 포착하고 IREN은 놓친 이유:
|
|
|
- IREN의 갭은 market thrust liquid continuation의 정상 임계값 미충족
|
|
|
- thrust 조건 없는 별도 경로가 없었음
|
|
|
|
|
|
### V49.91의 해결책
|
|
|
|
|
|
**market thrust 없는 날 전용** 별도 임계값 세트를 추가:
|
|
|
|
|
|
```yaml
|
|
|
# 새로 추가된 파라미터들 (V49.91 only)
|
|
|
market_thrust_liquid_continuation_no_thrust_min_gap_pct: 0.0
|
|
|
market_thrust_liquid_continuation_no_thrust_max_gap_pct: 0.04
|
|
|
market_thrust_liquid_continuation_no_thrust_min_first_bar_return_pct: 0.03
|
|
|
market_thrust_liquid_continuation_no_thrust_min_first_bar_dollar_vol: 1000000
|
|
|
market_thrust_liquid_continuation_no_thrust_min_avg_dollar_vol: 300000000
|
|
|
market_thrust_liquid_continuation_no_thrust_max_candidates: 3
|
|
|
market_thrust_liquid_continuation_no_thrust_max_trades: 2
|
|
|
market_thrust_liquid_continuation_no_thrust_size_scale: 0.20
|
|
|
```
|
|
|
|
|
|
**핵심 차이:**
|
|
|
- `min_gap_pct: 0.0` — 갭 방향 무관 (0% 갭도 허용)
|
|
|
- `min_first_bar_return_pct: 0.03` — 정상 슬리브(0.7%)보다 훨씬 강한 **첫 5분봉 +3% 임펄스** 요구
|
|
|
- `min_avg_dollar_vol: $300M` — 일 평균 거래대금 기준 **초대형 유동주**만 대상
|
|
|
- `size_scale: 0.20` — 정상 risk의 20% (소규모 실험적 진입)
|
|
|
|
|
|
이 슬리브는 정상 market-thrust 슬리브와 **병렬이 아닌 보완** 관계:
|
|
|
- thrust 있는 날: 정상 market_thrust_liquid_continuation 작동 (기존 그대로)
|
|
|
- thrust 없는 날 + primary 진입 없음: no-thrust 경로로 액세스 가능
|
|
|
|
|
|
---
|
|
|
|
|
|
## 4. 엔진 구조: 다중 슬리브 아키텍처
|
|
|
|
|
|
V49.91은 단일 진입 엔진이 아닌 **계층적 멀티-슬리브** 구조를 갖는다.
|
|
|
|
|
|
```
|
|
|
[Universe: broad]
|
|
|
↓
|
|
|
[1차 필터: min_price=15, min_avg_dv=$40M, min_atr_pct=4%, min_rvol=3.0]
|
|
|
↓
|
|
|
[스코어링: rvol(0.35)+gap(0.20)+dv(0.05)+premkt_dv(0.25)+obv(0.15)+catalyst(0.15)]
|
|
|
↓
|
|
|
┌─────────────────────────────────────────────────────┐
|
|
|
│ 슬리브 계층 │
|
|
|
│ │
|
|
|
│ ① 메인 ORB 북 (gainers_leader) │
|
|
|
│ → min_rvol=3.0, min_gap=2%, max_gap=4% │
|
|
|
│ → max_simul=3, risk=5% │
|
|
|
│ │
|
|
|
│ ② Market ORB Quality Scaler (SPY/QQQ ORB 품질) │
|
|
|
│ → SPY/QQQ 첫봉 품질에 따라 size 0.4x~1.1x │
|
|
|
│ │
|
|
|
│ ③ Soft Day Fallback │
|
|
|
│ → regime/breadth 미충족 날: 축소 진입 │
|
|
|
│ → max_trades=2, size_scale=0.1x │
|
|
|
│ │
|
|
|
│ ④ Sector Confirmation │
|
|
|
│ → 같은 섹터 2개+ 동시 돌파 시 1.1x boost │
|
|
|
│ │
|
|
|
│ ⑤ Liquid Leader Conviction │
|
|
|
│ → 고득점(≥0.65) + premkt≥$50M → 2.4x size │
|
|
|
│ │
|
|
|
│ ⑥ Opening Burst (liquid) │
|
|
|
│ → 장 초반 15분 내 강한 돌파 → 1.8x size │
|
|
|
│ │
|
|
|
│ ⑦ Market Thrust Liquid Continuation (thrust 있는 날) │
|
|
|
│ → SPY/QQQ thrust 감지 + primary 없을 때 │
|
|
|
│ → liquid 갭업 추가 진입, 0.20x size │
|
|
|
│ │
|
|
|
│ ⑧ Opening Impulse Reclaim (V49.89 추가) │
|
|
|
│ → 갭 -6%~+2%, 첫봉 +2% 임펄스 │
|
|
|
│ → $3억+ 유동주 late breakout, 0.10x size │
|
|
|
│ │
|
|
|
│ ⑨ No-Thrust Liquid Impulse ★NEW in V49.91★ │
|
|
|
│ → thrust 없는 날 + primary 없을 때 │
|
|
|
│ → 갭 0~4%, 첫봉 +3%, $3억+ 유동주 │
|
|
|
│ → max_candidates=3, max_trades=2, 0.20x size │
|
|
|
│ │
|
|
|
│ ⑩ VWAP Reclaim / Soft Day VWAP │
|
|
|
│ → VWAP 재탈환 late entry, 소규모 │
|
|
|
│ │
|
|
|
│ ⑪ Risk Overlays (손실 제한) │
|
|
|
│ → crowded_gap, downside_gap, distressed 등 │
|
|
|
└─────────────────────────────────────────────────────┘
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 5. 핵심 파라미터 상세
|
|
|
|
|
|
### 5.1 후보 선별 (Universe & Screening)
|
|
|
|
|
|
| 파라미터 | 값 | 설명 |
|
|
|
|---------|-----|------|
|
|
|
| `universe.source` | broad | 광범위 유니버스 (midlarge보다 넓음) |
|
|
|
| `min_price` | 15.0 | 최저 주가 |
|
|
|
| `min_avg_dollar_volume` | $40M | 일 평균 거래대금 (유동성 기준) |
|
|
|
| `min_atr_pct` | 4% | ATR-14 / prev_close (저변동 제거) |
|
|
|
| `min_rvol` | 3.0 | 상대거래량 (V49에서 1.5→1.8→3.0) |
|
|
|
| `min_abs_gap_pct` | 2% | 최소 갭 크기 (메인 ORB) |
|
|
|
| `max_gap_pct` | 4% | 최대 갭 크기 (crowded 갭 제거) |
|
|
|
| `min_premarket_dollar_vol` | $2.5M | 프리마켓 최소 거래대금 |
|
|
|
| `max_candidates` | 16 | 최대 후보 수 |
|
|
|
| `max_candidates_per_sector` | 3 | 섹터당 최대 후보 (분산) |
|
|
|
|
|
|
### 5.2 스코어링 가중치
|
|
|
|
|
|
| 신호 | 가중치 | 설명 |
|
|
|
|------|--------|------|
|
|
|
| `weight_rvol` | 0.35 | 상대거래량 (가장 중요) |
|
|
|
| `weight_premarket_dollar_vol` | 0.25 | 프리마켓 거래대금 |
|
|
|
| `weight_gap` | 0.20 | 갭 크기 |
|
|
|
| `weight_event_catalyst` | 0.15 | DB 이벤트 catalyst (PEAD 효과) |
|
|
|
| `weight_obv_slope` | 0.15 | OBV 기울기 20d (기관 축적) |
|
|
|
| `weight_dollar_vol` | 0.05 | 일 평균 거래대금 |
|
|
|
| `weight_close_location` | 0.015 | 전일 종가 위치 |
|
|
|
| `weight_body_ratio` | 0.0 | (비활성화) |
|
|
|
|
|
|
**스코어링 철학:**
|
|
|
- rvol이 핵심 (높은 rvol = 기관/시장 관심의 proxy)
|
|
|
- OBV slope: V24에서 도입, 기관 사전 축적 신호 (G2=0.394R로 유일하게 통과한 신호)
|
|
|
- event_catalyst: V46에서 도입, PEAD(Post-Earnings Announcement Drift) 효과 활용
|
|
|
|
|
|
### 5.3 리스크 관리
|
|
|
|
|
|
| 파라미터 | 값 | 설명 |
|
|
|
|---------|-----|------|
|
|
|
| `risk_per_trade_pct` | 5% | 트레이드당 리스크 (명목; 실효 ~3.4%) |
|
|
|
| `max_position_pct` | 70% | 최대 포지션 (실효 리스크 capping 역할) |
|
|
|
| `atr_stop_multiplier` | 0.75× | ATR 기반 초기 스탑 |
|
|
|
| `breakeven_at_r` | 1.0R | 1R 도달 시 손익분기 이동 |
|
|
|
| `trailing_at_r` | 1.0R | 트레일링 스탑 시작 |
|
|
|
| `trailing_stop_atr_multiplier` | 0.6× | 트레일링 스탑 폭 |
|
|
|
| `trailing_tighten_at_r` | 1.5R | 스탑 타이트닝 시작 |
|
|
|
| `trailing_stop_atr_multiplier_tight` | 0.2× | 타이트닝 후 폭 |
|
|
|
| `partial_exit_at_r` | 1.0R | 1R 도달 시 부분 청산 |
|
|
|
| `partial_exit_pct` | 30% | 부분 청산 비율 (V48에서 재활성) |
|
|
|
| `daily_max_loss_pct` | 5% | 일일 최대 손실 |
|
|
|
| `max_stops_per_day` | 5 | 일일 스탑 최대 횟수 |
|
|
|
| `single_trade_loss_cap_pct` | 13% | 단일 트레이드 최대 손실 |
|
|
|
|
|
|
### 5.4 Drawdown Governor & Streak Sizing
|
|
|
|
|
|
| 파라미터 | 값 | 설명 |
|
|
|
|---------|-----|------|
|
|
|
| `drawdown_governor_threshold` | 2.5% | DD governor 발동 임계값 |
|
|
|
| `drawdown_governor_min_scale` | 0.30 | governor 발동 시 최소 size 비율 |
|
|
|
| `streak_sizing_win_bonus` | 1.0 | 연속 승리당 size 증가 |
|
|
|
| `streak_sizing_max` | 3.0 | streak sizing 최대 배수 |
|
|
|
|
|
|
**V23에서 확립된 핵심 메커니즘:**
|
|
|
- **Daily Budget Reset**: 매일 $10K 기준으로 sizing (복리 아닌 단리)
|
|
|
- **Streak Sizing**: 연속 승리 시 size 누적 (최대 3.0x) — 유리한 regime에서 자연스럽게 포지션 확대
|
|
|
- **DD Governor**: 단기 DD 발생 시 size 축소 → 나쁜 regime에서 손실 제한
|
|
|
|
|
|
---
|
|
|
|
|
|
## 6. Market Regime & Day Classification
|
|
|
|
|
|
```
|
|
|
┌─────────────────────────────────────┐
|
|
|
│ QQQ 장 시작 갭 │
|
|
|
└──────────────┬──────────────────────┘
|
|
|
│
|
|
|
┌────────────────────┴──────────────────────┐
|
|
|
│ │
|
|
|
≥ +0.15% < +0.15%
|
|
|
(정상 regime) (soft/skip regime)
|
|
|
│ │
|
|
|
┌─────────┴──────────┐ ┌────────────┴──────────┐
|
|
|
│ breadth ≥ 60%? │ │ soft day fallback │
|
|
|
└─────────┬──────────┘ │ (size_scale = 10%) │
|
|
|
│ └───────────────────────┘
|
|
|
┌─────────┴──────────┐
|
|
|
│ 정상 운영 │
|
|
|
│ (메인 ORB 북) │
|
|
|
└─────────┬──────────┘
|
|
|
│
|
|
|
┌─────────┴────────────────────────────────────────────────┐
|
|
|
│ 보조 슬리브 (필요 시 활성) │
|
|
|
│ - Market Thrust Liquid Continuation (thrust + no primary) │
|
|
|
│ - No-Thrust Liquid Impulse (no thrust + no primary) ★NEW│
|
|
|
│ - VWAP Reclaim, Opening Impulse Reclaim │
|
|
|
└─────────────────────────────────────────────────────────┘
|
|
|
```
|
|
|
|
|
|
**Soft Day 처리 (regime/breadth 미충족):**
|
|
|
- `soft_day_setup_profile: skip_day_reclaim_v1`
|
|
|
- 정상 진입 대신 고득점 종목만 소규모 진입 (size_scale 10%)
|
|
|
- streak sizing / settlement에서 제외 (`soft_day_exclude_from_streak: true`)
|
|
|
|
|
|
---
|
|
|
|
|
|
## 7. No-Thrust Liquid Impulse 슬리브 상세 (V49.91 신규)
|
|
|
|
|
|
### 7.1 동작 조건
|
|
|
|
|
|
```
|
|
|
market_thrust_liquid_continuation_only_when_no_primary_entries: true
|
|
|
market_thrust_liquid_continuation_only_when_no_primary_trades: true
|
|
|
```
|
|
|
|
|
|
즉, 메인 ORB 북에서 아무런 진입이 없는 날에만 활성화된다.
|
|
|
|
|
|
**No-thrust 경로 (V49.91 추가):**
|
|
|
1. Market thrust 신호 **없음** (SPY/QQQ thrust 미감지)
|
|
|
2. Primary ORB 진입 **없음**
|
|
|
3. 후보 중 다음 조건 충족:
|
|
|
- 갭: 0% ~ 4% (갭 방향 무관)
|
|
|
- 첫 5분봉 수익률: ≥ +3%
|
|
|
- 첫 5분봉 거래대금: ≥ $1M
|
|
|
- 평균 일거래대금: ≥ $300M (초대형 유동주)
|
|
|
4. 최대 3개 후보, 최대 2거래, size_scale 0.20
|
|
|
|
|
|
### 7.2 의도된 유스케이스: 2026-05-04
|
|
|
|
|
|
V49.90은 NBIS(primary 없는 날, thrust 있음)를 잡았으나 IREN(thrust 없음)은 놓쳤다.
|
|
|
V49.91은 IREN의 시나리오:
|
|
|
- 시장 thrust 없음
|
|
|
- IREN 갭 ~2% (정상 ORB 미진입)
|
|
|
- IREN 첫 5분봉 +4% 급등 → no-thrust 경로로 진입
|
|
|
|
|
|
### 7.3 거절된 대안들 (Validation)
|
|
|
|
|
|
| 접근 | 거절 이유 |
|
|
|
|------|-----------|
|
|
|
| `rejected_liquid_followthrough_today_probe` | 정상 thrust sleeve를 확장하면 낮은 품질 종목 유입 |
|
|
|
| `rejected_opening_impulse_trend_guard_200d_probe` | trend guard 추가 시 200d 성과 저하 |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 8. 복합 리스크 오버레이 (Risk Overlays)
|
|
|
|
|
|
V49 계열은 종목 특성에 따른 세분화된 리스크 규칙을 가진다:
|
|
|
|
|
|
### 8.1 갭 유형별 처리
|
|
|
|
|
|
| 갭 유형 | 조건 | 액션 |
|
|
|
|---------|------|------|
|
|
|
| **Crowded Gap** | gap≥2% + ret5d≥15% + 강한 바디 → premkt<$12M | confirm_scale (0.20x) |
|
|
|
| **Countertrend Gap** | gap≥2% + ret5d≤0 + 강한 바디 | scale (0.20x) |
|
|
|
| **Ranked Downside Gap** | gap≤-5% + premkt≤$5M | loss_cap (1.5%) |
|
|
|
| **Gap-Up Fill Exit** | gap 2~25%, premkt≤$10M, 전일 약세 | 갭 채워지면 청산 |
|
|
|
| **Thin Gap-Up Loss Cap** | gap 2.5~?, premkt≤$10M, 강한 바디 | loss_cap (0.75%) |
|
|
|
| **Moderate Downside Loss Cap** | gap -5~-10%, premkt≤$1억 | loss_cap (1.0%) |
|
|
|
|
|
|
### 8.2 이력 기반 필터
|
|
|
|
|
|
| 필터 | 목적 |
|
|
|
|------|------|
|
|
|
| `conditional_gap_zscore_reject_above: 2.5` | 비정상적으로 큰 갭 (ret5d 음수 시) 거절 |
|
|
|
| `rolling_loss_days: 7, threshold: -7%` | 최근 7일 -7% 초과 손실 시 거래 중단 |
|
|
|
| `min_breakout_rel_vol: 1.2` | 돌파 시 ORB 평균 대비 1.2배 이상 거래량 요구 |
|
|
|
|
|
|
### 8.3 특수 진입 유형
|
|
|
|
|
|
| 유형 | 조건 | 크기 |
|
|
|
|------|------|------|
|
|
|
| **Distressed Reclaim** | 갭≤-5% + ret5d≤-10% + premkt≥$1억 | 10% size + 2% loss cap |
|
|
|
| **Hot Reclaim** | 갭≥5% + ret5d≥30% + 강한 바디 | 20% size + 0.5% loss cap |
|
|
|
| **Weak Downside Reclaim** | 갭≥2% + ret5d≥50% + 약한 바디 | loss_cap 3% |
|
|
|
| **Stalled Gap-Up** | 갭 2~8% + premkt≤$5M + 약한 바디 | 10% size reserve |
|
|
|
| **Liquid Stalled Gap-Up** | 갭 2~8% + premkt≥$5M + 약한 바디 | 10% size reserve |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 9. 백테스트 결과 및 현재 검증 상태
|
|
|
|
|
|
### 9.1 V49 (core) 확정 성과
|
|
|
|
|
|
| 지표 | 200d | 400d |
|
|
|
|------|------|------|
|
|
|
| 수익률 | **+155.58%** | **+259.96%** |
|
|
|
| Max DD | -10.91% | -9.21% |
|
|
|
| Sharpe | 3.877 | 3.404 |
|
|
|
| 거래 수 | 166 | 373 |
|
|
|
|
|
|
*기준: daily_budget_reset=true, compound_returns=false, $10K initial*
|
|
|
|
|
|
### 9.2 V49.91 검증 데이터
|
|
|
|
|
|
| 프로브 | 윈도우 | 결과 |
|
|
|
|--------|--------|------|
|
|
|
| `no_thrust_midliquid_today_probe` | 당일(2026-05-04) | IREN 포착 확인 |
|
|
|
| `no_thrust_liquid_impulse_60d_probe` | 60d | 참조: `tmp/v49_91_no_thrust_liquid_impulse_60_probe/` |
|
|
|
| `no_thrust_liquid_impulse_200d_probe` | 200d | 참조: `tmp/v49_91_no_thrust_liquid_impulse_200_probe/` |
|
|
|
|
|
|
**주의:** V49.91은 아직 `candidate` 상태다. 정식 200d/400d 프로모션 게이트를 통과하지 않았다. 실험적 슬리브로서 메인 ORB 북에 독립적으로 추가되므로 하방 리스크는 제한적이나, 상방 기여도는 아직 미검증.
|
|
|
|
|
|
### 9.3 V49 계열 (V48→V49 개선 요인)
|
|
|
|
|
|
V48 대비 V49의 +12.32pp (400d) 개선은 `min_rvol: 1.5→1.8` 단 하나의 변경으로 달성:
|
|
|
- rvol이 낮은(1.5~1.8x) 저신뢰도 후보 제거
|
|
|
- 남은 후보는 더 강한 momentum 신호를 가짐
|
|
|
- 동시에 400d 거래 수는 오히려 증가(367→373) — 품질 향상이지 거래량 감소가 아님
|
|
|
|
|
|
---
|
|
|
|
|
|
## 10. V49 서브버전 개발 맥락
|
|
|
|
|
|
V49.77부터 V49.93까지의 서브버전들은 **핵심 V49 파라미터는 고정한 채** broad 유니버스에서 새로운 진입 기회를 포착하는 보조 슬리브를 탐색한다.
|
|
|
|
|
|
### 10.1 개발 흐름
|
|
|
|
|
|
```
|
|
|
V49 (core: min_rvol=1.8)
|
|
|
└─ V49.77: 소유구조 기반 initial size scaling
|
|
|
└─ V49.79: 비지지 attention 약세 governor
|
|
|
└─ V49.80: broad gapup continuation 시도
|
|
|
└─ V49.81: SPY/QQQ market thrust override 도입
|
|
|
└─ V49.82: market thrust + liquid continuation 슬리브
|
|
|
└─ V49.83: market thrust + opening burst 모드
|
|
|
└─ V49.84: gapup continuation 비활성 (negative EV 확인)
|
|
|
└─ V49.85: institutional 슬리브
|
|
|
└─ V49.86: opening structure micro
|
|
|
└─ V49.87: soft day budget repair
|
|
|
└─ V49.88: unsupported attention governor
|
|
|
└─ V49.89: opening impulse reclaim (갭 -6%~+2%, 첫봉 2%+)
|
|
|
└─ V49.90: liquid leader impulse repair (thrust 있는 날)
|
|
|
└─ V49.91: no-thrust liquid impulse (thrust 없는 날) ← 현재
|
|
|
└─ V49.93: ORB idle overnight sleeve
|
|
|
```
|
|
|
|
|
|
### 10.2 누적 슬리브에 포함된 주요 기능들
|
|
|
|
|
|
V49.91 전략 파일은 standalone YAML 기준으로 다음 기능을 포함한다:
|
|
|
|
|
|
1. **Market ORB Quality Scaler** (SPY/QQQ ORB 캔들 품질 → size 조정)
|
|
|
2. **Soft Day Fallback** (regime/breadth 미충족 시 소규모 진입)
|
|
|
3. **Sector Confirmation** (동일 섹터 동반 돌파 보너스)
|
|
|
4. **Liquid Leader Conviction** (초우량주 고신뢰 진입 2.4x)
|
|
|
5. **Opening Burst** (15분 내 초기 돌파 1.8x)
|
|
|
6. **Market Thrust Liquid Continuation** (thrust 있는 날 liquid 계속)
|
|
|
7. **Opening Impulse Reclaim** (V49.89에서 추가)
|
|
|
8. **No-Thrust Liquid Impulse** ← V49.91에서 신규 추가
|
|
|
|
|
|
---
|
|
|
|
|
|
## 11. 알려진 한계 및 주의사항
|
|
|
|
|
|
### 11.1 레짐 의존성 (CRITICAL)
|
|
|
|
|
|
V23 분석에서 확인된 구조적 취약점:
|
|
|
- **600d 백테스트**: -51.25% DD — 전략이 2024~2026 고ATR 모멘텀 레짐에 특화됨
|
|
|
- 2024년 이전(특히 2023년 하반기) 다른 레짐에서는 심각한 DD 가능성
|
|
|
- **권고사항**: 라이브 배포 시 계좌 레벨 서킷브레이커 설정 (고점 대비 -25% 시 일시 중단)
|
|
|
|
|
|
### 11.2 V49.91 슬리브 특이사항
|
|
|
|
|
|
- **실험적 상태**: 200d/400d 정식 게이트 미통과
|
|
|
- **소규모 포지션**: size_scale 0.20 (정상의 20%) → 메인 북에 미미한 영향
|
|
|
- **no-trade-day 빈도 낮음**: primary 진입이 없는 날만 활성 → 연간 수십 회 수준 예상
|
|
|
- **단순성**: 3% 첫봉 임계값은 단순하지만 거짓 신호 위험 존재 (빠른 역전)
|
|
|
|
|
|
### 11.3 레지스탕스 레벨 테스트 (검증 필요)
|
|
|
|
|
|
V49.91의 no-thrust 슬리브가 200d/400d 전체 성과에 미치는 영향이 아직 완전히 검증되지 않았다. `no_thrust_liquid_impulse_200d_probe` 결과를 반드시 검토 후 정식 운용 여부를 결정해야 한다.
|
|
|
|
|
|
---
|
|
|
|
|
|
## 12. 라이브 운용 참고사항
|
|
|
|
|
|
### 12.1 일일 체크리스트
|
|
|
|
|
|
```
|
|
|
09:20 ET 이전:
|
|
|
□ Oracle 데이터 갱신 완료 확인 (09:20 ET 전 필수)
|
|
|
□ DB 스냅샷 최신화 (daily_bar_snapshot_id, prior_event_snapshot_id)
|
|
|
|
|
|
09:25 ET:
|
|
|
□ 스케줄러 자동 시작
|
|
|
□ QQQ 갭 확인 (≥+0.15% = 정상 regime)
|
|
|
□ breadth 확인 (≥60% = 정상 운영)
|
|
|
|
|
|
장 중:
|
|
|
□ 서킷브레이커 모니터링 (계좌 -25% 시 수동 중단)
|
|
|
□ rolling_loss 트리거 여부 확인
|
|
|
```
|
|
|
|
|
|
### 12.2 스냅샷 설정
|
|
|
|
|
|
```yaml
|
|
|
daily_bar_snapshot_id: orb_daily_v46_20260423
|
|
|
prior_event_snapshot_id: orb_pead_d10_v46_20260423
|
|
|
```
|
|
|
|
|
|
이 스냅샷들은 백테스트 재현성을 위해 고정되어 있다. 실시간 운용에서는 최신 스냅샷으로 교체 필요.
|
|
|
|
|
|
---
|
|
|
|
|
|
## 13. 핵심 인사이트 요약
|
|
|
|
|
|
V49.91을 이해하기 위한 3가지 핵심 통찰:
|
|
|
|
|
|
**① 엣지의 원천은 "당일 비정상 관심"**
|
|
|
높은 rvol + 강한 갭 + 기관 축적(OBV) + 사전 catalyst가 결합할 때 ORB 돌파 후 이어달리기(continuation)가 발생한다. 이 중 하나라도 빠지면 WR이 급감.
|
|
|
|
|
|
**② regime 필터는 보호막이지 제한이 아님**
|
|
|
QQQ +0.15% 필터를 제거하면 수익이 반토막(-51pp). regime 나쁜 날 2개의 손실이 rolling_loss gate를 촉발해 그 이후 좋은 날까지 막는 "오염 효과" 때문.
|
|
|
|
|
|
**③ 슬리브는 메인 북을 보완하지 대체하지 않음**
|
|
|
모든 보조 슬리브(thrust, impulse, VWAP reclaim)는 메인 ORB가 진입하지 않는 날/경우에만 작동한다. 이 독립성이 전체 포트폴리오의 안정성을 유지한다.
|
|
|
|
|
|
---
|
|
|
|
|
|
*문서 작성: 2026-05-05 | 기반 데이터: project_orb_gainers_lineage.md, V49.90/V49.91 YAML 설정*
|