> **문서 상태:** v0.1 Draft (2026-04-22 작성)
> **전신:** v6~v10 (전면 폐기 — `archive/design-docs-legacy/` 참조)
> **목적:** Binance 선물 자동매매에서 **일 평균 0.6~1.0% 누적 수익률**을 달성하는 6-알파 앙상블 아키텍처
> **검증:** 6명 병렬 전문가 (수학·HFT/MM·Stat Arb·리스크·ML/RL·이벤트알파) 교차 검증 완료

---


1.1 측정된 실패 (실거래 191건, 5일간 dashboard 40건)

- 장부상 승률 37.7%, R/R 2.2 → 수학적으로 +여야 하나 실제 -<illustrative-loss> 드레인
- ledger 순손익 -$0.16 vs 실제 -<illustrative-loss> → **$9 이상이 장부 무반영 (funding·grid 인벤토리)**
- MAE/MFE 전 거래 0 기록 → 진단 불능
- exit 100% `SERVER_SIDE_TP_SL` → 매니지드 exit 경로 미활성 → MAE/MFE 훅 미호출
- 백테스트 BTC 2년 127,471승 0패 → **fill 로직 버그 또는 lookahead bias**, 생존편향


1. **9 에이전트 × 3 엔진 × 5 게이트** = 디버깅 불가능한 복잡계
2. **그리드 ping-pong** — 쌍 완성시에만 장부 기록, 편향 인벤토리 영구 누락 (근본 drain 원인)
3. **백테스트 허구** — 수수료/슬리피지/funding/grid-inventory 미반영
4. **리스크 거버너 1x 전제** 코드 위에 가변 레버리지 얹음 (구조적 모순)
5. **증거 없는 전략** — SmartTrend 76건 40.8% WR는 95% CI ±11%p → 통계적 무의미

---


2. v11의 기본 철학

> **증거 기반 앙상블 · 관측 투명성 · 레버리지는 Kelly 이론 하한에서 시작**

| 원칙 | v10 이전 | v11 |
|---|---|---|
| 전략 | 단일 또는 9개 | **6개 저상관 알파 앙상블** |
| 선정 기준 | 주관 + 판타지 백테스트 | **학술 검증 + shadow 2주 증명** |
| 레버리지 | 1~10x 적응형 (코드 모순) | **최대 5x (Kelly/3 안전계수)** |
| 관측 | MAE/MFE=0 | **tick-level MAE/MFE 필수** |
| 백테스트 | 127k승 0패 허구 | **tick-level + 실수수료/슬리피지/funding** |
| 계측 | 장부 -$0.16 vs 실제 -<illustrative-loss> | **funding+grid-inventory 삼중 집계** |
| 리스크 | 5봉 쿨다운 | **7종 킬스위치 + 24h persist halt** |

---


3. 6-알파 앙상블 구조

```
[A1] Liquidation Cascade      ← primary alpha (일 0.4~0.6%)
[A2] Mean Reversion (OU)      ← 고빈도 스캘핑 (일 0.3~0.8%)
[A3] Extreme Funding Reverse  ← 역포지션 (일 0.2~0.3%)
[A4] Macro Event Bracket      ← CPI/FOMC (이벤트일 0.5~1.2%)
[A5] Funding+Basis Harvest    ← 델타중립 안정축 (일 0.05~0.15%)
[A6] Alt Market Making        ← LINK/SUI/APT (일 0.1~0.3%)

이론 합계:     일 1.55~3.45%
상관·경합 보정: 일 0.6~1.2% (상위분위 달성)
```

> **⚠ 2026-04-24 외부 교차검증 경고 (Phase 0 착수 전 재정의 예정)**
> 근거: [research/2026-04-24-external-validation.md](research/2026-04-24-external-validation.md)
> - **A1 (40%)** — Binance `forceOrder` WS 는 2021-04-27부터 **심볼당 1초 1건 truncation** (공식 미수정). 공개 walk-forward 실적 1건 (Curupira, Sharpe 미공개). **외부 Sharpe 벤치마크 부재가 최대 모델 리스크**.
> - **A2 (25%)** — 순수 OU mean reversion 은 **post-2022 crypto 에서 대부분 사멸** (공개 증거 다수). A1 동조 게이트 + Engle-Granger 코인테그레이션 + regime veto 가 붙은 뒤에만 유지 가능. Phase 0 페이퍼에서 **A1-동조 Sharpe vs A1-독립 Sharpe 분리 계측** 후 재정의.
> - **A3 (15% 의 일부)** — Binance/BitMEX baseline `0.01%/8h tightly anchored`, 기관 arb 가 극단치 수 분 내 정리. **진입 임계 `|F| > 0.08%` 로 상향** + liquidation cluster + basis 동반 필터 필요.
> - **A5 (15% 의 일부)** — Ethena 가 2025년 futures 비중 `93% → 11%` 로 자체 축소, aggregated funding 50% 압축. **aggregated 30일 median funding `< 0.007%/8h` 시 A5 가중치 실질 0% capacity guard** 필수.
>
> **재정의 게이트**: 위 경고는 Phase 0 페이퍼 모드 2-4주 데이터 수집 후 공식 근거로 A2/A5 가중치 재계산. 외부 증거만으로 지금 재계산하지 않는 이유는 overfit-to-research 방지.


```
40% → A1 Liquidation Cascade   레버리지 5x   (⚠ 외부 벤치마크 부재)
25% → A2 Mean Reversion         레버리지 3x   (⚠ A1 동조 조건부 유지)
15% → A5+A3 Funding/Basis       레버리지 5x (델타중립)   (⚠ capacity/임계 게이트 필수)
10% → A6 알트 MM                레버리지 2x
10% → A4 이벤트 탄환            레버리지 3x
```

통합 실효 레버리지 ≈ **3.5x** (Kelly 상한 6.25x 이내)


각 알파는 별도 문서로 관리:
- [ALPHA_SPECS/A1_liquidation_cascade.md](alpha-specs/A1_liquidation_cascade.md)
- [ALPHA_SPECS/A2_mean_reversion_ou.md](alpha-specs/A2_mean_reversion_ou.md)
- [ALPHA_SPECS/A3_extreme_funding.md](alpha-specs/A3_extreme_funding.md)
- [ALPHA_SPECS/A4_macro_event.md](alpha-specs/A4_macro_event.md)
- [ALPHA_SPECS/A5_funding_basis_harvest.md](alpha-specs/A5_funding_basis_harvest.md)
- [ALPHA_SPECS/A6_alt_market_making.md](alpha-specs/A6_alt_market_making.md)

---


4.1 기대 수익률 분포


5.1 데이터 소스 (무료 우선)

- **실시간 청산**: Binance WS `!forceOrder@arr` (무료, <100ms)
- **Funding/OI**: Binance `/fapi/v1/premiumIndex`, Coinalyze free (200req/min)
- **청산 heatmap**: CoinGlass API v4 free tier
- **매크로 스케줄**: ForexFactory, FRED (무료)
- **뉴스 센티먼트**: Cryptopanic free
- **온체인**: CryptoQuant Community (무료)
- **과거 tick 재생**: tardis-machine (페이퍼 검증용)


- **VM 리전 이전**: 현재 `asia-northeast3-a` → `ap-northeast-1` (Tokyo)
  - RTT 15ms → **3ms**
  - Binance 서버 동일 리전
  - 예상 비용 증가 없음 (GCP e2-medium 동일)


5.3 외부 라이브러리

- **cryptofeed** (Python): 다중 거래소 WS 통합 (liquidation/funding)
- **Hummingbot**: 알트 MM 엔진 (bridge로 호출)
- **nautilus-trader**: tick-level 백테스트 참조 구현
- **CCXT Pro**: 다중 거래소 WS (Binance + Bybit 확장시)

---


별도 문서: [RISK_KILLSWITCH.md](RISK_KILLSWITCH.md)

핵심:
1. 틱별 자동 손절 (STOP_MARKET 거래소측)
2. 일일 MaxDD 5% → **24h persistent halt** (Supabase `halt_until`)
3. Cross-asset correlation kill (5분봉 동시 -3%)
4. WS/Exchange fail-closed
5. Flash crash 시나리오 (-20%/-50%/-99% LUNA급)
6. MMR 기반 실청산가 재계산 (Binance `/fapi/v1/leverageBracket`)
7. Clock drift + Rate limit + Stale data guard

---


- MAE/MFE: 매니지드 exit 경로 강제 활성 + 별도 틱 기록 (서버사이드 TP/SL 호출시에도 기록)
- 모든 거래: entry_price, exit_price, max_adverse_pct, max_favorable_pct, hold_ticks, funding_paid, fee_paid, slippage_bps


- Realized PnL
- Unrealized PnL (그리드/MM inventory 포함)
- Funding PnL (누적)
- Fee PnL (taker/maker 분리)


- 알파별 PnL/Sharpe/trades
- 알파 간 상관계수 매트릭스
- Kill switch 발동 로그
- shadow vs live 괴리

---


8. 실행 로드맵 요약

상세: [ROADMAP.md](ROADMAP.md)

```
Phase -1 (1주)  지혈 + 관측복구 + Critical 리스크버그 7개 수정
Phase 0  (1주)  인프라 대수술 (cryptofeed, forceOrder, backtest v2)
Phase 1  (2주)  알파 개별 shadow 증명 (Sharpe>1.2, p<0.05 통과한 것만)
Phase 2  (2주)  소액 라이브 $100~$500 (레버리지 3x 시작)
Phase 3         자본 증액 + 레버리지 단계 상향 (일 0.5% → 0.6% → 0.8%)
```

---


9. 현재 코드 재사용 매핑

상세: [CURRENT_CODE_AUDIT.md](CURRENT_CODE_AUDIT.md)

- **유지**: WS/데이터피드, position-registry, event-risk-gate, news-updater, meta-classifier, supabase-sync
- **제거**: grid-order-manager, smart-trend-engine, 9 에이전트 중 8개, 모든 `backtest-*.js`
- **신규**: liquidation-hunter-agent, macro-event-agent, alt-mm-engine, liquidation-stream, mmr-monitor, correlation-killer, backtest v2

---


- v11 Master Design 작성자: Claude Code (Opus 4.7 1M)
- 검증: 6 병렬 전문가 (교차 검증 완료)
- 최종 승인: 사용자 (2026-04-22 "설계문서화 + 정리" 지시)
- 문서 SSOT: `docs/v11-ensemble/` (본 트리)
- 레거시 격리: `archive/` (backtest-fantasy, design-docs-legacy, README-legacy)

---


- López de Prado, M. (2018). *Advances in Financial Machine Learning*
- Bailey & López de Prado (2014). "The Deflated Sharpe Ratio", *JPM*
- Thorp, E. (1969). "Optimal Gambling Systems for Favorable Games"
- Kelly, J. L. (1956). "A New Interpretation of Information Rate"
- Cartea, Jaimungal, Penalva (2015). *Algorithmic and High-Frequency Trading*
- Chan, E. (2013). *Algorithmic Trading*
- Avellaneda & Stoikov (2008). "High-frequency trading in a limit order book"
- Liu & Tsyvinski (2021). "Risks and Returns of Cryptocurrency", *RFS*


> **SSOT:** 본 트리 (`docs/v11-ensemble/`)가 v11 설계의 Single Source of Truth
> **전신:** v6~v10 문서는 `archive/design-docs-legacy/`로 이동 (참고만)
> **작성일:** 2026-04-22
> **승인:** 사용자 "설계문서화 + 정리" 지시 (2026-04-22)

---


```
docs/v11-ensemble/
├── INDEX.md                         ← 본 파일 (진입점)
├── MASTER_DESIGN.md                 ← 전체 아키텍처 (필독)
├── ROADMAP.md                       ← Phase -1 ~ 3 실행 계획
├── RISK_KILLSWITCH.md               ← 7-Layer 리스크 엔지니어링
├── CURRENT_CODE_AUDIT.md            ← 유지/제거/신규 모듈 매핑
│
├── alpha-specs/                     ← 6개 알파 개별 스펙
│   ├── A1_liquidation_cascade.md    ← ⭐ Primary (일 0.4~0.6%)
│   ├── A2_mean_reversion_ou.md      ← 고빈도 (일 0.3~0.8%)
│   ├── A3_extreme_funding.md        ← 역포지션 (일 0.2~0.3%)
│   ├── A4_macro_event.md            ← CPI/FOMC (이벤트일 0.5~1.2%)
│   ├── A5_funding_basis_harvest.md  ← 델타중립 (일 0.05~0.15%)
│   └── A6_alt_market_making.md      ← MM (일 0.1~0.3%)
│
├── expert-reports/                  ← 6명 병렬 전문가 보고서 원본
│   ├── 01_math_boundary.md          ← 수학적 경계 분석
│   ├── 02_hft_mm_strategies.md      ← HFT/MM 실전 전략
│   ├── 03_stat_arb.md               ← Statistical Arbitrage
│   ├── 04_risk_survival.md          ← 리스크/생존 분석
│   ├── 05_ml_rl.md                  ← ML/RL adaptive
│   └── 06_event_alpha.md            ← 이벤트 드리븐 알파
│
├── research/                        ← 외부 교차검증 리서치
│   └── 2026-04-24-external-validation.md   ← Phase 0 착수 전 5축 외부 검증
│
├── incidents/                       ← 장애 / 사건 기록
│   └── 2026-04-24-01-launch-live-paper-safeguard.md
│
├── phase-gate--1.md                 ← Phase -1 게이트 (2026-04-24 closure)
├── phase-gate-0.md                  ← Phase 0 스캐폴드 (pre-start, 외부 교차검증 반영)
├── weekly-review-2026-W17.md        ← 주간 리뷰
└── backtest-v2-engine-decision.md   ← Backtest v2 엔진 선택 결정
```

---


index/v11_Ensemble_문서_인덱스/_읽는_순서/처음_온_경우

1. **[MASTER_DESIGN.md](MASTER_DESIGN.md)** — 핵심 철학과 6-알파 구조 (5분)
2. **[ROADMAP.md](ROADMAP.md)** — 실행 단계 (Phase -1 ~ 3)
3. **[alpha-specs/](alpha-specs/)** 중 관심 알파 1~2개


index/v11_Ensemble_문서_인덱스/_읽는_순서/개발자_구현_착수_

1. [CURRENT_CODE_AUDIT.md](CURRENT_CODE_AUDIT.md) — 어떤 코드 유지/삭제/신규
2. [RISK_KILLSWITCH.md](RISK_KILLSWITCH.md) — 구현 전 필수 리스크 수정
3. [alpha-specs/](alpha-specs/) — 담당 알파 스펙


1. [expert-reports/](expert-reports/) — 6명 전문가 원본 보고서
2. [MASTER_DESIGN.md](MASTER_DESIGN.md) — 합의 결론
3. [research/2026-04-24-external-validation.md](research/2026-04-24-external-validation.md) — 외부 공개 근거 교차검증 (Phase 0 직전)

---


index/v11_Ensemble_문서_인덱스/_핵심_합의_사항_6전문가_교차_검증_

🔑 핵심 합의 사항 (6전문가 교차 검증)

| 주제 | 결론 |
|---|---|
| 일 1% 지속 가능성 | ❌ 기관 공개 사례 0건. 단기만 가능 |
| 현실 목표 | 일 0.6~1.0% (6-알파 앙상블) |
| 레버리지 상한 | **5x (Kelly/3)** — 무제한 감수 의사 있어도 |
| 365일 생존확률 (5x) | ~68% |
| 365일 생존확률 (20x) | 2% |
| 백테스트 재작성 | 필수 (tick-level + 실수수료/슬리피지/funding) |
| 페이퍼 검증 | 2주 (알파별) + 30일 통합 |
| 자본 전제 | $100+ 권장 (현재 $29) |

---


- v6 `DESIGN-v7-daily-1pct.md` — 낙관적 백테스트 기반, 실거래 증명 실패
- v8 SmartTrend 단일 전략 — 통계적 유의성 없음 (76건 40.8% WR)
- v8.x Grid Engine — 장부 누락 버그 (실제 drain 원인)
- v9 ROADMAP — 리스크 1x 전제에 가변 레버리지 얹은 구조적 모순

→ 상세: `archive/design-docs-legacy/`

---


- 본 트리는 v11 **설계 SSOT**. 코드와 불일치시 **문서 우선 수정** 원칙
- 구현 완료시 해당 스펙 문서 하단에 **구현 노트** 섹션 추가
- Phase 전환시 `phase-gate-Nx.md` 체크리스트 신규 작성
- 주간 리뷰: `weekly-review-YYYY-WW.md` (Phase 1 진입 후)
- 장애: `incidents/YYYY-MM-DD.md`

---


- 프로젝트 런타임 상태: `.agent/shared-brain/status.json`
- 진행중 태스크: `.agent/shared-brain/active-tasks.md`
- 신·구 문서 매핑: `archive/README-legacy/README.md.pre-v11`
- 전체 neo-genesis 규칙: `.agent/NEO_MASTER_RULES.md`

---


Phase -1 착수시:
1. `docs/v11-ensemble/phase-gate--1.md` 체크리스트 생성
2. Task -1.1 (VM 페이퍼 모드 전환) — 사용자 승인 게이트
3. Task -1.2 (Critical 버그 수정) — PR 단위 진행


v11 현재 코드 재사용/제거/신규 감사

> **기준일:** 2026-04-22
> **감사자:** Claude Code + 6 병렬 전문가 교차 검증
> **용도:** Phase -1 ~ 2 구현 가이드

---


| 파일 | 용도 | v11 변경 |
|---|---|---|
| [src/core/ws-connection-manager.js](../../src/core/ws-connection-manager.js) | Binance WS 연결 | reconnect 로직 강화 |
| [src/core/ws-data-feed.js](../../src/core/ws-data-feed.js) | OHLCV 데이터 피드 | stale detection 추가 |
| [src/core/multi-tf-fetcher.js](../../src/core/multi-tf-fetcher.js) | 멀티 타임프레임 | 그대로 유지 |
| [src/core/position-registry.js](../../src/core/position-registry.js) | 포지션 생명주기 | MAE/MFE 훅 강제 호출 |
| [src/core/symbol-utils.js](../../src/core/symbol-utils.js) | 심볼 정규화 | 그대로 |
| [src/core/state-manager.js](../../src/core/state-manager.js) | 상태 관리 | 그대로 |
| [src/core/state-snapshot.js](../../src/core/state-snapshot.js) | 스냅샷 | 그대로 |


| 파일 | 용도 | v11 변경 |
|---|---|---|
| [src/core/supabase-sync.js](../../src/core/supabase-sync.js) | Supabase 동기화 | funding/fee 분리 집계 추가 |
| [src/monitoring/health-monitor.js](../../src/monitoring/health-monitor.js) | 헬스체크 | 그대로 |
| [src/monitoring/logger.js](../../src/monitoring/logger.js) | 로거 | 그대로 |
| [src/monitoring/notifier.js](../../src/monitoring/notifier.js) | 텔레그램 | kill switch 알림 추가 |
| [src/monitoring/trade-ledger-collector.js](../../src/monitoring/trade-ledger-collector.js) | 장부 | 수수료/펀딩 정확화 |
| [src/core/risk-governor.js](../../src/core/risk-governor.js) | 리스크 거버너 | **6개 버그 수정** (RISK_KILLSWITCH.md 참조) |
| [src/core/risk-feed.js](../../src/core/risk-feed.js) | 리스크 피드 | **fail-closed 버그 수정** |
| [src/core/risk-policy-engine.js](../../src/core/risk-policy-engine.js) | 리스크 정책 | fail-open → fail-closed |
| [src/core/rate-limit-governor.js](../../src/core/rate-limit-governor.js) | Rate limit | 감사 + 강화 |


| 파일 | 용도 | v11 변경 |
|---|---|---|
| [src/core/event-risk-gate.js](../../src/core/event-risk-gate.js) | 이벤트 게이트 | **A4 매크로이벤트 진입기로 확장** |
| [src/core/news-snapshot-updater.js](../../src/core/news-snapshot-updater.js) | 뉴스 | A4 데이터 피드 |
| [src/core/market-context.js](../../src/core/market-context.js) | 시장 컨텍스트 | HMM regime 추가 예정 |
| [src/core/capital-tier-router.js](../../src/core/capital-tier-router.js) | 자본 배분 | 알파별 배분으로 재설계 |
| [src/core/runtime-coordinator.js](../../src/core/runtime-coordinator.js) | 런타임 조정 | halt_until 컬럼 연동 |
| [src/core/runtime-guardrails.js](../../src/core/runtime-guardrails.js) | 가드레일 | 그대로 |
| [src/core/signal-gate.js](../../src/core/signal-gate.js) | 시그널 게이트 | 알파별 분기 |
| [src/core/universe-selector.js](../../src/core/universe-selector.js) | 유니버스 | 알파별 대상 |


current-code-audit/v11_현재_코드_재사용_제거_신규_감사/_유지_Keep_21개_모듈/에이전트_중_유일하게_유지

에이전트 중 유일하게 유지

| 파일 | 역할 | v11 변경 |
|---|---|---|
| [src/agents/base-agent.js](../../src/agents/base-agent.js) | 베이스 클래스 | 그대로 |
| [src/agents/mean-revert-agent.js](../../src/agents/mean-revert-agent.js) | **A2 엔진** | OU half-life 동적 추정 추가 |


| 파일 | 용도 | v11 변경 |
|---|---|---|
| [src/ml/meta-classifier.js](../../src/ml/meta-classifier.js) | 메타분류기 | **veto-only 모드** (진입 추가 금지) |


| 파일 | 용도 | v11 변경 |
|---|---|---|
| [src/execution/futures-executor.js](../../src/execution/futures-executor.js) | 선물 실행 | Layer 1 STOP_MARKET 자동 전송 |
| [src/execution/execution-planner.js](../../src/execution/execution-planner.js) | 실행 계획 | 그대로 |


| 파일 | v11 역할 | 변경 |
|---|---|---|
| [src/engines/funding-harvest-manager.js](../../src/engines/funding-harvest-manager.js) | **A5 엔진** | spot 연결 + 델타중립 자동화 |

---


current-code-audit/v11_현재_코드_재사용_제거_신규_감사/_제거_아카이브_Remove_13개_모듈/에이전트_8개_폐기_

에이전트 (8개 폐기)

이유: 통계적 증거 부재 + orchestrator 복잡도 폭발 + 실거래 결과 부진

- [src/agents/breakout-agent.js](../../src/agents/breakout-agent.js)
- [src/agents/trend-ride-agent.js](../../src/agents/trend-ride-agent.js) — 실거래 WR 36.8%
- [src/agents/funding-agent.js](../../src/agents/funding-agent.js) — A5로 대체
- [src/agents/dca-agent.js](../../src/agents/dca-agent.js)
- [src/agents/momentum-agent.js](../../src/agents/momentum-agent.js) — 실거래 WR 36.7%
- [src/agents/basis-agent.js](../../src/agents/basis-agent.js) — A5로 대체
- [src/agents/kimchi-agent.js](../../src/agents/kimchi-agent.js)
- [src/agents/bear-slap-agent.js](../../src/agents/bear-slap-agent.js)
- [src/agents/bear-market-agent.js](../../src/agents/bear-market-agent.js)


current-code-audit/v11_현재_코드_재사용_제거_신규_감사/_제거_아카이브_Remove_13개_모듈/엔진_2개_폐기_

- [src/engines/grid-order-manager.js](../../src/engines/grid-order-manager.js) — **장부 누락 Critical 버그** (실제 drain $9 원인)
- [src/engines/smart-trend-engine.js](../../src/engines/smart-trend-engine.js) — 76건 40.8% WR 통계적 유의성 없음
- [src/engines/smart-trend-feedback.js](../../src/engines/smart-trend-feedback.js) — smart-trend 종속


current-code-audit/v11_현재_코드_재사용_제거_신규_감사/_제거_아카이브_Remove_13개_모듈/백테스트_전면_폐기_

백테스트 (전면 폐기)

이유: 127k승 0패 등 판타지 결과

이미 이동 완료:
- `archive/backtest-fantasy/backtest-2020-2023.json`
- `archive/backtest-fantasy/backtest-2y-*.json` (5개)
- `archive/backtest-fantasy/backtest-v75-*.json` (4개)
- `archive/backtest-fantasy/backtest-hardcore.json`
- `archive/backtest-fantasy/backtest-optimal.json`
- `archive/backtest-fantasy/backtest-regimes-results.json`
- `archive/backtest-fantasy/backtest-results.json`


current-code-audit/v11_현재_코드_재사용_제거_신규_감사/_제거_아카이브_Remove_13개_모듈/백테스트_스크립트

Phase 0에서 [src/backtest/v2/](../../src/backtest/v2/) 재작성 후 기존 스크립트 아카이브:
- `src/scripts/backtest-2020-2023.js`
- `src/scripts/backtest-2y*.js` (5개)
- `src/scripts/backtest-hardcore.js`
- `src/scripts/backtest-optimal.js`
- `src/scripts/backtest-regimes.js`
- `src/scripts/backtest-real.js`
- `src/scripts/backtest-v75*.js` (4개)
- `src/scripts/sim-v7.js`


current-code-audit/v11_현재_코드_재사용_제거_신규_감사/_제거_아카이브_Remove_13개_모듈/기타

- `src/engines/smart-trend-feedback.js` — smart-trend 종속

---


| 파일 | 용도 | 근거 |
|---|---|---|
| `src/core/liquidation-stream.js` | Binance forceOrder WS + cluster 감지 | A1 필수 데이터 |
| `src/core/mmr-monitor.js` | Binance leverageBracket 기반 실청산가 | Kill Switch Layer 6 |
| `src/core/correlation-killer.js` | 심볼간 동시 하락 감지 | Kill Switch Layer 3 |
| `src/backtest/v2/engine.js` | tick-level + 실수수료/슬리피지/funding | 백테스트 허구 차단 |
| `src/backtest/v2/fill-simulator.js` | orderbook depth 기반 slippage | 실제 체결 모델링 |
| `src/backtest/v2/inventory-tracker.js` | grid/MM 미실현 PnL 추적 | 장부 누락 방지 |


| 파일 | 역할 | 기대 기여 |
|---|---|---|
| `src/agents/liquidation-hunter-agent.js` | A1 청산 캐스케이드 역매매 | 일 0.4~0.6% |
| `src/agents/extreme-funding-agent.js` | A3 극단 펀딩 역포지션 | 일 0.2~0.3% |
| `src/agents/macro-event-agent.js` | A4 CPI/FOMC 이벤트 | 이벤트일 0.5~1.2% |
| `src/engines/alt-mm-engine.js` | A6 알트 market making | 일 0.1~0.3% |


| 파일 | 용도 |
|---|---|
| `src/ensemble/alpha-allocator.js` | 6개 알파 자본 배분 오케스트레이터 |
| `src/ensemble/correlation-monitor.js` | 알파 간 상관계수 실시간 계산 |

---


🗂 디렉토리 재조직 (Phase -1 말)

```
auto-trading/
├── docs/
│   └── v11-ensemble/           ← 현 v11 SSOT
│       ├── MASTER_DESIGN.md
│       ├── ROADMAP.md
│       ├── RISK_KILLSWITCH.md
│       ├── CURRENT_CODE_AUDIT.md (이 파일)
│       ├── alpha-specs/
│       │   ├── A1_liquidation_cascade.md
│       │   ├── A2_mean_reversion_ou.md
│       │   ├── A3_extreme_funding.md
│       │   ├── A4_macro_event.md
│       │   ├── A5_funding_basis_harvest.md
│       │   └── A6_alt_market_making.md
│       └── expert-reports/
│           ├── 01_math_boundary.md
│           ├── 02_hft_mm_strategies.md
│           ├── 03_stat_arb.md
│           ├── 04_risk_survival.md
│           ├── 05_ml_rl.md
│           └── 06_event_alpha.md
│
├── src/
│   ├── agents/                 ← 4개만 남김 (base + A2 meanRevert + A1 liqHunter + A3 extremeFunding)
│   ├── engines/                ← A5 funding-harvest + A6 alt-mm 만
│   ├── core/                   ← 기존 + liquidation-stream + mmr-monitor + correlation-killer
│   ├── backtest/
│   │   └── v2/                 ← 신규 tick-level 엔진
│   ├── ensemble/               ← 신규 알파 allocator
│   ├── execution/
│   ├── ml/
│   └── monitoring/
│
├── archive/
│   ├── backtest-fantasy/       ← 12개 판타지 결과 파일 (완료)
│   ├── design-docs-legacy/     ← v7, v8, v9 문서 (완료)
│   ├── README-legacy/          ← 이전 README 백업
│   ├── agents-deprecated/      ← 8개 폐기 에이전트 (Phase -1에서 이동)
│   ├── engines-deprecated/     ← grid-order-manager, smart-trend (Phase -1)
│   └── scripts-deprecated/     ← 구 백테스트 스크립트 (Phase 0)
│
└── test/
    ├── killswitch/             ← 신규 (Layer별 단위테스트)
    ├── alpha-specs/            ← 알파별 shadow 검증 기록
    └── backtest-v2/            ← backtest v2 검증
```

---


current-code-audit/v11_현재_코드_재사용_제거_신규_감사/_코드_라인_수_변화_예상

📊 코드 라인 수 변화 예상


current-code-audit/v11_현재_코드_재사용_제거_신규_감사/_이동시_주의사항/git_히스토리_보존

레거시 에이전트/엔진 파일을 `archive/`로 옮길 때:
```bash
git mv src/agents/breakout-agent.js archive/agents-deprecated/
git mv src/engines/grid-order-manager.js archive/engines-deprecated/
```
→ git blame 보존됨


current-code-audit/v11_현재_코드_재사용_제거_신규_감사/_이동시_주의사항/호출_그래프_차단

이동 전 반드시:
1. `grep -r "require.*breakout-agent"` 호출처 확인
2. orchestrator 등에서 import 제거
3. 빌드/lint 통과 확인
4. 그 다음 파일 이동


current-code-audit/v11_현재_코드_재사용_제거_신규_감사/_이동시_주의사항/삭제_금지

`archive/`는 **완전 삭제가 아니라 격리**. 향후 ablation study에 활용 가능.

---


current-code-audit/v11_현재_코드_재사용_제거_신규_감사/다음_단계

이 감사 문서 기반으로:
1. Phase -1 Task -1.4 (레거시 코드 격리) 실행
2. 각 Task는 개별 PR/커밋 단위로
3. 이동 후 [docs/v11-ensemble/weekly-review-2026-W17.md](weekly-review-2026-W17.md)에 정리 기록


Backtest v2 Engine Decision · 2026-04-24

> **결정자:** Claude Opus 4.7 + 외부 교차검증 리서치
> **근거 문서:** [research/2026-04-24-external-validation.md](research/2026-04-24-external-validation.md) §2
> **결정 범위:** Phase 0 `src/backtest/v2/` 스캐폴드 — 엔진 선택 + 검증 하네스 + 안티패턴 방지
> **결정 배경:** 현 백테스트 결과 "127k 승 / 0 패" = 엔진 수준의 fill/funding/slippage 버그로 판정. 엔진 튜닝이 아니라 **전면 교체** 결정.

---


1. **Primary engine = `nautilus_trader`**
2. **Secondary engine = `hftbacktest` (A1 / A6 전용)**
3. **Validation harness = `mlfinlab` 또는 자체 구현 (CPCV + PBO + Deflated Sharpe)**
4. **보조 도구 = `vectorbt pro` (파라미터 스윕 전용)**
5. **탈락 = backtrader · zipline-reloaded · freqtrade · hummingbot · QuantConnect LEAN**

Phase 0 에서 `nautilus_trader` 어댑터와 validation harness 를 **먼저** 완성하고, 알파 구현은 뒤로 미룬다.

---


| 요구사항 | nautilus_trader 대응 |
| --- | --- |
| Tick-level (나노초) | ✅ quote + trade + orderbook delta 네이티브 |
| 펀딩 네이티브 | ✅ `FundingRateUpdate` + `request_funding_rates` (2025-10 릴리스) |
| Binance Futures 통합 | ✅ `-PERP` 분기 + `CryptoPerpetual` 네이티브 |
| Live parity | ✅ **동일 코드가 backtest → live 그대로 실행** (핵심 차별점) |
| Maker/Taker fee 모델 | ✅ `FeeModel` instrument-level 정의 |
| Order book 시뮬 | ✅ L2 matching engine 내장 (단순 큐 모델) |
| Python API | ✅ Rust 코어 + Python 바인딩 |
| 활성 유지보수 | ✅ 2025-10 기준 릴리스 지속 |

**단점:**
- L3 큐 포지션 모델은 단순 (FIFO 근사) — A1/A6 같은 microstructure 알파에는 부족
- 학습곡선 존재, Nautilus 특유의 메시지 기반 아키텍처 숙지 필요


1.2 Secondary: `hftbacktest` (A1 / A6 전용)

| 요구사항 | hftbacktest 대응 |
| --- | --- |
| L3 MBO (Market By Order) | ✅ 업계 최상, Rust 코어 |
| Feed latency | ✅ 양방향 모델 (feed delay + order ACK delay) |
| 큐 포지션 | ✅ 정밀 (front-of-queue vs back-of-queue fill 차이 반영) |
| Liquidation event 주입 | ⚠ 수동 (tick 스트림에 직접 merge 필요) |

**용도 제한:**
- A1 Liquidation Cascade — Oct 2025 급 depth 98% 증발 상황에서 taker fill 실패 정확 모델링
- A6 Alt MM — maker rebate + 큐 포지션이 수익의 핵심 인자
- 포트폴리오 통합 backtest 에는 부적합 → nautilus_trader 가 담당

**통합 타이밍:**
- Phase 0 에는 미통합. Phase 1 A1/A6 구현 시점에 통합.


프레임워크 어느 것도 내장하지 않는, **별도 Python 모듈**로 분리:

- `validation/cpcv.py` — Combinatorial Purged K-Fold CV (mlfinlab 포팅 또는 `skfolio.CombinatorialPurgedCV`)
- `validation/deflated_sharpe.py` — Bailey & López de Prado (2014) SSRN 2460551 공식
- `validation/pbo.py` — Probability of Backtest Overfitting (PBO) 계산

**CI 강제 규칙:**
- 모든 백테스트 리포트는 **Sharpe 단독 보고 금지**
- Deflated Sharpe + PBO 없이 제출되면 CI 실패
- DSR < 0 이면 알파 라이브 승격 금지 (ROADMAP alpha-promotion gate 와 연동)


- 용도 제한: **파라미터 스윕 + 빠른 statistical scanning**
- 실제 체결 시뮬은 쓰지 않는다 (벡터화 엔진의 bar-crossing fill 함정 회피)
- 최종 판정은 nautilus_trader 가 담당


1.5 탈락 프레임워크 (명시)

| 프레임워크 | 탈락 이유 |
| --- | --- |
| **backtrader** | 2022 이후 유지보수 사실상 정지. perpetual funding 미지원. |
| **zipline-reloaded** | Equities origin. crypto perp funding 1급 지원 없음. |
| **freqtrade** | dry-run 이 **OHLCV bar-crossing 체결 기본** — 현 v11 엔진과 동일한 함정 패턴. 우리 문제의 해답이 아니라 원인 쪽. |
| **hummingbot** | 라이브 MM 봇. 백테스트 엔진 아님 (전략 샘플 참고만). |
| **QuantConnect LEAN** | Self-host 가능하나 perpetual funding 1급 지원 부족 + C# 의존. Python-only 운영 원칙과 충돌. |

---


2. "127k 승 / 0 패" 버그 원인 체크리스트

Phase 0 구현 시 **모두 제거 보증** 해야 하는 안티패턴:

1. **Bar-crossing fill** — limit price 가 bar OHLC 범위 내이면 무조건 체결. Freqtrade 기본 방식. **tick-level 에서 실제 trade 가 price level 을 touch + 내 큐 앞을 모두 소진** 해야 체결로 바꾼다.
2. **Queue position = 0** — maker 100% 체결 가정. 실제 BTC 1-tier 에 이미 수백 BTC 앞줄.
3. **Lookahead via 타임스탬프 반올림** — 1s tick 을 1m bar close 기준 신호 + same-bar 진입. 신호는 **bar close 에, 진입은 다음 bar open 또는 다음 tick** 으로 고정.
4. **Funding PnL 누락 / 부호 반전** — long 이 positive funding 에서 **지불해야** 하는데 받는 것처럼 기록되면 승률 즉시 인플레.
5. **Slippage 0 + 스프레드 0** — mid-price 체결 가정. 시장가 주문이 top-of-book 에 즉시 체결. 실제로 alt 는 몇 틱씩 걸어감.
6. **Intra-bar liquidation 무시** — high 가 stop 을 건드려도 close 기준으로만 평가 → 생존 처리.
7. **Survivorship bias** — 현재 상장 심볼만으로 2년 백테스트 → LUNA 계열 / 상폐 밈코인 -100% 이벤트 누락.
8. **Train/test 누출** — normalization/z-score 를 전체 시계열 통계로 계산. CPCV purge 없으면 거의 확실히 발생.

Phase 0 backtest v2 구현 시 `test/backtest/antipattern-guard.test.js` 를 신설해 위 8개를 CI 에서 강제 차단한다.

---


```
src/backtest/v2/
├── engine/
│   ├── base.py                    ← BacktestEngine ABC
│   ├── nautilus_adapter.py        ← Primary (Phase 0)
│   └── hftbacktest_adapter.py     ← Secondary (Phase 1 deferred)
├── data/
│   ├── tardis_loader.py           ← Tardis.dev flat file 로더
│   ├── coinapi_loader.py          ← CoinAPI 대안
│   └── forceorder_replay.py       ← Binance forceOrder 역사 merge
├── fill_models/
│   ├── conservative.py            ← 기본 (real trade touch)
│   ├── queue_aware.py             ← hftbacktest 연동용
│   └── adversarial.py             ← stress test 용
├── universe/
│   └── as_of.py                   ← listing/delisting 시점별 재구성
├── validation/
│   ├── cpcv.py                    ← CPCV
│   ├── deflated_sharpe.py         ← DSR
│   └── pbo.py                     ← PBO
└── cli/
    └── run_backtest.py            ← CLI 진입점
```


1. `engine/base.py` + `nautilus_adapter.py` — nautilus_trader 어댑터 첫 동작
2. `data/tardis_loader.py` — BTC/ETH 2년 tick 로딩 (trade + L2 + funding + forceOrder)
3. `fill_models/conservative.py` — bar-crossing 완전 삭제, tick-touch 기반 체결
4. `universe/as_of.py` — survivorship 제거
5. `validation/deflated_sharpe.py` + `validation/pbo.py` — 최소 2개 검증 지표
6. `test/backtest/antipattern-guard.test.js` — 8대 안티패턴 CI 차단
7. 현 v6 런너로 만든 "127k 승 / 0 패" 를 v2 로 재실행해서 **실제 결과와 격차 공식 리포트** 작성 → phase-gate-0 증거


- `hftbacktest_adapter.py` — A1/A6 구현 시점
- `fill_models/queue_aware.py` — hftbacktest 연동
- `forceorder_replay.py` — A1 liquidation cascade 백테스트
- `adversarial.py` — stress scenario 자동화

---


4. 데이터 소스 결정

| 용도 | Primary | 대안 |
| --- | --- | --- |
| Tick (trade + L2 book delta) | **Tardis.dev flat files** | CoinAPI flat files |
| Funding rate 역사 | **Binance REST `/fapi/v1/fundingRate`** | Tardis.dev (flat file 에 포함) |
| ForceOrder (liquidation) | **Binance REST `/fapi/v1/allForceOrders`** | Amberdata (보완, 집계 기준) |

**금지 데이터 소스:**
- Binance REST `/fapi/v1/klines` 의 1m bar — tick-level 재구성 불가, bar-crossing 함정 원인

**비용 고려:**
- Tardis.dev flat file 은 유료. Phase 0 초기에는 샘플 구간만 구매 → 엔진 검증 통과 후 전체 구매
- CoinAPI 도 유사 구조. 둘 중 가격/품질 실사 후 결정

---


Phase 0 가 종결되려면 다음이 모두 녹색:

- [ ] `nautilus_adapter.py` 로 BTC 1주일 tick replay 성공
- [ ] Funding 8h 스케줄 이벤트가 `position_value × funding_rate` 로 PnL 에 정확히 누적
- [ ] Maker/Taker fee 가 `fees_detail` 에 분리 기록
- [ ] `fill_models/conservative.py` 에서 `bar_crossing=false` 보증 (CI)
- [ ] `validation/deflated_sharpe.py` 에서 **DSR 계산 정확도 테스트** (Bailey/Prado 샘플 케이스 일치)
- [ ] 현 v6 SmartTrend 백테스트를 v2 로 재실행했을 때 **승률이 100% 에서 현실적 범위 (40-60%) 로 붕괴**
- [ ] 8개 안티패턴 guard 테스트 전체 녹색

현재 "127k 승 / 0 패" 결과가 v2 에서 자연스럽게 부서지지 않으면, v2 도 동일 버그를 가진 것이므로 이를 **명시적 진단 도구**로 쓴다.

---


- `INDEX.md` — 본 문서 링크 추가 ✅
- `ROADMAP.md` Phase 0 — "backtest v2 엔진 결정" 항목 체크
- `.agent/shared-brain/active-tasks.md` — Phase 0 backtest v2 subtask 세분화
- `research/2026-04-24-external-validation.md` §2 — 본 결정의 원본 근거

---


1. **Tardis.dev vs CoinAPI 구매 의사결정** — 예상 월 $50~200. owner 승인.
2. **hftbacktest 학습 공수 할당** — Rust 빌드 체인 + Python 바인딩. Phase 1 초기 1주 예상.
3. **Validation harness = mlfinlab 의존 vs 자체 구현** — mlfinlab 은 Apache 2.0 이지만 heavy (pandas 확장). `skfolio.CombinatorialPurgedCV` 사용이 더 가볍다면 그쪽으로.


v11 Risk Engineering — 9-Layer Kill Switch

> **근거:** 리스크 리뷰어 감사 (현 코드 [risk-governor.js](../../src/core/risk-governor.js), [risk-policy-engine.js](../../src/core/risk-policy-engine.js), [risk-feed.js](../../src/core/risk-feed.js))
> **외부 교차검증:** [research/2026-04-24-external-validation.md](research/2026-04-24-external-validation.md) — Knight 2012 · Terra 2022 · FTX · Oct 2025 Hyperliquid $19B 캐스케이드 교훈 반영
> **목표:** 레버리지 3~5x 운영시 30일 생존확률 95%+, 365일 생존확률 70%+
> **원칙:** Fail-closed, persistent, cross-asset aware, Kelly-bounded, **ordered-halt** (cancel-all → close → block)

---


Layer 1 · 틱별 자동 손절 (Hard SL at Exchange)

**기능:** 진입과 동시에 거래소에 `STOP_MARKET` 주문 전송. 네트워크 끊김에도 거래소가 실행.


- [risk-policy-engine.js:46-50](../../src/core/risk-policy-engine.js) — 청산거리 3% 도달시 `EMERGENCY_CLOSE` 플래그만 반환
- **실제 주문 전송 로직 미확인** → [futures-executor.js](../../src/execution/futures-executor.js)에서 emergency close 경로 검증 필요


- 모든 포지션 진입 직후 `STOP_MARKET` 주문 자동 생성 (SL 가격 = entry - leverage × risk_pct)
- 주문 실패시 진입 자체 롤백
- TP도 동일하게 `TAKE_PROFIT_MARKET` 전송 (bracket order)


L1 보강 · Order Rate Cap (Knight Capital 2012 교훈)

> **출처:** Knight Capital 2012-08-01 45분간 $460M 손실 — dead code 재활성화 + 8대 서버 중 1대 미배포. SEC Rule 15c3-5 이후 pre-trade rate cap 의무화.

- `max_orders_per_minute = 60` (symbol 전체 합산, 기본값)
- `max_orders_per_minute_per_symbol = 20`
- `max_notional_per_minute = 계좌잔고 × 10` (overturn 10 회 이하)
- 초과 시 **즉시 L2 HALT 전이** — 경고가 아니라 차단
- `src/core/order-rate-governor.js` 신규 (Phase 0)

---


Layer 2 · 일일 MaxDD Halt (24h Persistent)

**기능:** 일 누적손실 5% 도달시 **24시간 모든 신규진입 차단**. 재시작에도 유지.


- [risk-governor.js:170](../../src/core/risk-governor.js) — `maxDailyLoss=-0.03` 도달시 `HALT` 반환
- **하지만 `_ladderCooldownBars=5봉` (약 5분)만 적용** → 재진입 가능
- Supabase persist 없음 → VM 재시작시 초기화


- Supabase `quant_runtime_leases` 테이블에 `halt_until TIMESTAMPTZ` 컬럼 추가
- HALT 발동시:
  1. `halt_until = NOW() + INTERVAL '24 hours'` 설정
  2. 모든 기존 포지션 `emergencyLiquidateAll()` 호출
  3. Telegram 알림 + 대시보드 배너
- VM 재시작시 첫 사이클에서 `halt_until > NOW()` 체크 → 스킵


**다주기 MaxDD (3-tier):**
- 일 `-5%` → 24h HALT
- 주 `-12%` → 7일 HALT (rolling 7-day)
- 월 `-20%` → 30일 HALT (rolling 30-day)
- 일일 HALT 만 있으면 매일 `-4.9%` 누적으로 월 `-50%` 도달해도 방치됨

**HALT 실행 순서 (race condition 방어):**
> **출처:** Knight Capital — NYSE 경고 후에도 in-flight 주문이 계속 체결되어 손실 누적. cancel 이 청산보다 먼저 실행되어야 함.

1. **Step 1:** `cancel_all_open_orders(symbol=*)` — 거래소 쪽 모든 open order 즉시 취소
2. **Step 2:** `verify_no_open_orders()` — 거래소 재조회로 실제 취소 확인 (race-safe)
3. **Step 3:** `emergency_close_positions(reduce_only=true)` — 포지션 시장가 청산
4. **Step 4:** `supabase.halt_until = NOW() + tier_duration` — persist
5. **Step 5:** `block_new_entries = true` — 새 진입 차단
6. **Step 6:** Telegram / 대시보드 alert

순서가 뒤바뀌면 (예: close 먼저 → cancel 나중) partial fill 상태에서 의도치 않은 포지션 재오픈 가능.

---


**기능:** 전 보유 심볼이 5분봉 동시 -3% 하락 → 시장 전체 패닉 감지 → 전면 HALT.


- [risk-governor.js](../../src/core/risk-governor.js)의 CVaR는 **단일 자산 PnL 히스토리** 기반
- cross-asset shock 감지 로직 **전무**
- 2020-03-13, 2021-05-19 LUNA, 2022-11-08 FTX 시나리오에서 작동 안 함


v11 요구사항 (재보정)

> **외부 근거:** 2020-03-13 BTC 1시간 -50%, 2022-05-12 LUNA 분 단위 붕괴, 2025-10-10 Hyperliquid 40분 $19B 캐스케이드 — **`-3%/5분` 기준은 너무 느림**. 이벤트 스터디 결과 실사고는 `-2%/1분` 또는 `-5%/5분` 축에서 먼저 감지됨.

- 신규 모듈 `src/core/correlation-killer.js`
- 매 사이클마다 보유 심볼 **다주기** 수익률 수집 (1분 + 5분 + 15분)
- 트리거 조건 (OR):
  - 보유 심볼 중 80%+ 가 **1분봉 -2%** 동시 하락 (flash 감지용)
  - 보유 심볼 중 80%+ 가 **5분봉 -5%** 동시 하락 (Oct 2025 급 캐스케이드)
  - 보유 심볼 중 80%+ 가 **15분봉 -10%** 동시 하락 (2020-03-13 급 매크로 shock)
- 트리거 시:
  1. L2 HALT 와 동일한 ordered-halt 절차 실행
  2. 상관폭발 플래그 기록 (`context.correlation_axis = '1m|5m|15m'`)
  3. Flash crash tick 데이터 자동 저장 (백테스트 stress scenario 자산)


- 2020-03-13 / 2022-05-12 LUNA / 2022-11-08 FTX / **2025-10-10 Hyperliquid** 4개 tick 데이터를 stress test 기본 자산으로 박제
- 새 임계값은 이 4개 이벤트에서 **최소 1개 이상 탐지** 가 성공해야 CI 통과

---


**기능:** WebSocket 끊김 / Binance API 오류 / stale data 발생시 **신규 진입 차단 + 기존 포지션 시장가 청산 검토**.


- [risk-policy-engine.js:82-86](../../src/core/risk-policy-engine.js) — `setOfflineState()` 존재 ✓
- **하지만 [risk-feed.js:36-39](../../src/core/risk-feed.js) 치명 버그:** `liquidationPrice=0` 반환시 silently `NORMAL` 판정 (fail-open)


- `liquidationPrice === 0` 또는 `markPrice stale > 10초` → **즉시 OFFLINE** 전환
- OFFLINE 상태에서:
  - 신규 진입 100% 차단
  - 기존 포지션은 STOP_MARKET 주문이 거래소측에 남아있는지 확인
  - 없으면 시장가 청산 명령 전송 후 OFFLINE 유지
- WS reconnect 성공 후 3사이클 정상 데이터 확인되면 복귀


L4 보강 · Supabase 의존성 단일점 제거

> **외부 근거:** Supabase 다운 시 `halt_until` 조회 실패 = fail-open 회귀 가능. FIA Best Practices 2024 에서 "외부 상태 저장소 단일점 의존 금지" 명시.

- 로컬 `~/.quant-bot/halt_state.sqlite` mirror 파일 유지
- 매번 `halt_until` 변경 시 Supabase + 로컬 SQLite 동시 기록
- Supabase 읽기 실패 시 (timeout 2s, error 3회 연속) **로컬 mirror 로 fallback**
- 로컬도 실패 시 **fail-closed: 신규 진입 차단** (block-by-default)
- Supabase 복구 후 로컬 → 원격 reconciliation (최신 `halt_until` 우선)

---


**기능:** 극단 시나리오 (-20%, -50%, -99%) 시뮬레이션을 포지션 진입 직전 실행하여 예상 손실 계산.


- 시나리오 확장: `[-0.03, -0.05, -0.10, -0.20, -0.50, -0.99]` (price axis)
- 진입 직전 각 시나리오별 예상 계좌 손실 계산
- -50% 시나리오에서 계좌 -30% 초과 예상시 → 진입 차단
- -99% 시나리오에서 계좌 -50% 초과시 → 전체 레버리지 자동 감축


L5 보강 · Orderbook Depth/Spread 축 stress (Oct 2025 교훈)

> **외부 근거:** Oct 10-11 2025 Hyperliquid $19B 캐스케이드 — notional 축 impact 뿐 아니라 **spread 1,321x 확대 + depth 98% 증발** 축의 충격이 실질적 taker fill 손실 주범.

- 추가 축: **effective spread** (현재 vs pre-cascade 평균)
- 추가 축: **book depth at ±0.5%** (현재 vs pre-cascade 평균)
- stress scenario 벡터를 `(price_drop, spread_mult, depth_fraction)` 3차원으로 확장
- `(–0.20, 100x, 0.05)` 시나리오 (Oct 2025 재현) 에서 taker 슬리피지가 expected PnL 의 **30% 초과 예상 시 진입 차단**
- cascade 중에는 maker-only 진입만 허용, taker 진입은 block

---


Layer 6 · MMR 기반 실청산가 모니터

**기능:** Binance의 Maintenance Margin Rate tier를 기반으로 **실제 청산가** 실시간 계산.


- [risk-feed.js:138](../../src/core/risk-feed.js) — 거래소가 반환한 `liquidationPrice`만 사용
- MMR tier 경계 계산 **없음**
- 포지션 증액/감액시 liq price 갱신 지연 가능


- 신규 모듈 `src/core/mmr-monitor.js`
- 심볼별 `GET /fapi/v1/leverageBracket` 캐싱 (1시간 TTL)
- 포지션 변경시 실시간 계산:
  ```
  liq_price = entry_price × (1 - 1/leverage + MMR) / (1 - MMR × side_sign)
  ```
- ADL (Auto-Deleveraging) 경고: liq_price 근접 +15% 구간 진입시 Telegram 알림


L6 보강 · ADL Queue Rank 실시간 모니터 (Oct 2025 교훈)

> **외부 근거:** Hyperliquid 2025-10-10 — ADL 이 **승리 포지션도 강제 청산**. Binance 도 동일 메커니즘. ADL queue rank 모니터 없으면 A5 델타뉴트럴의 한 다리가 예측 불가하게 사라질 수 있음.

- `GET /fapi/v1/adlQuantile` 를 **심볼별 5분마다** 조회
- queue rank 4+ (최상위 20% 청산 대상) 진입 시:
  1. 해당 포지션 **즉시 50% reduce-only 감축**
  2. Telegram "ADL-PROXIMITY" 알림
  3. queue rank 5 진입 시 **100% reduce-only 청산** (ADL 이 봇을 청산하기 전에 봇이 먼저 청산)
- 델타뉴트럴 페어 (A5) 에서 한쪽 다리가 ADL 위험 도달 시 **양쪽 다리 동시 언와인딩**

---


Layer 7 · Clock Drift + Rate Limit + API Key Guard

**기능:** 운영 인프라 레벨 방어.


- NTP 동기화 매 10분 확인
- Binance 서버 `/fapi/v1/time` vs 로컬 시간 차이 > **100ms → 경고** (HFT 기준)
- > **500ms → 자동 NTP 재동기화 + 사이클 pause**
- > 2s → Fail-closed, 진입 차단


- [rate-limit-governor.js](../../src/core/rate-limit-governor.js) 재감사 (현 상태 미검증)
- `X-MBX-USED-WEIGHT-1M` 헤더 모니터링
- 80% 도달시 요청 속도 감소 (throttle)
- 95% 도달시 5분 pause


- API key가 **READ-ONLY 전용**으로 PAPER 모드에서 동작 보장
- `FUTURES_TESTNET=true` 또는 `TRADING_MODE=PAPER` 중 하나만 남으면 **LIVE 전환 거부**
- Supabase `quant_runtime_leases.trading_mode` 컬럼 추가, runtime이 live 모드 요청시 최소 2개 확인 게이트 통과 필요


7d. Exchange Maintenance Guard (신규, Phase 2)

- `GET /sapi/v1/system/status` 를 5분마다 조회
- Binance 공식 공지 RSS/Twitter 모니터링 (announcement 파이프라인)
- maintenance window 진입 예정 30분 전 → **신규 진입 차단 + 기존 포지션 점진 언와인딩**

---


> **외부 근거:** Terra/Luna 2022-05 UST depeg → $60B 증발. USDC 2023-03-11 SVB 노출 → $0.87 depeg. USDT-margined 포지션 을 보유한 봇은 담보 자체가 녹을 수 있음.

**기능:** USDT/USDC/USDe 의 spot 가격을 실시간 모니터링하여 depeg 발생 시 담보 보호.


- `src/core/stablecoin-depeg-guard.js` 신규
- 5분마다 다음 가격 조회:
  - `USDT/USD` (Kraken 또는 Coinbase)
  - `USDC/USD` (Coinbase)
  - `USDe/USD` (Ethena 공식 NAV)
- Trigger tiers:
  - **Tier 1 (warning):** deviation > 30bp → Telegram 경고, 신규 A5 (basis harvest) 차단
  - **Tier 2 (reduce):** deviation > 80bp → 전체 포지션 **reduce-only 모드** (new entries block, close-only 허용)
  - **Tier 3 (emergency):** deviation > 150bp → L2 HALT 와 동일한 ordered-halt 절차
- USDT-margined 계약 기준에서 USDT depeg 은 **담보 손실**이므로 최우선 감지

---


> **외부 근거:** 2025-10-10 Hyperliquid 캐스케이드 — 시간당 funding 이 일반 수준의 50x 이상 spike. 극단 funding 은 **liquidity 고갈 신호**이지 mean-reversion 신호가 아님.

**기능:** 시간당 funding 이 비정상적으로 spike 할 때 A3/A5 신규 진입을 일시 차단.


- `src/core/funding-spike-guard.js` 신규
- 심볼별 hourly-equivalent funding 계산 (`current_8h_rate × (1/8)`)
- Trigger:
  - 시간당 |funding| > 0.5% → **A3 신규 진입 차단** (30분간)
  - 시간당 |funding| > 1.0% → **A3 + A5 모두 차단 + 기존 A5 헤지 점검** (1시간)
- Cooldown: funding 이 정상 범위 (|f| < 0.05%/h) 로 복귀 후 15분 추가 관망

---


모든 HALT 상태는 Supabase `quant_runtime_leases`에 영구 기록:
- `halt_until TIMESTAMPTZ`
- `halt_reason TEXT`
- `halt_triggered_by TEXT` (layer 번호)
- `halt_triggered_at TIMESTAMPTZ`


모든 kill switch 발동은 `quant_killswitch_log` 테이블에 기록:
```sql
CREATE TABLE quant_killswitch_log (
  id BIGSERIAL PRIMARY KEY,
  triggered_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
  layer INT NOT NULL,
  reason TEXT NOT NULL,
  context JSONB,
  positions_closed INT,
  pnl_impact NUMERIC,
  resolved_at TIMESTAMPTZ
);
```


- 각 Layer별 **단위 테스트** 필수 (`test/killswitch/`)
- Flash crash 시나리오는 과거 tick 데이터 (tardis) 재생으로 검증
- Paper 모드에서 30일 연속 돌려서 **false positive < 1%** 확인

---


| # | Layer | 상태 |
|---|---|---|
| 1 | Layer 4 fail-closed 버그 수정 | ✅ |
| 2 | Layer 2 persistent halt (Supabase) | ✅ (halt_until / quant_killswitch_log live) |
| 3 | Layer 1 STOP_MARKET 검증 + 보완 | ✅ |


| # | Layer | 우선순위 | 예상 공수 |
|---|---|---|---|
| 4 | **L1 보강 Order Rate Cap (Knight 2012)** | 🔴 Critical | 0.5일 |
| 5 | **L2 보강 HALT 실행 순서 명시 + 다주기 MaxDD** | 🔴 Critical | 0.5일 |
| 6 | **L3 correlation 임계값 재보정 + 4개 stress tick 박제** | 🔴 Critical | 1.5일 |
| 7 | **L8 Stablecoin Depeg Guard (신규)** | 🔴 Critical | 1일 |
| 8 | Layer 6 MMR monitor 신규 구현 | 🟡 High | 2일 |
| 9 | Layer 5 시나리오 depth/spread 축 확장 | 🟡 High | 1일 |


| # | Layer | 우선순위 | 예상 공수 |
|---|---|---|---|
| 10 | **L4 보강 Supabase fallback (SQLite mirror)** | 🟡 High | 1일 |
| 11 | **L6 보강 ADL Queue Rank monitor** | 🟡 High | 1일 |
| 12 | **L9 Funding Rate Spike Guard (신규)** | 🟡 High | 1일 |
| 13 | Layer 7 clock/rate/key guards 강화 | 🔵 Medium | 1일 |


| # | Layer | 우선순위 |
|---|---|---|
| 14 | L7d Exchange Maintenance Guard | 🔵 Medium |
| 15 | HRP-based correlation sizing (Lopez de Prado 2024) | 🔵 Medium |

---


- 페이퍼 모드 30일 연속 운영시:
  - False positive HALT < 1%
  - 실제 flash crash 시뮬레이션 (-20% tick 재생) 100% 탐지
  - Kill switch 발동 후 포지션 정리 완료까지 < 60초
- 라이브 전환 전제조건:
  - **9개 Layer** 모두 녹색 (Phase 0 + Phase 1 대부분 항목 포함)
  - Audit trail 완비
  - Telegram + 대시보드 alert 라우팅 검증
  - 4개 과거 crash tick 재생 (2020-03-13 / 2022-05-12 LUNA / 2022-11-08 FTX / **2025-10-10 Hyperliquid**) 에서 L3 correlation killer 가 최소 1개 이상 탐지 통과

---


2026-04-24 외부 교차검증 반영 요약

이 문서는 2026-04-24 외부 공개 실사고·논문·오픈소스 병렬 리서치 결과를 반영해 `7-Layer → 9-Layer` 로 확장됨. 근거 문서: [research/2026-04-24-external-validation.md](research/2026-04-24-external-validation.md)


- **신규 Layer 2종**: L8 Stablecoin Depeg Guard, L9 Funding Rate Spike Guard
- **보강 항목 6종**: L1 Order Rate Cap, L2 HALT 실행 순서 + 다주기 MaxDD, L3 임계값 재보정, L4 Supabase fallback, L5 depth/spread 축, L6 ADL Queue Rank
- **Stress scenario 확장**: 4개 과거 crash tick 을 재생 자산으로 박제, 특히 Oct 10-11 2025 Hyperliquid $19B 캐스케이드를 기본 stress 기준


| 사고 | 연도 | 반영 Layer |
| --- | --- | --- |
| Knight Capital | 2012 | L1 Order Rate Cap + L2 HALT 순서 |
| Terra/Luna UST depeg | 2022-05 | L8 Stablecoin Depeg Guard |
| USDC SVB depeg | 2023-03 | L8 Stablecoin Depeg Guard |
| Hyperliquid Oct 10-11 | 2025-10 | L3 재보정 + L5 depth/spread 축 + L6 ADL Queue Rank + L9 Funding Spike |


- 거래소 solvency 모니터 (FTX 2022 교훈) — CEX 봇에서 실시간 측정 어렵고, v11 은 Binance 단일 거래소 전제
- Oracle manipulation (Mango 2022) — DEX/오라클 기반 전략 부재
- Smart contract 감사 (Euler 2023) — DeFi 미진입


> **총 기간:** 6~8주 (Phase -1 ~ Phase 2)
> **전제:** 현재 잔고 ~$29 (사용자 자금 출금 후), VM `quant-bot` 라이브 운영 중단 필요
> **원칙:** 각 Phase 통과 게이트 충족 전 다음 단계 진입 금지

---


**목표:** 추가 손실 중단, 진단 가능 상태로 복귀, Critical 리스크 버그 7개 수정


- [ ] VM `quant-bot` .env: `TRADING_MODE=PAPER` + `FUTURES_TESTNET=true`
- [ ] PM2 재시작 + 라이브 포지션 전부 시장가 청산
- [ ] Supabase `quant_runtime_leases.trading_mode='PAPER'` 강제
- [ ] Telegram 알림으로 전환 완료 확인


- [ ] [risk-policy-engine.js:37-39](../../src/core/risk-policy-engine.js) fail-open → fail-closed
- [ ] [risk-governor.js:75](../../src/core/risk-governor.js) HALT시 `emergencyLiquidateAll()` 호출
- [ ] [risk-governor.js:196-197](../../src/core/risk-governor.js) CVaR 콜드스타트 보수화
- [ ] [risk-governor.js:207](../../src/core/risk-governor.js) 노출 계산을 notional 기반으로
- [ ] Supabase 마이그레이션: `halt_until`, `halt_reason`, `trading_mode`, `quant_killswitch_log` 테이블
- [ ] Layer 2 persistent halt 구현


- [ ] `updateMaeMfe` 호출 경로 재설계 — 서버사이드 TP/SL 사용시에도 호출
- [ ] 전 거래 entry_tick / exit_tick 저장
- [ ] Funding PnL 집계 (매 펀딩 시점마다 Supabase 기록)
- [ ] Grid inventory 장부 연동 (제거 전 잔존 포지션 정리)
- [ ] Maker vs Taker 수수료 분리 집계


- [ ] [src/engines/grid-order-manager.js](../../src/engines/grid-order-manager.js) 호출 경로 차단
- [ ] [src/engines/smart-trend-engine.js](../../src/engines/smart-trend-engine.js) orchestrator에서 제거
- [ ] [src/engines/funding-harvest-manager.js](../../src/engines/funding-harvest-manager.js) A5로 재목적화 표시
- [ ] 9 에이전트 중 meanRevert만 활성, 나머지 8개 비활성 플래그
- [ ] `backtest-*.json` 12개 `archive/backtest-fantasy/`로 이미 이동 완료


- [ ] GCP 신규 VM `quant-bot-tokyo` (ap-northeast-1, e2-medium)
- [ ] 기존 VM SSH key / .env / systemd 복사
- [ ] Supabase lease 이전 후 구 VM 중지
- [ ] Binance API whitelist 신 VM IP 등록
- [ ] RTT 측정: 15ms → 3ms 확인


- [ ] 실거래 중단, 페이퍼 모드 운영
- [ ] MAE/MFE 비-0 값 기록 시작 확인
- [ ] Critical 리스크 버그 7개 녹색
- [ ] Tokyo VM RTT < 5ms
- [ ] `docs/v11-ensemble/` 전체 문서 완비

---


**목표:** v11 앙상블을 돌릴 수 있는 기반 구축


- [ ] 신규 `src/core/liquidation-stream.js`
- [ ] Binance WS `!forceOrder@arr` 구독
- [ ] 5분 rolling window cluster 감지
- [ ] Supabase `quant_liquidation_events` 테이블에 누적
- [ ] 대시보드에 실시간 heatmap


- [ ] Python 서브시스템 추가 (선택: Node.js 자체 구현)
- [ ] 다중 거래소 liquidation + funding 통합 수집
- [ ] Redis pub/sub로 Node.js 메인 프로세스 전달


> **엔진 결정:** [backtest-v2-engine-decision.md](backtest-v2-engine-decision.md) — nautilus_trader primary, hftbacktest (A1/A6) 는 Phase 1 deferred
> **외부 근거:** [research/2026-04-24-external-validation.md](research/2026-04-24-external-validation.md) §2

- [ ] 신규 `src/backtest/v2/` 디렉토리 (scaffold 7 항목)
  - [ ] `engine/base.py` + `engine/nautilus_adapter.py`
  - [ ] `data/tardis_loader.py` (trade + L2 + funding + forceOrder)
  - [ ] `fill_models/conservative.py` — **bar-crossing 완전 삭제, tick-touch 기반**
  - [ ] `universe/as_of.py` — survivorship 제거
  - [ ] `validation/deflated_sharpe.py` + `validation/pbo.py`
  - [ ] `test/backtest/antipattern-guard.test.js` — 8대 안티패턴 CI 차단
  - [ ] 현 v6 SmartTrend "127k 승 / 0 패" 를 v2 에서 재실행 → **승률 40-60% 로 붕괴** 확인 공식 리포트
- [ ] `vectorbt pro` 는 파라미터 스윕 보조 (체결 시뮬은 사용 금지)
- [ ] `hftbacktest` 는 Phase 1 A1/A6 구현 시점에 통합 (Phase 0 에서 미포함)


Task 0.4 · MMR Monitor + Correlation Killer (2일)

- [ ] 신규 `src/core/mmr-monitor.js` (Layer 6)
- [ ] 신규 `src/core/correlation-killer.js` (Layer 3) — **임계값 재보정: `-2%/1분 OR -5%/5분 OR -10%/15분`** ([RISK_KILLSWITCH.md](RISK_KILLSWITCH.md) L3 참조)
- [ ] 둘 다 단위 테스트 + paper 모드 false positive 체크
- [ ] 4개 과거 crash tick (2020-03-13 / 2022-05-12 LUNA / 2022-11-08 FTX / 2025-10-10 Hyperliquid) 재생 테스트


Task 0.5 · Kill Switch 신규/보강 (2일, 외부 교차검증 반영)

> **근거:** [research/2026-04-24-external-validation.md](research/2026-04-24-external-validation.md) §5 + [RISK_KILLSWITCH.md](RISK_KILLSWITCH.md) `2026-04-24 외부 교차검증 반영 요약` 섹션

- [ ] **L1 보강:** `src/core/order-rate-governor.js` (Knight Capital 2012 교훈)
- [ ] **L2 보강:** HALT 실행 순서 명시 (cancel-all → close → block) + 다주기 MaxDD (일 -5% / 주 -12% / 월 -20%)
- [ ] **L8 신규:** `src/core/stablecoin-depeg-guard.js` (Terra/USDC 교훈)
- [ ] **L5 보강:** stress scenario 를 price/spread/depth 3축으로 확장
- [ ] 단위 테스트 + phase-gate-0 체크리스트 갱신


- [ ] Backtest v2로 BTC 2년 재실행 시 현실적 샤프 (0.5~1.5 범위)
- [ ] **현 v6 백테스트 "127k 승 / 0 패" 가 v2 에서 40-60% 승률로 붕괴** (공식 비교 리포트)
- [ ] Liquidation stream 실시간 작동 (일 100+ 이벤트 수집)
- [ ] **9 Kill Switch Layer** 모두 단위 테스트 통과 (L1-L7 + L8 depeg + L9 funding spike 는 Phase 1 으로 defer 가능)
- [ ] 4개 과거 crash tick 재생 stress test 에서 L3 correlation killer 최소 1개 이상 탐지
- [ ] Deflated Sharpe < 0 인 알파는 라이브 승격 자동 차단 (CI)

---


Task 1.1 · A1 Liquidation Cascade Hunter (3일 구현 + 2주 shadow)

- [ ] 신규 `src/agents/liquidation-hunter-agent.js`
- [ ] Shadow 2주 (통과 기준: Sharpe > 1.2, t-test p < 0.05, 최소 20 trades)


Task 1.2 · A2 Mean Reversion OU (2일 + 2주)

- [ ] 기존 [mean-revert-agent.js](../../src/agents/mean-revert-agent.js) 재구현
- [ ] OU half-life 동적 추정
- [ ] 1~5분봉 스캘핑


Task 1.3 · A3 Extreme Funding Reverse (2일 + 2주)

- [ ] 신규 `src/agents/extreme-funding-agent.js`
- [ ] 펀딩 > +0.1% / < -0.08% 트리거
- [ ] OI + basis 확산 confirmation


Task 1.4 · A4 Macro Event Bracket (2일 + 2주 대기)

- [ ] 신규 `src/agents/macro-event-agent.js`
- [ ] ForexFactory API 연결
- [ ] CPI/FOMC T-5min ~ T+15min 윈도우


Task 1.5 · A5 Funding+Basis Harvest (2일 + 2주)

- [ ] 기존 [funding-harvest-manager.js](../../src/engines/funding-harvest-manager.js) 재활용
- [ ] Spot 연결 (Binance spot API)
- [ ] 델타중립 자동 rebalance


Task 1.6 · A6 Alt Market Making (3일 + 2주)

- [ ] 신규 `src/engines/alt-mm-engine.js`
- [ ] Hummingbot 브릿지 또는 자체 구현
- [ ] LINK/SUI/APT 3심볼


Phase 1 통과 게이트 (알파별)

- Sharpe > 1.2 (2주 페이퍼 기준)
- 최소 20 trades
- t-test p < 0.05
- MaxDD < 15%
- **통과 알파만** Phase 2로 진출 (6개 중 3~5개 살아남으면 OK)

---


- [ ] 현재 잔고 $29 → $100 이상 입금 (사용자)
- [ ] 레버리지 3x 하드캡으로 설정


- [ ] 통과 알파 orchestrator에 편입
- [ ] 자본 배분: 통과 알파 수에 따라 재배분
- [ ] 모든 킬스위치 7 Layer 라이브 활성


- [ ] 매일 shadow vs live 괴리 리뷰
- [ ] 알파별 실제 Sharpe 추적
- [ ] False positive HALT < 1% 유지


- [ ] 실 2주 누적 수익 +5%+ (일평균 0.35%+)
- [ ] MaxDD < 15%
- [ ] 실제 Sharpe > 1.5
- [ ] Kill switch 거짓 양성 없음

---


Phase 3 · 자본 증액 + 단계적 상향 (진화형)

**목표:** 통계적 유의성 축적하면서 점진적 상향


- 즉시 페이퍼 모드 복귀
- 원인 분석 (어떤 알파가 망가졌나)
- 해당 알파 shadow로 복귀
- 나머지 알파만 라이브 재개

---


예상 타임라인 (누적)


```
Phase -1 완료?
├── YES → Phase 0 진입
└── NO  → 원인 분석, 문서 갱신, 재시도

Phase 0 backtest v2에서 현실적 샤프 나왔나?
├── YES → Phase 1 진입
└── NO  → 알파 재검토 (어떤 알파의 edge가 허구였나)

Phase 1에서 알파 몇 개 통과?
├── 3개+ → Phase 2 진입 (통과한 것만)
├── 1~2개 → Phase 2 진입하되 목표 하향 (일 0.2%)
└── 0개 → 전면 재설계, venue 전환 검토

Phase 2에서 일 0.35%+ 달성?
├── YES → Phase 3 진입
└── NO  → Phase 1 복귀, 실패 알파 드롭
```

---


- **일일 보고:** 텔레그램 자동 보고 (PnL, Sharpe, 알파별 기여도)
- **주간 리뷰:** `docs/v11-ensemble/weekly-review-YYYY-WW.md` 작성
- **Phase 전환:** 통과 게이트 체크리스트 `docs/v11-ensemble/phase-gate-Nx.md`
- **장애 리포트:** Kill switch 발동시 즉시 `docs/v11-ensemble/incidents/YYYY-MM-DD.md`


A1 · Liquidation Cascade Reverse (Primary Alpha)

> **기대 기여:** 일 0.4~0.6% (앙상블에서 최대 기여 알파)
> **승률:** 58% (과거 청산 sweep reversion 데이터 기준)
> **Sharpe:** 1.5~2.0
> **우선순위:** ⭐⭐⭐⭐⭐ (Phase 1 최우선 구현)

---


대형 청산(long liquidation cascade) 발생시:
1. **Phase 1 (0~30초):** 연쇄 청산으로 가격 1~3% overshoot
2. **Phase 2 (30초~5분):** 청산 종료 후 매수세 유입, 평균 0.8~2.5% mean revert
3. **Phase 3 (5분~1시간):** 정상 추세 복귀

A1은 **Phase 2 진입하여 Phase 1의 역방향 포지션** 구축.


- Lehar & Parlour (2024) — crypto perpetual liquidation 연구
- Hyblock Capital 2024 리서치 — liq cluster sweep 후 0.8~2.5% 리바운드 평균
- Coinalyze 2024 데이터 — BTC $50M+ 청산 후 3분 내 평균 mean revert 확률 62%

---


- **실시간 청산:** Binance WS `!forceOrder@arr` (무료, <100ms)
- **심볼별 집계:** 5분 rolling window
- **청산 클러스터:** Coinglass heatmap 사전 매핑 (선택, free tier)


```
조건 1: 5분 window 누적 청산 ≥ threshold
  BTC: $20M
  ETH: $10M
  SOL/기타: $5M

조건 2: 청산 방향 단방향 비율 ≥ 75%
  예: 청산의 75%+가 long → SHORT 청산 = 가격 하락 → LONG 진입

조건 3: 현재 가격이 청산 클러스터 하단 -0.5% ~ -2% 관통
  (이미 sweep 발생 확인)

조건 4: 직전 1분봉 volume > 평균 3σ 이상

→ 모두 충족시: 역방향 포지션 진입
```


- **TP:** entry + 0.8% (leverage 반영 실질 수익 4%)
- **SL:** entry - 0.4% (R/R 2:1)
- **Timeout:** 30분 내 미체결시 시장가 청산
- **Trailing:** TP 50% 도달시 SL을 entry + 0.2%로 이동 (breakeven guard)


- 자본의 **5%** (capital-tier-router 기반)
- 레버리지 **5x** (Kelly/3 안전계수)
- 실효 노출: 25%

---


- 청산이 완전히 끝나지 않고 추세 지속 → 역방향 진입 손실
- **완화:** 청산 5분 rolling이 hard stop (조건 2 방향 비율 75%+)


- LUNA/FTX 급 사태에서는 "mean revert"가 오지 않음
- **완화:** Kill Switch Layer 3 (correlation killer), Layer 5 (flash crash 시나리오)


- forceOrder WS 수신 → 주문 전송까지 >100ms시 이미 Phase 1 끝나있을 수 있음
- **완화:** VM Tokyo 이전 (RTT 3ms), WS 전용 연결 분리

---


신규: `src/agents/liquidation-hunter-agent.js`

의존:
- `src/core/liquidation-stream.js` (신규, 5분 rolling cluster)
- `src/core/ws-connection-manager.js` (기존)
- `src/execution/futures-executor.js` (기존 + STOP_MARKET 자동)


```javascript
class LiquidationHunterAgent extends BaseAgent {
  evaluate(marketContext) {
    const clusters = liquidationStream.getRecentClusters(symbol, 300);  // 5분
    const totalLiq = clusters.reduce((s, c) => s + c.notional, 0);

    if (totalLiq < this._threshold(symbol)) return null;

    const longLiqRatio = clusters.filter(c => c.side === 'LONG').reduce(...) / totalLiq;
    if (longLiqRatio < 0.75 && longLiqRatio > 0.25) return null;  // not directional

    const direction = longLiqRatio > 0.75 ? 'LONG' : 'SHORT';
    // (long 청산 = 가격 하락 → LONG 진입)

    const currentPrice = marketContext.lastPrice;
    const clusterLow = Math.min(...clusters.map(c => c.price));

    if (direction === 'LONG' && currentPrice > clusterLow * 1.005) return null;  // sweep 미발생

    return {
      agent: 'liquidationHunter',
      side: direction,
      confidence: this._scoreConfidence(totalLiq, longLiqRatio, volumeZ),
      tp: 0.008,
      sl: 0.004,
      timeout: 30 * 60 * 1000,
      trailingActivate: 0.004,  // TP 50% 지점
      trailingOffset: -0.002,    // entry + 0.2%
    };
  }
}
```

---


- 기간: 2주
- 최소 거래: 20건
- Sharpe > 1.2
- t-test p < 0.05
- MaxDD < 10%
- False positive (청산 방향 오인) < 20%

실패시: 조건 임계값 재조정 또는 Phase 2 제외

---


- 일일 MaxDD 기여: < 2%
- 주간 MaxDD 기여: < 5%
- 초과시: 자동 일시 중단 (24h)


- Binance API: https://binance-docs.github.io/apidocs/futures/en/#liquidation-order-streams
- Coinglass: https://www.coinglass.com/
- 학술: Lehar & Parlour (2024) "Decentralized Exchanges"


A2 · Mean Reversion OU (High-Frequency Scalping)


단기 시간프레임(1~5분)에서 가격은 **평균회귀** 성질을 보임:
```
dX_t = θ(μ - X_t)dt + σdW_t
```
- θ: 평균회귀 속도 (half-life = ln(2)/θ)
- μ: 장기 평균
- σ: 변동성

Crypto 1분봉 BTC/ETH 실측 half-life: **5~30분**


- Cartea, Jaimungal, Penalva (2015) "Algorithmic and High-Frequency Trading" Ch. 6
- Avellaneda & Stoikov (2008) "High-frequency trading in a limit order book"
- Ernest Chan (2013) "Algorithmic Trading" Ch. 4


- 전체 시간프레임에서는 Hurst > 0.5 (trending) 이지만
- **1~5분봉은 평균회귀** (retail noise, market maker replenishment)
- 단, **추세장에서는 작동 안 함** → regime filter 필수

---


1. 1분봉 OHLCV 수집 (최근 200 bars)
2. OLS로 OU 모델 fit: θ, μ, σ 추정
3. Half-life 계산: τ = ln(2) / θ
4. Z-score: z = (X_t - μ) / (σ / √(2θ))


- ADX < 25 (trending 아님)
- BBW > 0.015 (squeeze 아님)
- 1h timeframe 추세 flat (EMA50 ~ EMA200 간격 < 0.5%)


```
조건 1: |Z-score| > 2.0 (2σ 이탈)
조건 2: Half-life 5 ≤ τ ≤ 30 분 (너무 빠르거나 느리면 skip)
조건 3: Regime filter 통과

Z > +2.0 → SHORT entry (μ로 회귀 예상)
Z < -2.0 → LONG entry
```


- **TP:** Z-score = 0.5 도달 (평균 근접)
- **SL:** Z-score 추가 0.5σ 이탈 (|Z| > 2.5)
- **Timeout:** half-life × 2 (회귀 실패시)


- 자본의 **3%** (소액 scalping)
- 레버리지 **3x**
- 실효 노출: 9%

---


- Trending 시장으로 전환시 승률 급락
- **완화:** Regime filter 매 bar 재평가, 실패시 1시간 쿨다운


- Sample 부족 (<100 bars) 또는 high σ 구간에서 parameter 불안정
- **완화:** R² > 0.3 확인, 미달시 skip


- Taker 0.04% × 2 = 0.08%/거래
- 기대값 0.028% < 수수료 0.08% → **Maker-only 전환 필수**
- Post-only limit 주문, 미체결시 10초 뒤 취소/재시도

---


기존: [src/agents/mean-revert-agent.js](../../src/agents/mean-revert-agent.js) 재구현

신규 의존:
- `src/core/ou-estimator.js` (신규, Johansen/OLS fit)
- 기존 regime-detector 재활용


```javascript
class MeanRevertAgent extends BaseAgent {
  evaluate(marketContext) {
    if (!this._regimeFilter(marketContext)) return null;

    const bars = marketContext.ohlcv1m.slice(-200);
    const { theta, mu, sigma, halfLife, r2 } = ouEstimator.fit(bars);

    if (r2 < 0.3) return null;
    if (halfLife < 5 || halfLife > 30) return null;

    const currentPrice = bars[bars.length - 1][4];
    const z = (currentPrice - mu) / (sigma / Math.sqrt(2 * theta));

    if (Math.abs(z) < 2.0) return null;

    return {
      agent: 'meanRevertOU',
      side: z > 0 ? 'SHORT' : 'LONG',
      confidence: Math.min(100, 50 + Math.abs(z) * 10),
      entryType: 'LIMIT_POST_ONLY',  // Maker fee
      tp: 0.005,  // Z=0.5 목표
      sl: 0.003,
      timeout: halfLife * 2 * 60 * 1000,
      meta: { theta, mu, sigma, halfLife, z, r2 },
    };
  }
}
```

---


- 기간: 2주
- 최소 거래: 200건 (고빈도라 쉽게 달성)
- Sharpe > 1.2
- t-test p < 0.01 (더 엄격, 샘플 많음)
- MaxDD < 8%
- Maker fill rate > 70% (post-only 체결 비율)

실패시: OU 파라미터 임계값 조정 또는 symbol 제한

---


- 일일 MaxDD 기여: < 1.5%
- 주간 MaxDD 기여: < 4%


- Cartea et al. (2015) *Algorithmic and High-Frequency Trading*
- Ernest Chan (2013) *Algorithmic Trading* Ch. 4 "Mean Reversion of Stocks and ETFs"
- Avellaneda & Stoikov (2008)


Binance 무기한선물은 8시간마다 funding 지급:
- 정상: ±0.01% (연 ~10.95%)
- 극단: +0.1% 이상 → **과열된 long 포지션** (crowded trade)
- 극단: -0.08% 이하 → 과열된 short

극단 펀딩 후 48시간 내 **역방향 평균회귀 확률 68%** (CryptoQuant 2024 리서치).


- Alexander et al. (2023) "Crypto basis trading"
- Makarov & Schoar (2020) "Trading and Arbitrage in Cryptocurrency Markets"
- Binance Research 2024 funding rate anomaly report

---


- **Funding rate:** Binance `/fapi/v1/premiumIndex` (무료)
- **OI:** Coinalyze free API
- **Basis:** Binance spot + perp 가격 차이


```
조건 1: Funding rate 극단
  - Long crowded: funding ≥ +0.1% (8h)
  - Short crowded: funding ≤ -0.08%

조건 2: OI 확장 동반
  - OI 6시간 전 대비 +5% 이상 증가

조건 3: Basis 괴리
  - Perp vs Spot spread > 0.3% annualized

조건 4: 가격 이미 방향성 있는 움직임
  - Long crowded → 24h 상승 5%+
  - Short crowded → 24h 하락 5%+

→ 모두 충족시 역방향 진입
  (funding +0.1% → SHORT, funding -0.08% → LONG)
```


- **TP:** +2% (8~12시간 hold 예상)
- **SL:** -1% (빠른 추가 쏠림 방어)
- **Timeout:** 다음 funding 시점 + 4시간 (24h 이내 회귀 없으면 청산)
- **Funding 수익 가산:** 역포지션으로 funding 받음 (추가 수익)


- 극단 펀딩이 **추세 지속**을 의미할 때도 있음 (특히 알트 bull run)
- **완화:** 조건 4 (24h 이미 움직였음)으로 late-entry 방지


- 진입 후 funding이 정상화되면서 역방향 포지션의 funding 수익 사라짐
- **완화:** 포지션 진입시 funding 수익이 아닌 **가격 회귀**가 주 edge임을 명시


- 극단 펀딩 대기 시간이 길 수 있음 (주 2~3회)
- **완화:** 다른 알파와 병행, 자본은 대기중 Funding/Basis Harvest (A5)에 투입

---


신규: `src/agents/extreme-funding-agent.js`

의존:
- 기존 [src/core/market-context.js](../../src/core/market-context.js) funding 데이터 확장
- 신규 OI 모니터 (Coinalyze API)


```javascript
class ExtremeFundingAgent extends BaseAgent {
  async evaluate(marketContext) {
    const funding = await fetchFundingRate(marketContext.symbol);  // 8h funding
    const fundingAnnualized = funding * 3 * 365;  // annualized

    if (Math.abs(funding) < 0.0008) return null;  // < 0.08%

    const oiChange = marketContext.openInterest6hChange;
    if (oiChange < 0.05) return null;

    const basisSpread = await calcBasisSpread(marketContext.symbol);
    if (basisSpread < 0.003) return null;

    const price24hChange = marketContext.price24hChange;
    const crowdedDirection = funding > 0 ? 'LONG_CROWDED' : 'SHORT_CROWDED';

    if (crowdedDirection === 'LONG_CROWDED' && price24hChange < 0.05) return null;
    if (crowdedDirection === 'SHORT_CROWDED' && price24hChange > -0.05) return null;

    return {
      agent: 'extremeFunding',
      side: funding > 0 ? 'SHORT' : 'LONG',
      confidence: Math.min(95, 50 + Math.abs(funding) * 10000),
      tp: 0.02,
      sl: 0.01,
      timeout: 28 * 60 * 60 * 1000,  // 28h (다음 funding + 4h)
      meta: { funding, fundingAnnualized, oiChange, basisSpread },
    };
  }
}
```

---


- 기간: 2주 (극단 펀딩 10건+ 목표, 부족시 backtest v2로 보완)
- 최소 거래: 10건
- 승률 > 55%
- Sharpe > 1.0
- MaxDD < 8%

샘플 부족시: Backtest v2에서 2020~2025 극단 펀딩 전부 재현

---


- Alexander et al. (2023) "Crypto basis trading"
- Makarov & Schoar (2020)
- Binance Research 2024 funding anomaly
- CryptoQuant 2024 리서치


FOMC, CPI, NFP 등 주요 매크로 이벤트 직후:
- **T+0 ~ T+5분:** 평균 0.6~1.4% 변동 (BTC 기준)
- **T+5 ~ T+15분:** 30% 확률로 full reversal (overshoot 수정)
- **T+15 이후:** 정상 추세 복귀

**전략:** T-5min 브래킷 대기 → T+0 방향성 확인 → overshoot fade


- BlackRock 2024 "Crypto response to macro events"
- Cortés & Zangari (2023) "Event-driven crypto strategies"
- Binance Research 2024 CPI/FOMC impact analysis

---


월 2~4회 정기 이벤트

- **CPI (Consumer Price Index):** 매월 중순 08:30 ET
- **FOMC 결정:** 6주 주기, 14:00 ET
- **NFP (Non-Farm Payrolls):** 매월 첫 금요일 08:30 ET
- **PCE (Personal Consumption Expenditures):** 매월 말 08:30 ET


- SEC ETF 승인/거부
- Fed Chair 연설
- 암호화폐 규제 발표
- Binance/주요 거래소 공지


- **정기 스케줄:** ForexFactory API (무료), FRED API (무료)
- **실시간 헤드라인:** Cryptopanic API (무료)
- **전문 뉴스:** Bloomberg Terminal (유료, 선택)

---


1. 이벤트 T-10분 전 알림 수신
2. 현재 포지션 일부 감축 (A1/A2/A3 포지션 50% 축소)
3. 브래킷 자본 준비 (자본의 5%)


- 대기 상태, 주문 없음
- 현재 가격 ± 0.3% 양쪽에 STOP 주문 대기


```
조건 1: T+0~T+2min 가격 변동 > 0.5% (단방향)
조건 2: 거래량 평균 대비 5σ 이상
조건 3: 반대 방향 STOP 자동 취소

→ 방향성 확인시 해당 방향으로 진입
```


```
조건 1: T+0 진입 포지션이 +0.8% 이상 수익
조건 2: T+5~T+8분 사이 과열 신호 (OI 급증, 펀딩 스파이크)

→ 진입 포지션 청산 + 역방향 소규모 진입 (자본 2%)
→ T+15min overshoot 수정 노림
```


- T+2분에 방향 확정했는데 T+3분에 역전
- **완화:** SL 짧게 (-0.8%), timeout 20분 내 청산


- ETF 거부, 해킹 뉴스 등 극단 이벤트시 가격 5%+ 단방향
- **완화:** Kill Switch Layer 3 (correlation killer), Layer 5 (flash scenarios)


- 이벤트 직후 거래량 폭증으로 API weight 초과 가능
- **완화:** Rate limit governor에 이벤트 모드 추가 (주문 우선순위 상향)


- LLM이 헤드라인 잘못 해석 (예: "Powell hawkish" 실은 dovish)
- **완화:** Claude Haiku로 재검증, confidence < 70% 시 skip

---


신규: `src/agents/macro-event-agent.js`

의존:
- 신규 `src/core/event-calendar.js` (ForexFactory/FRED 연동)
- 기존 [src/core/news-snapshot-updater.js](../../src/core/news-snapshot-updater.js) 확장
- 기존 [src/ml/llm-signal-filter.js](../../src/core/llm-signal-filter.js) (Claude Haiku 재활용)


```javascript
class MacroEventAgent extends BaseAgent {
  async evaluate(marketContext) {
    const upcomingEvent = eventCalendar.next(10 * 60 * 1000);  // 10분 이내
    if (!upcomingEvent) return null;

    // T-10~T-0: standby 모드
    if (upcomingEvent.minutesUntil > 0) {
      return { action: 'PREPARE_BRACKET', event: upcomingEvent };
    }

    // T+0 ~ T+2: 방향 확정 대기
    const t0Move = marketContext.priceChangeSince(upcomingEvent.time);
    if (Math.abs(t0Move) < 0.005) return null;  // 0.5% 이하 skip

    const volumeZ = marketContext.volumeZScore(5);
    if (volumeZ < 5) return null;

    return {
      agent: 'macroEvent',
      side: t0Move > 0 ? 'LONG' : 'SHORT',
      confidence: Math.min(90, 50 + Math.abs(t0Move) * 1000),
      tp: 0.015,
      sl: 0.008,
      timeout: 20 * 60 * 1000,
      meta: { event: upcomingEvent.name, t0Move, volumeZ },
    };
  }

  async evaluateFade(position) {
    // T+5 이후 fade 진입 판단
    if (position.holdMinutes < 5 || position.holdMinutes > 8) return null;
    if (position.pnlPct < 0.008) return null;

    const oiSpike = await marketContext.oiChange1m > 0.02;
    const fundingSpike = await marketContext.funding1h > 0.0005;
    if (!oiSpike && !fundingSpike) return null;

    return {
      agent: 'macroEventFade',
      side: position.side === 'LONG' ? 'SHORT' : 'LONG',
      confidence: 65,
      tp: 0.005,
      sl: 0.003,
      timeout: 10 * 60 * 1000,
    };
  }
}
```

---


- 기간: 2주 (이벤트 2~4건 예상)
- 최소 거래: 5건 (샘플 부족 가능)
- 승률 > 50%
- 이벤트당 기대값 > +0.4%

샘플 부족시: Backtest v2에서 2023~2025 CPI/FOMC 전부 재현

---


- 이벤트당 MaxDD 기여: < 1%
- 월간 MaxDD 기여: < 3%


- ForexFactory: https://www.forexfactory.com/calendar
- FRED: https://fred.stlouisfed.org/
- Cryptopanic API: https://cryptopanic.com/developers/api/
- BlackRock 2024 crypto macro analysis


A5 · Funding + Basis Harvest (Delta-Neutral Base)


**현물 매수 + 동일 notional 선물 숏** → 가격 방향성 제거, funding만 수확:
- Funding +0.01%/8h (정상) = 연 **10.95%**
- Quarterly basis +8~25% 연환산 (강세장 구간)
- 누적시 안정적 "국채 같은" 수익


- Alexander et al. (2023) "Crypto basis trading"
- Makarov & Schoar (2020) "Trading and Arbitrage in Cryptocurrency Markets"
- Hazard (2021) basis trading 실증


- Bull market: basis 확대 (연 15~25%)
- Bear market: basis 축소/역전 (음의 carry)
- **시장 regime에 따라 켜고 끄기 필요**

---


```
Spot Long (Binance Spot API): 1 BTC 매수
Perp Short (USDM Futures):    1 BTC 숏 (1x 레버리지)
```

- **Delta:** 0 (가격 중립)
- **Funding payment:** 숏 포지션이 long으로부터 받음
- **Basis capture:** 선물 프리미엄 축소시 이익


Funding 1회 수확 = 0.01% → 수수료 상회하려면 최소 **28회 funding = 9일 보유**

---


```
조건 1: Funding rate 양수이며 지속 확인
  - 현재 funding > +0.005% (연 5%+)
  - 지난 24h 평균 funding > 0
  - 지난 7d 음수 funding < 3회

조건 2: Basis 확대 구간 감지 (선택)
  - Perp premium > Spot + 0.1% annualized

조건 3: Regime filter
  - BTC 7d 변동성 < 5% (안정)
  - 극단 공포/탐욕 지수 30~70 사이

→ 모두 충족시 신규 pair 구축
```


Spot과 Perp notional 차이가 2% 이상 벌어지면 자동 재조정:
- 가격 변동으로 notional drift
- 매 사이클마다 spot_qty × spot_price ≈ |perp_qty × perp_price| 유지


- **Funding 역전:** 연속 funding < 0 × 3회 → 청산
- **Basis 축소:** Premium < 0.05% annualized → 청산
- **Volatility spike:** 24h 변동성 > 10% → 일시 청산 (추후 재진입 가능)
- **Profit target:** 누적 PnL +2% 도달시 청산 옵션


- 자본의 **15%** (델타중립이라 큰 비중 가능)
- 레버리지 **1x** (spot) + **1x** (perp) = 실효 0x (market neutral)
- 단, Perp 증거금 효율로 실효 자본 활용률 높음

---


- 갑작스런 funding 음수 전환 (예: 약세장 진입)
- **완화:** 조건 1 (24h 평균 확인), 3회 연속 음수시 자동 청산


- 선물 프리미엄 급격 축소 → basis 수익 증발
- **완화:** Basis 모니터링, 축소시 점진 청산


- Binance spot 또는 futures 한쪽만 장애 발생시 delta 노출
- **완화:** Kill Switch Layer 4 (fail-closed), 즉시 반대편도 수동 청산 알림


- 나중에 spot을 margin에서 빌려 쓰면 borrow rate 부담
- **완화:** 순자산 내에서만 운영 (no margin borrow)

---


기존: [src/engines/funding-harvest-manager.js](../../src/engines/funding-harvest-manager.js) 재활용 + 확장

신규 의존:
- Binance Spot API 클라이언트 추가 (`src/core/spot-executor.js`)
- 기존 WS 연결 관리자 확장


```javascript
class FundingHarvestManager {
  async evaluate(marketContext) {
    const funding = await fetchCurrentFunding(symbol);
    const funding24h = await fetch24hAvgFunding(symbol);
    const basis = await calcBasisSpread(symbol);
    const volatility7d = marketContext.volatility7d;
    const fearGreed = await fetchFearGreedIndex();

    if (funding < 0.00005) return null;
    if (funding24h < 0) return null;
    if (basis < 0.001) return null;
    if (volatility7d > 0.05) return null;
    if (fearGreed < 30 || fearGreed > 70) return null;

    return {
      agent: 'fundingHarvest',
      type: 'DELTA_NEUTRAL_PAIR',
      spotAction: { side: 'BUY', qty: this._calcSize(capital) },
      perpAction: { side: 'SELL', qty: this._calcSize(capital), leverage: 1 },
      expectedYield: funding * 3 * 365,  // annualized
      minHoldDays: 9,
      exitConditions: ['FUNDING_FLIP_3X', 'BASIS_COLLAPSE', 'VOL_SPIKE_10PCT'],
    };
  }

  async rebalance(position) {
    const spotNotional = position.spot.qty * currentSpotPrice;
    const perpNotional = Math.abs(position.perp.qty * currentPerpPrice);
    const driftPct = Math.abs(spotNotional - perpNotional) / spotNotional;

    if (driftPct > 0.02) {
      // adjust perp size to match spot
      return this._rebalanceToMatch(position);
    }
  }
}
```

---


- 기간: 2주 (funding 6회 수확 목표)
- 최소 보유 기간: 9일 이상 1 pair
- 일 수익 > 0.02% 평균
- MaxDD < 2%
- Delta drift < 2% (rebalance 작동 확인)

---


- 일일 MaxDD 기여: < 0.5% (가장 안정)
- 주간 MaxDD 기여: < 1.5%


- Alexander et al. (2023) "Crypto basis trading"
- Makarov & Schoar (2020)
- Binance Funding Rate: https://www.binance.com/en/futures/funding-history
- Fear & Greed Index: https://alternative.me/crypto/fear-and-greed-index/


A6 · Alt Market Making (Post-Only Spread Capture)

> **기대 기여:** 일 0.1~0.3%
> **승률:** 상시 (MM은 spread capture, 개별 trade 개념 약함)
> **Sharpe:** 1.0~1.5
> **우선순위:** ⭐⭐ (Phase 1)

---


양쪽에 limit 주문을 걸고 스프레드 수확:
```
매수 주문: 현재가 - spread/2 (bid)
매도 주문: 현재가 + spread/2 (ask)
```
- 양쪽 체결시: +spread - 2×maker fee
- 한쪽만 체결시: 인벤토리 누적 → 다음 체결 기다림

Binance USDM 선물 **Maker rebate 0.02%** (VIP 0) → 한쪽 체결만으로도 +0.02%


- **Reservation price:** 순수 중간가 대신 인벤토리 고려한 가격
- **Optimal spread:** 변동성·인벤토리·시간 고려
- **Inventory penalty:** 한쪽으로 치우치면 반대편 가격 공격적으로


- Avellaneda & Stoikov (2008) "High-frequency trading in a limit order book"
- Cartea, Jaimungal, Penalva (2015) Ch. 10

---


- 유동성 있되 HFT 경쟁 덜한 **mid-cap**
- Spread 0.05~0.15% 정규적 관찰
- Binance 선물 상장


1. **LINK/USDT** — 안정적 유동성, spread 0.08%
2. **SUI/USDT** — 신흥 altcoin, spread 0.12%
3. **APT/USDT** — 활발한 거래, spread 0.10%

BTC/ETH는 **제외** (HFT colocation 봇과 queue 경쟁 불가)

---


```
r = mid - q × γ × σ² × (T - t)

q:  현재 인벤토리 (양수: long, 음수: short)
γ:  리스크 회피 계수 (0.1 기본)
σ:  최근 변동성 (ATR/price)
T-t: 남은 세션 시간 (24h cycle)
```


```
δ = γ × σ² × (T - t) + (2/γ) × ln(1 + γ/k)

k: orderbook liquidity parameter (실측)
```


- **Bid:** r - δ/2 at post-only limit
- **Ask:** r + δ/2 at post-only limit
- **Size:** 자본 × 0.5% (MM은 빠른 회전율이 핵심, 작은 size)


- 매 5초 WS bookTicker 업데이트 감지
- mid 변동 > 0.02% 또는 인벤토리 변화시 주문 취소/재배치


- 최대 인벤토리 ±자본의 2%
- 초과시:
  - Long 포지션: ask 공격적 (r - 0.01% 이하), bid 중단
  - Short 포지션: bid 공격적, ask 중단


- 세션 말 (매 24h) 자정 KST에 잔여 인벤토리 시장가 청산
- 일중에도 인벤토리 ±1.5% 초과시 taker로 즉시 감축

---


- 한쪽 추세 강할 때 계속 한쪽만 체결 → 불리 방향 인벤토리 누적
- **완화:** Inventory limit (±2%), 초과시 taker 청산, Avellaneda-Stoikov γ 증가


- HFT 봇이 더 좁은 spread로 진입 → 체결 빈도 저하
- **완화:** 심볼 주기적 재평가, spread < 0.04%시 해당 심볼 pause


- Post-only 거부 (예: 이미 cross시) 실패 반복시 주문 놓침
- **완화:** Reject 3회 연속시 심볼 5분 pause


- 정보우위 트레이더가 MM 가격을 먼저 집어감 (toxic flow)
- **완화:** Volume imbalance 감지시 spread 확대

---


신규: `src/engines/alt-mm-engine.js`

옵션 1: Hummingbot 브릿지 (Python → Node.js Redis pub/sub)
옵션 2: 자체 Node.js 구현 (Avellaneda-Stoikov 수식 간단 구현)

**권장:** Phase 1은 자체 구현 (brige 복잡도 회피), Phase 3 확장시 Hummingbot 고려


```javascript
class AltMMEngine {
  constructor({ symbols = ['LINK/USDT', 'SUI/USDT', 'APT/USDT'] }) {
    this.symbols = symbols;
    this.inventory = new Map();  // symbol → qty (+/-)
    this.activeOrders = new Map();  // symbol → { bidId, askId }
    this.gamma = 0.1;
  }

  async cycle(marketContext) {
    for (const symbol of this.symbols) {
      const state = await this._getSymbolState(symbol);
      if (!this._passFilter(state)) continue;

      const { mid, sigma, bookDepth } = state;
      const q = this.inventory.get(symbol) || 0;
      const T_minus_t = this._timeUntilClose();

      // Avellaneda-Stoikov reservation price + optimal spread
      const r = mid - q * this.gamma * sigma * sigma * T_minus_t;
      const delta = this.gamma * sigma * sigma * T_minus_t
                  + (2 / this.gamma) * Math.log(1 + this.gamma / bookDepth.k);

      const bidPrice = r - delta / 2;
      const askPrice = r + delta / 2;

      // Replace orders if drift > 0.02% or inventory changed
      await this._replaceOrders(symbol, bidPrice, askPrice);

      // Inventory guard
      if (Math.abs(q * mid) > this._maxInventoryUsd(state.capital)) {
        await this._reduceInventory(symbol, q);
      }
    }
  }
}
```

---


- 기간: 2주
- 심볼별 최소 체결: 500건 (일 평균 35건)
- 평균 maker fill rate > 60%
- 인벤토리 breach < 1% 일수
- 일 평균 수익 > +0.05% (3심볼 합산)
- MaxDD < 5%

---


- Avellaneda & Stoikov (2008) 원논문
- Cartea et al. (2015) *Algorithmic and High-Frequency Trading* Ch. 10
- Hummingbot Avellaneda 구현: https://github.com/hummingbot/hummingbot
- Binance 선물 fee schedule: https://www.binance.com/en/fee/futureFee


> **에이전트:** neo-architect
> **일시:** 2026-04-22
> **임무:** 일 1%+ 누적 수익률의 수학적 실현 가능성 분석

---


**일 1% 복리는 2026년 현재 시장에서 실증 불가능.** 조건부 단기(30~90일) 가능, 장기(12개월+) 통계적으로 불가능에 가까움.

결론 먼저: 일 1% 복리 = 연 3,678%. 이 수익률을 **지속적**으로 달성한 기관은 공개·비공개 통틀어 **0건**. Renaissance Medallion(연 66% 세전, 일 0.21%)의 약 **58배**. López de Prado의 Deflated Sharpe Ratio 기준 이 정도 수익률의 장기 지속 확률은 사실상 0에 수렴합니다. 다만 **소액(<$5K) + 레버리지 20~50x + 단기 윈도우(30~90일)** 조건에서는 통계적으로 가능은 하나, 파산 확률이 50%를 초과합니다.

---


expert-01-math/Expert_Report_01_수학적_경계_분석/_일_1_달성_경로_수학적_조건/기대값_방정식

```
E[R] = p × W - (1-p) × L - fee × 2
목표: E[R] × N_trades_per_day ≥ 0.01
```


expert-01-math/Expert_Report_01_수학적_경계_분석/_일_1_달성_경로_수학적_조건/전략별_분석

**전략 1: Binance 선물 Taker 스캘핑 (승률 65%, R:R 1:1)**
- 거래당 기대값: 0.65×R - 0.35×R - 0.08% = 0.30R - 0.08%
- 일 1% 위해: R=0.5% 시 일 4회, R=1% 시 일 2회
- 문제: 승률 65%는 López de Prado 기준 **2σ outlier**. 오버피팅 거의 확실.
- 필요 샤프: 8~12 (Medallion 수준의 3배)

**전략 2: Grid + Funding Harvest (시장중립)**
- 일 funding rate 평균 0.01~0.03% × 3회 = 0.03~0.09%
- Grid 수익 0.1~0.3%/일 (횡보장 한정)
- 합계 **일 0.13~0.39%** → 일 1% 불가
- 레버리지 10x 적용 시 0.4~1.2% 가능하나 **추세장 강제청산 리스크**

**전략 3: 고레버리지 + 단기 추세 (20~50x)**
- Kelly 최적: f* = (p×W - q×L) / (W×L)
- 승률 55%, R:R 1.5 가정: f* = 0.25 (25% 베팅)
- 실전 안전계수: Kelly/4 = 6.25% 베팅
- 일 5회 × 평균 0.3% = 1.5% (이론치), 실전 σ_daily = 5~8%
- **파산확률(Chan 공식)**: P(ruin) = ((1-edge)/(1+edge))^(capital/risk_per_trade)
  - edge 10%, 자본 6.25% 베팅 시 N=100 거래 후 50% 손실 확률 = 약 35%

**전략 4: Cross-Exchange Arbitrage**
- 실측 edge: 연 20~60% (Cartea 2015 crypto)
- 일 환산: 0.07~0.19%
- 일 1% 달성 불가

**전략 5: MEV / Sandwich (온체인)**
- 상위 봇 연 200~500% (Flashbots)
- 일 0.55~1.3%
- **Binance 선물 범위 밖**

**전략 6: 이벤트 드리븐 + 뉴스 반응**
- 월 5~8회 이벤트에 레버리지 집중
- 성공 시 1회 3~10%, 실패 시 -30~-100%
- 단일 이벤트 파산 확률 5~15%

---


- **현실 목표: 일 0.3~0.8% 평균, 월 10~25%**
- 전략: 고레버리지(20~30x) + 단일 추세 + 엄격 손절 1%
- 파산 각오 전제. "실험 자본"으로 간주.
- Kelly/4 적용, 거래 빈도 일 2~4회
- 3~6개월 내 $5K 도달 후 전략 전환


1. **일 1% 복리는 물리법칙은 아니지만 시장 유동성·경쟁 구조상 지속 불가능**. Grinold-Kahn Fundamental Law 위배.
2. 코드베이스의 `capital-tier-router.js`, `trade-edge-policy.js` **micro tier 보수 설정이 수학적으로 정당**.
3. **단기 성과에 목표 조정 금지**. DSR 기준 30일 +30%는 운으로 설명 가능.
4. 소액 추천: **일 목표 0.5%, 월 15%, 파산 각오**. 이 자체도 상위 1%.

---


- López de Prado, M. (2018). *Advances in Financial Machine Learning*, Ch. 14-15
- Bailey & López de Prado (2014). "The Deflated Sharpe Ratio", *JPM*
- Chan, E. (2013). *Algorithmic Trading*
- Cartea, Jaimungal, Penalva (2015). *Algorithmic and High-Frequency Trading*
- Grinold & Kahn (1999). *Active Portfolio Management*


> **에이전트:** general-purpose
> **일시:** 2026-04-22
> **임무:** Binance 선물 일 1%+ 달성 가능한 HFT/MM 전략 조사

---


일 1% 누적 달성은 가능하지만, 단일 전략으로는 통계적으로 희박. 리테일 검증 경로는:
**(1) 공격적 Funding Arb + (2) Market Making on 저유동성 알트 + (3) Liquidation Cascade 진입** 의 앙상블.

일 1%는 월 ~26% 복리(연 ~3,678%)로 HFT 프롭 수준 목표이며, 본질적으로 **드로다운 관리와 자본 회전율**이 생존 결정 요인.

---


1.1 Market Making (post-only limit) — edge 중

- **이론 edge:** Binance 선물 maker 리베이트 **0.02%** (taker 0.05%). Spread 0.04%면 왕복 0.08% per fill.
- **리테일 제약:** co-location 없는 WAN latency 30~80ms → BTC/ETH 같은 유동 pair는 tight queue 경쟁에서 밀림. **LINK, APT, SUI 급 mid-cap**에서 spread 0.05~0.15% 포획 가능.
- **Binance rate limit:** 주문 1,200/min, weight 6,000/min, WS 10 msgs/sec. **Hummingbot 1~3 pair 한계**.
- **실측 성과 (Hashquant/Hummingbot Miner):** 월 3~8%, 일 환산 0.1~0.27%. **단독 일 1% 어려움**.
- **오픈소스:** [hummingbot/hummingbot](https://github.com/hummingbot/hummingbot) (8k+ stars). Avellaneda-Stoikov 내장.


1.2 Funding Rate Arbitrage (공격형) — edge 상

- **단순 spot-short 캐리:** 일 0.03% → 목표 미달
- **공격화:**
  - **멀티거래소 레깅:** Binance long vs Bybit/OKX short (펀딩 역전 구간). 극단 구간 **일 1~3%**.
  - **Pre-funding sniper:** 펀딩 체결 직전 진입 → 직후 청산
  - **Negative funding farming:** 극단 시장 연 200%+
- **실측:** BlockWorks 2024 APY 15~40%, 피크 **일 2%+**
- **Binance 특화:** Cross margin 증거금 효율 ↑, 동일 심볼 양방향 헤지는 hedge mode 필수


1.3 Liquidation Cascade Trading — edge 상, 리스크 상

- **이론:** 대형 청산($10M+)은 5~15초 내 1~3% overshoot 후 mean revert
- **실측 edge:** BTC 청산 $50M+ 시 3분 내 평균 0.8~1.5% mean reversion (Coinalyze 2024)
- **구현:**
  - Binance WS `!forceOrder@arr` 구독
  - Coinglass/Coinalyze heatmap 사전 매핑
  - 청산 누적 $X 초과 시 역방향 진입, TP 0.5~1%
- **리스크:** False cascade, 10~20% 드로다운 빈번


- **현실:** Binance 선물 내부 tri-arb **거의 소멸** (HFT 10ms 수렴)
- **변형:** Perp-Spot basis arb 연 5~15%
- **결론:** 일 1% 목표 부적합


- **Edge 지속:** Fed/CPI 후 1~5분 최대 변동. LLM 추론 지연 3~5초 허용
- **실측:** ETF 승인 같은 이벤트 5~15%. 정기 CPI 1~3%. 월 2~4회 기회
- **기존 구현:** `news-snapshot-updater.js`, `event-risk-gate.js` 이미 존재 (방어용 → 진입 알파 전환 가능)


- **이론:** OBI = (bid_vol - ask_vol) / total. 1~10초 horizon 예측력 (Cont, Kukanov 2014)
- **리테일:** Binance depth WS 100ms 스냅샷. edge 0.02~0.05% per trade
- **일 1% 단독 불가**. MM 보조 시그널로 적합

---


1. **Liquidation Cascade + OBI 보조** — 일 2~5회, 건당 0.5~1.5% TP. forceOrder 스트림 추가만 필요.
2. **공격형 멀티거래소 Funding Arb** — 극단 구간 일 2%+, 평시 0.1~0.3%. OKX/Bybit CCXT Pro 필요.
3. **알트 MM + Inventory Skew** — LINK/SUI/APT 3개 pair 시 일 0.3~0.6% 안정, 이벤트 구간 1%+.

---


4. 💻 검증된 오픈소스

| 레포 | Stars | 용도 | 적합도 |
|------|-------|-----|-------|
| [hummingbot/hummingbot](https://github.com/hummingbot/hummingbot) | 8k+ | MM, Funding Arb | ⭐⭐⭐⭐⭐ |
| [nautechsystems/nautilus_trader](https://github.com/nautechsystems/nautilus_trader) | 2k+ | Tick-level backtest + live | ⭐⭐⭐⭐ |
| [jesse-ai/jesse](https://github.com/jesse-ai/jesse) | 5k+ | 전략 프레임워크 | ⭐⭐⭐ |
| [freqtrade/freqtrade](https://github.com/freqtrade/freqtrade) | 28k+ | 추세/ML | ⭐⭐ (현물 편향) |
| [ccxt/ccxt](https://github.com/ccxt/ccxt) | 32k+ | 거래소 통합 | ⭐⭐⭐⭐⭐ |
| [tardis-dev/tardis-machine](https://github.com/tardis-dev/tardis-machine) | 500+ | 과거 tick 데이터 | ⭐⭐⭐⭐ |

---


5. 🚫 피해야 할 전략

- **Triangular arb (선물 내부):** HFT 수렴, 리테일 edge 소멸
- **순수 추세추종 (고레버 10x+):** Binance BTC/ETH 월 샤프 <0.5
- **Grid (무제한 loss):** 하락장 $10K→$2K 실사례
- **Copy trading / Signal 구독:** 90% 적자 (Binance COPY 2024)
- **저지연 단독 tick arb:** WAN 30ms+ 리테일 구조적 열위

---


6. 🎯 통합 앙상블 제안 (일 1% 현실안)

**자본 $1K~$10K 배분:**
```
40% — Liquidation Cascade (primary alpha)
      → forceOrder WS + Coinglass heatmap
      → 진입: 5분 청산 누적 $20M+ 반대 방향
      → TP 0.8% / SL 0.4%, 일 2~4회 기대

30% — 알트 MM (LINK/SUI/APT)
      → Hummingbot Avellaneda-Stoikov
      → spread 0.08%, inventory_skew ±15%

20% — 공격형 Funding (멀티거래소)
      → Binance vs Bybit 펀딩 역전

10% — News/Event 탄환
      → Fed/CPI/ETF 이벤트 데이터

레버리지: Cascade 10~20x, MM 3~5x, Funding 5~10x
```

**현실적 경고:** 위 앙상블로도 **일 평균 0.4~0.8%**가 정직한 추정. 일 1%는 상위 분위. 샤프 2.0+ 유지가 더 현실적.

---


현 코드베이스 재활용 경로

- `src/core/runtime-coordinator.js` → 전략별 lease 분리
- `src/core/event-risk-gate.js` → News 알파 진입 트리거
- `src/core/capital-tier-router.js` → 전략별 자본 배분
- 신규 `src/agents/liquidation-hunter-agent.js` 필요
- `src/engines/funding-harvest-manager.js` 멀티거래소 확장

청산 캐스케이드 헌터 에이전트와 Hummingbot 브릿지가 **가장 가성비 높은 다음 단계**.


Expert Report 03 · Statistical Arbitrage + Pairs Trading

> **에이전트:** general-purpose
> **일시:** 2026-04-22
> **임무:** 일 1%+ 목표를 위한 Stat Arb/Pairs Trading 심층 조사

---


**$500/$5K/$50K 규모에서 stat arb만으로 일 1%는 지속 불가능.** 학술적으로 검증된 crypto stat arb의 리스크조정 수익률은 연 15~40% (일 0.05~0.15%) 수준.

일 1%는 (a) **Funding harvesting + Basis trading 델타뉴트럴** + (b) **레버리지 3~5x** + (c) **Mean reversion 마이크로 스캘핑** 앙상블로만 가능.

현재 저장소 상태 (`funding-harvest-manager.js`, `market-context.js`, `grid-order-manager.js`)는 이 방향과 정렬되어 있어 강화가 ROI 높음.

---


1-1. Crypto Pairs Trading (Cointegration)

- **학술:** Leung & Nguyen (2019), Lintilhac & Tourin (2017), Fil & Kristoufek (2020)
- **현실:** ETH-SOL, BNB-ETH는 짧은 window(30~90일)에서만 공적분. Z-score ±2 entry, ±0.5 exit의 Sharpe **0.8~1.5** (주식 대비 낮음)
- **기대 수익률:** 일 0.1~0.3%, 레버리지 3x 시 0.3~0.9%
- **저장소:** `hudson-and-thames/mlfinlab`


- **학술:** Avellaneda & Lee (2010) 확장 — Sercan et al. (2022, J. Financial Data Science)
- **Crypto 특이점:** Top 30 코인이 BTC beta에 지배됨(첫 PC가 분산 70%+)
- **기대 수익률:** 일 0.05~0.2% (비레버리지), Sharpe 1.2
- **$500에선 비실용** (30+ 심볼 동시 운용, 수수료 잠식)


- **현실:** Binance-Bybit-OKX **현물 스프레드 2024년 이후 2~5bp로 수렴**
- **Funding spread:** Binance vs Bybit 펀딩 차이 연 5~15% 델타뉴트럴 가능. 일 0.02~0.04%
- **$5K+ 권장**


- **2025년 현재 가장 큰 alpha 소스.** Hyperliquid funding이 Binance 대비 ±50~200bp 편차. GMX v2, dYdX v4도 유사.
- **학술:** Lehar & Parlour (2024), Capponi et al. (2023)
- **기대:** 일 0.1~0.5% 델타뉴트럴. **$50K+에서 진가**
- **저장소:** `hyperliquid-dex/hyperliquid-python-sdk`, `nautilus-trader`


- **학술:** Hazard (2021), Alexander et al. (2023)
- **무기한 funding harvest:** 현재 `funding-harvest-manager.js` 이미 구현. 연 5~15%, Sharpe 3~5 (시장중립). 일 0.014~0.04%
- **레버리지 3x:** 일 0.04~0.12%. 일 1% 기여론 부족하나 **안정성의 축**


- **학술:** Cartea, Jaimungal, Penalva (2015). OU half-life 추정
- **Crypto 1분봉:** half-life 5~30분, 분봉 Sharpe 1.5~2.5. `mean-revert-agent.js` 이미 존재
- **기대:** 일 0.3~0.8% (거래 빈도 20~50회/일, 수수료 감안)
- **Avellaneda-Stoikov MM**도 같은 축

---


2. 자본 규모별 최적 전략

| 자본 | 1차 | 2차 | 비고 |
|---|---|---|---|
| **$500** | Mean reversion (1~5분) + micro grid | Funding harvest (BTC/ETH) | 페어/PCA 금지. 레버리지 5x로 유효자본 $2.5K |
| **$5K** | Mean reversion + Funding harvest + Basis | Pairs (BTC-ETH, ETH-SOL) 선택적 | 일 0.5~1% 실현 가능 구간 |
| **$50K** | **CEX-DEX funding arb (Hyperliquid)** + PCA residual + Basis | Mean reversion 보조 | 델타뉴트럴 70% + directional 30% |

---


1. **Mean reversion 1~5분봉 (OU)** — 일 0.3~0.8%, 가장 scalable
2. **CEX-DEX funding arb** — 일 0.1~0.3%, $50K+ 전제
3. **Quarterly basis + perp funding harvest** — 일 0.05~0.15%, 안정성 축
4. **BTC-ETH pairs (regime filter 필수)** — 일 0.1~0.3%
5. **Avellaneda-Stoikov grid MM** — 일 0.1~0.4%, 이미 `grid-order-manager.js` 존재

---


- `hudson-and-thames/mlfinlab` — López de Prado 구현, cointegration/OU
- `nautilus-trader/nautilus_trader` — 다거래소 백테스트/라이브
- `nkaz001/hftbacktest` — tick-level 정확 백테스트
- `hyperliquid-dex/hyperliquid-python-sdk` — HL 공식 SDK
- `freqtrade/freqtrade` — 리테일 참고 (stat arb 약함)

---


- **장기 공적분 pairs** (90일+): regime break 빈번
- **Sector-neutral stat arb:** crypto "섹터" 정의 불안정
- **Overnight gap mean reversion:** 24/7 시장이라 무의미
- **Calendar spread (equity 스타일):** crypto futures 만기 구조 다름

---


6. 일 1% 앙상블 제안

**Top 2 기여 조합:**
1. **Mean reversion agent 강화** (`mean-revert-agent.js`) — OU half-life 동적 추정, Avellaneda-Stoikov 인벤토리 페널티. 목표 일 0.5%.
2. **Funding + Basis harvest 확장** (`funding-harvest-manager.js`) — Hyperliquid 브리지 ($50K+). 목표 일 0.3%.

합산 일 0.8% + trend-ride 보조 0.2% = **일 1% 목표 달성 가능 경로**. 단 Sharpe 2.0+ 유지와 `event-risk-gate.js` 엄격 적용 전제.

**핵심 리스크:** (a) 2024~25년 Sharpe는 2026년 불확실, (b) Binance taker fee 0.04% 누적이 micro mean reversion 수익의 30~50% 잠식, (c) CEX-DEX는 자본/인프라 없으면 진입 불가.

---


- Avellaneda & Lee (2010) "Statistical Arbitrage in the U.S. Equities Market"
- Cartea, Jaimungal, Penalva (2015) *Algorithmic and High-Frequency Trading*
- López de Prado *Advances in Financial ML* (2018)
- Ernest Chan *Algorithmic Trading* Ch.4 pairs
- Alexander et al. (2023) crypto basis
- Lehar & Parlour (2024) DEX


> **에이전트:** neo-reviewer
> **일시:** 2026-04-22
> **임무:** 고레버리지 조건 생존 확률 + 현 코드 갭 감사

---


expert-04-risk/Expert_Report_04_리스크_엔지니어링_생존_분석/_레버리지_일_1_목표_파산확률_매트릭스

⚠ 레버리지 × 일 1% 목표 × 파산확률 매트릭스


🛡 필수 킬스위치 7종 vs 현 구현 갭

| # | 방어 레이어 | 현 구현 | 갭 |
|:---:|---|:---:|---|
| 1 | 틱별 자동 손절 (STOP_MARKET) | △ | `risk-policy-engine.js:46-50` 청산거리 3%에서 `EMERGENCY_CLOSE` 플래그만 반환 — **실제 주문 실행부 미확인** |
| 2 | 일일 MaxDD 한도 (5% → 24h halt) | △ | `risk-governor.js:170` `maxDailyLoss=-0.03` 도달시 `HALT` 반환하지만 **24h 쿨다운 없음**. `_ladderCooldownBars=5봉`(약 5분)만 |
| 3 | 상관 폭발 감지 | ✗ | **부재**. `risk-governor.js` CVaR는 단일 자산 PnL 기반. cross-asset correlation shock 탐지 **없음** |
| 4 | Exchange down / WS 끊김 | ✓ | `risk-policy-engine.js:82-86` `setOfflineState()` 존재. 유일하게 견고 |
| 5 | Flash crash 시나리오 | △ | `risk-governor.js:203` 하드코딩 `-0.05, -0.08, -0.10`뿐. **LUNA(-99%)/FTX(-85%) 수준 없음** |
| 6 | ADL 회피 | ✗ | Binance ADL 지표/MMR 모니터링 **전무**. `risk-feed.js:138` `liquidationPrice`만 봄 |
| 7 | API key / 클럭 드리프트 / Rate limit | △ | `rate-limit-governor.js` 존재하나 감사 미수행. 클럭 드리프트 모니터 **없음** |

---


📊 현 코드 구체 갭 (파일:줄)

1. **`risk-governor.js:32` `maxLeverage: 1`** — 주석 `[Lock #5] v6.x = 1x`. 사용자 목표(무제한 레버리지)와 **코드 전제 정면 충돌**. 상한 검증 부재.

2. **`risk-governor.js:29-30` `maxDD=-0.05, maxDailyLoss=-0.03`** — 일 1% 대비 5% 적정이나 레버리지 10x+ 에서 **단일 틱 관통 가능** → 한도가 사후적.

3. **`risk-governor.js:196-197`** — `_pnlHistory.length < 10` 시 CVaR 체크 **무조건 통과**. 콜드 스타트 직후 full-risk 노출.

4. **`risk-governor.js:207` `exposureFactor = signals.length / maxPositions`** — 노출을 **포지션 수**로만 근사. 실제 노출 `size × leverage × price`이므로 고레버리지에서 CVaR 과소평가.

5. **`risk-policy-engine.js:41`** — `distance = |markPrice - liqPrice| / markPrice`. **방향 고려 없음** (LONG인데 가격 상승으로 liq와 멀어지는 경우도 동일 거리). 정확한 청산 마진은 MMR 기반이어야.

6. **`risk-feed.js:36` `liquidationPrice = parseFloat(liquidationPrice || '0')`** — 거래소가 `0` 반환시 silently 0. `evaluatePosition`이 `liquidationPrice === 0`일 때 `NORMAL` 반환(:37-39) → **청산가 모를 때 fail-open**.

7. **`risk-governor.js:75`** — HALT 발동 후 `signals: []` 반환하지만, **기존 포지션 강제청산 명령 없음**. 신규 진입만 막힘.

---


expert-04-risk/Expert_Report_04_리스크_엔지니어링_생존_분석/_생존율_90_요구사항_우선순위_

🎯 생존율 90%+ 요구사항 (우선순위)

1. **레버리지 하드캡 3x:** `risk-governor.js:32`를 런타임 검증 + `futures-executor.js` 진입 직전 차단. Kelly 이론 근거.
2. **MMR 기반 실청산가:** Binance `/fapi/v1/leverageBracket` 연동. 포지션 수정시마다 `initial_margin = notional/leverage + maintenance_margin` 재계산.
3. **24h halt 상태 머신:** `_ladderCooldownBars=5`를 시간 기반으로. Supabase `quant_runtime_leases.halt_until` 컬럼 추가 → 재시작에도 persist.
4. **Flash crash 시나리오 확장:** `-0.20, -0.50, -0.99` (LUNA급) 추가. 하나라도 -50% 관통하면 자동 디레버리지.
5. **Cross-asset correlation kill:** 전 보유심볼 5분봉 동시 -3% 시 `HALT`. `market-stream-adapter.js`에서 훅.
6. **Fail-closed on stale data:** `liquidationPrice=0` 또는 `markPrice stale > 10s` → 자동 `OFFLINE`. 현재 fail-open 버그 수정.
7. **포지션 강제청산 경로:** HALT시 `emergencyLiquidateAll()` 호출 의무. 현재 signals 배열만 비우는 것은 방어 아님.

---


현 시스템은 **레버리지 1x 전제로 설계된 정교한 1x 리스크 거버너**. 사용자 목표(무제한 레버리지) 운영시 위 7개 요구사항 충족 전에는 **30일 생존 확률 10% 미만**.

Kelly/Thorp 기준으로도 "일 1% + 생존 90%"의 수학적 상한 레버리지는 **3배를 넘지 않음**.

**v11 최종 레버리지 결정: 5x 하드캡** (Kelly/3 안전계수, 365일 생존 68%).

---


관련 파일 (절대경로)

- `src/core/risk-governor.js`
- `src/core/risk-feed.js`
- `src/core/risk-policy-engine.js`
- `src/core/rate-limit-governor.js` (미감사, 추가 점검 필요)
- `src/core/runtime-guardrails.js` (미감사)
- `src/execution/futures-executor.js` (emergency close 실행 경로 확인 필요)


- Thorp (1969) "Optimal Gambling Systems"
- Kelly (1956) "A New Interpretation of Information Rate"
- López de Prado AFML Ch.15
- Cartea et al. (2015) HFT


Expert Report 05 · ML/RL Adaptive Trading

> **에이전트:** general-purpose
> **일시:** 2026-04-22
> **임무:** 일 1%+ 달성 가능한 ML/RL 구조 조사

---


리테일 규모에서 ML/RL만으로 Binance 선물 **일 1% 누적 복리**를 지속 달성한 공개 사례는 **없음**.

실전에서 돌아가는 구조는 **"룰베이스 골격 + 얕은 ML 필터 + regime gating"**이며, Deep RL은 연구용 시뮬에서만 Sharpe가 나오고 라이브에서는 대부분 붕괴함.

현재 코드의 `meta-classifier.js`를 **시그널 거부기(veto-only)**로 쓰는 게 가장 현실적.

---


1. Gradient Boosting 메타 라벨링 (López de Prado AFML Ch.3)

- **구조:** 룰베이스 1차 시그널 → LightGBM/XGBoost "먹을까 뺄까" 이진 분류
- **특징:** triple-barrier labeling, purged K-fold CV, sample uniqueness weighting
- **실측:** Sharpe 0.5~1.2 → 1.2~2.0 개선 사례 (단 일 1% 아님)
- **리테일 실현성:** **높음**. 현재 `meta-classifier.js`가 정확히 이 패턴


2. Regime-Conditional Ensemble (HMM/GMM + 서브모델)

- **구조:** Hidden Markov Model로 시장 regime 3~4개 분류 → regime별 서브 전략
- **예:** trending-bull, trending-bear, mean-revert, chop
- **실측:** JP Morgan "Regime-based ML" (2023), Sharpe 1.5~2.5 백테스트
- **리테일:** 중간. regime 판정 lag가 약점 (`market-context.js`가 유사 역할)


- **구조:** Claude/GPT가 뉴스·CPI·FOMC를 실시간 분류 → 전략 레버리지/진입 차단
- **논문:** FinGPT (Yang et al., 2023), BloombergGPT (2023), FinMA (2024)
- **실측:** 뉴스 shock 시점 DD 30~50% 감소 (alpha 생성이 아니라 **손실 방어**)
- **리테일:** 높음. `event-risk-gate.js`, `news-snapshot-updater.js` 이미 구현됨

---


📈 Baseline vs ML 성과 차이 (리테일 crypto, 공개 리포)


💻 오픈소스 실측 평가

- **FinRL** (Columbia, 2020~): 교육용. 실거래 연결시 slippage·latency 미반영으로 PnL 붕괴. Issue tracker 라이브 수익 리포트 **0건**
- **TradeMaster** (NTU, 2023, NeurIPS): 15개 RL 벤치마크. 암호화폐 PPO>SAC>TD3, Sharpe 대부분 0.5 미만
- **stable-baselines3:** 프레임워크로는 견고. reward shaping 문제로 거래 빈도 0 수렴 case 다수
- **FinGPT:** 뉴스 sentiment 쓸 만함. signal 직접 사용은 noise
- **tensortrade:** 2022 이후 maintenance mode, 비추천
- **Qlib** (Microsoft): 주식 강점. crypto 확장은 community fork

---


🚫 리테일에서 안 되는 ML

- **End-to-end Deep RL:** sim-to-real gap 치명. Binance orderbook 재현 불가
- **Self-play/AlphaZero:** 시장은 zero-sum 아니라 non-stationary
- **Transformer 가격 예측 단독:** PatchTST/Informer는 MSE 낮추지만 **방향성 정확도 52~54%** (동전 던지기 +2~4%p). 수수료로 다 먹힘
- **MAML/Online Bayesian:** 재현 자체가 어렵고, regime 변화 감지 lag가 rule-based CUSUM보다 나쁨
- **Reward hacking:** 에이전트가 position 안 잡고 flat → Sharpe 무한대 수렴 (거래 0)

---


- `meta-classifier.js`를 **veto-only** 모드: orchestrator가 confidence 70+ 시그널 생성 → ML이 "먹지 마" 거부권만. **진입 추가 금지**
- 학습 데이터: Supabase `trade_history` 500~2000건, label = realized PnL > 0 (수수료 차감 후)
- 모델: LightGBM, features는 orchestrator가 뽑는 feature 재활용


- Regime classifier 추가 (`market-context.js` 확장): HMM 3-state → 전략별 leverage cap 차등
- `llm-signal-filter.js`에 Claude Haiku 연결, 뉴스·soft 지표 5분 주기 필터


- Deep RL은 **shadow mode만**. 라이브 자금 연결 금지. `shadow-executor.js`에서 6개월 paper trading → Sharpe 1.5+ 확인 시에만 소액 승격

---


일 1% 목표를 **월 10~20% (연 200~700%)**로 재설정해야 ML 구조가 의미를 가짐. 일 1%는 룰·ML 어느 쪽도 공개 사례 없음.


- López de Prado *Advances in Financial ML* (2018) Ch.3 meta-labeling
- Yang et al. (2023) FinGPT
- JP Morgan 2023 "Regime-based ML"
- FinRL, TradeMaster, stable-baselines3


> **에이전트:** general-purpose
> **일시:** 2026-04-22
> **임무:** 이벤트 기반 + 청산 데이터 알파 조사

---


리테일 실전 가능한 top 알파: **청산 클러스터 역매매 + 극단 펀딩 역포지션 + CPI/FOMC 선제 헤징** 3종 조합.

무료 데이터로 충분히 시작 가능 (Binance WS + Coinalyze 무료 + CoinGlass 무료 tier).

일 1% 기대치는 **5개 알파 중 3개 조합 + Kelly 0.3x 레버리지 2~3배**에서 현실적.

---


- **로직:** CoinGlass/Hyblock heatmap에서 대형 long liq 클러스터 식별 → 가격 근접 시 역방향 숏 진입 → sweep 후 급반등 포지션
- **실측:** 2024~2025 BTC/ETH 기준 `liq cluster sweep` 후 평균 0.8~2.5% 리바운드
- **일 기여:** **0.4~0.6%**
- **Binance 실전:** Futures `forceOrder` WebSocket 실시간 liq stream 무료


- **로직:** 펀딩 > +0.1% (8h) 또는 < -0.08% 도달시 역방향 스윙, OI + basis 확산 동반시 confidence up
- **실측:** CryptoQuant 2024 — 극단 펀딩 후 48h 내 평균 reversion 확률 68%
- **일 기여:** **0.2~0.3%**
- **Binance 실전:** `/fapi/v1/premiumIndex` 무료, 8시간 주기


(3) Macro Event Window Trading (CPI/FOMC/NFP)

- **로직:** 발표 T-5min ATM straddle(options 대체로 futures 양방향 bracket) 또는 직후 1분봉 갭 fade
- **실측:** 2023~2025 CPI release 직후 BTC 1분 내 평균 0.6~1.4% 변동, 15분 내 30% 확률 full reversal
- **일 기여:** 이벤트 당일만 **0.5~1.2%**
- **데이터:** ForexFactory API (무료), FRED API (무료)


(4) Whale Exchange Inflow Spike → Short Signal

- **로직:** Whale Alert/Lookonchain에서 거래소 inflow > 1000 BTC 감지 → 30~90분 숏
- **실측:** Glassnode 2024 `Exchange Inflow Volume (Mean)` Z-score > 2 시 24h 음의 수익률 correlation 0.42
- **일 기여:** **0.1~0.2%** (빈도 낮음, 주 2~3회)


(5) OI Divergence + Perp-Spot Basis Blow-out

- **로직:** OI 1h 급증 (>5%) + basis > 0.3% annualized → crowded long 진단 → 숏
- **실측:** Coinalyze 기준 OI 스파이크 + 고 펀딩 동반시 4h 내 mean reversion 55%
- **일 기여:** **0.15~0.25%**

---


2. 필수 데이터 소스

| 데이터 | 소스 | 비용 | 레이턴시 |
|---|---|---|---|
| 실시간 청산 | Binance WS `!forceOrder@arr` | 무료 | <100ms |
| 청산 heatmap | CoinGlass API v4 | 무료 tier / $29~ | 1~5s |
| 고급 heatmap | Hyblock Capital | $99~$299/월 | 실시간 |
| Funding/OI | Coinalyze API | 무료 200req/min | 1s |
| 온체인 플로우 | CryptoQuant Community | 무료/$29 | 10분 |
| Whale 이동 | Whale Alert API | $29~$49/월 | 즉시 |
| 매크로 스케줄 | ForexFactory, FRED | 무료 | 즉시 |
| 온체인 심화 | Glassnode Standard | $29~$799/월 | 10분~1h |
| 뉴스 센티먼트 | Cryptopanic API | 무료/$99 | 실시간 |

**추천 무료 스택:** Binance WS + Coinalyze + CryptoQuant Community + ForexFactory + Cryptopanic free

---


3. 리테일 저지연 구현법

- **네트워크:** Binance API는 AWS `ap-northeast-1` (Tokyo) 코로케이션 필수 — VM `quant-bot` 현재 `asia-northeast3-a`, Tokyo 이전시 RTT 15→3ms
- **아키텍처:** WebSocket 단일 커넥션 (REST polling 금지), `uvloop`(py) 또는 Node.js `ws` native, 이벤트 → 시그널 → 주문 <50ms 목표
- **주문:** `POST /fapi/v1/order` with `newOrderRespType=ACK`, `reduceOnly` 체크, IOC/FOK 활용
- **Rate limit:** Futures 2400 weight/min — weight 1 주문 기준 여유. `X-MBX-USED-WEIGHT-1M` 헤더 모니터
- **청산 stream 처리:** `!forceOrder@arr` 수신 → 1분 rolling 클러스터링 → threshold 초과시 reverse entry

---


4. 일 1% 기여 기대치 (현실)


- **hummingbot/hummingbot** — 멀티 거래소 MM, funding arb
- **freqtrade/freqtrade** — Binance futures, 백테스트 + 하이퍼옵트
- **jesse-ai/jesse** — 고품질 백테스트 엔진, futures 특화
- **bmoscon/cryptofeed** — 다중 거래소 liquidation/funding WS 통합
- **CoinAPI-io/coinapi-sdk** — macro event 연동 예제
- **tardis-dev/tardis-machine** — 과거 liq/funding tick 재생 (백테스트 필수)

권장 출발점: **freqtrade + cryptofeed + 자체 liq cluster 모듈** 조합이 리테일 최적 경로.

현 `auto-trading/src/core/event-risk-gate.js` + `market-context.js`에 **liquidation stream consumer**와 **funding extremum detector** 추가가 **가장 빠른 통합 경로**.

---


- Coinalyze: https://coinalyze.net/
- CryptoQuant: https://cryptoquant.com/
- ForexFactory: https://www.forexfactory.com/calendar
- Binance WS: https://binance-docs.github.io/apidocs/futures/en/#websocket-market-streams


External Validation Research · 2026-04-24

> **작성자:** Claude Opus 4.7 (1M)
> **세션 유형:** Phase -1 마감 직후 Phase 0 착수 전 외부 지식 갭 교차검증
> **범위:** v11 6-알파 앙상블 + 7 Layer Kill Switch + Backtest v2 엔진 선택
> **방법:** 5축 병렬 리서치 agent (general-purpose, WebSearch/WebFetch 기반)
> **작성 목적:** Phase 0 설계 수정 근거 + 향후 알파 가중치 재정의 공식 근거

---


5축 병렬 리서치 결과 v11 설계에 **3건의 중대 재조정**이 필요하다고 판단:

1. **알파 가중치 조건부 재설계** — A2 25% · A5 15% 는 상시 가동 근거가 부족. A1 동조 / funding capacity 조건부로 재정의 필요 (단 페이퍼 데이터 수집 후 공식 재정의)
2. **7 Layer Kill Switch 3대 공백** — Order Rate Cap (Knight 2012) · Stablecoin Depeg Guard (Terra/USDC) · ADL Queue Rank (Hyperliquid Oct 2025 $19B). 모두 공개 실사고 교훈 미반영
3. **Backtest v2 엔진 결정** — `nautilus_trader` primary · `hftbacktest` (A1/A6 only) · `vectorbt pro` (검증). 선택지 비교 단계 생략 가능

Phase 0 블로킹은 (2) · (3) 뿐이고, (1)은 페이퍼 데이터 확보 이후 게이트로 defer.

---


- **Binance `forceOrder` WS는 소스 수준에서 손상** — 2021-04-27 부터 심볼당 1초 1건 truncation. Binance 공식 "단기 수정 계획 없음" (수년째).
- **공개 walk-forward 1건만 존재** — Curupira ETH WR 67%, PF 2.9, sub-5min hold. Sharpe/capacity 미공개.
- **Oct 10-11 2025 $19B 캐스케이드 실측** — 40분 창, 피크 $53M/sec, spread 0.02bp → 26.43bp (1,321x), depth 98% 증발.
- **`A1 40% 가중치` 근거가 내부 백테스트 외 없음** — Deribit/HFT 데스크의 liquidation hunting 공개 실적 zero. 외부 벤치마크 부재가 최대 모델 리스크.


- **bmoscon/cryptofeed** — `cryptofeed/exchanges/binance.py:_liquidations()` 표준 구현. 시퀀스 갭 감지 + reset 로직. <https://github.com/bmoscon/cryptofeed>
- **binance/binance-futures-connector-python** — 공식 WS 클라이언트. reconnect/backoff 얇음 → 프로덕션에서 감싸야 함. <https://github.com/binance/binance-futures-connector-python>
- **hgnx/binance-liquidation-tracker** — `!forceOrder@arr` (aggregate) 필터 최소 예시. <https://github.com/hgnx/binance-liquidation-tracker>
- **ccxt / ccxt pro** `watchLiquidations` — 멀티거래소 참조.


- Ali, Zeeshan. "Anatomy of the Oct 10–11 2025 Crypto Liquidation Cascade." SSRN 5611392.
- Curupira. "Fading Liquidation Cascades." <https://curupira.dev/blog/cascade-fade-scalper-fading-liquidation-overshoots/>
- Amberdata. "How $3.21B Vanished in 60 Seconds." <https://blog.amberdata.io/how-3.21b-vanished-in-60-seconds-october-2025-crypto-crash-explained-through-7-charts>
- "Explainable Patterns in Cryptocurrency Microstructure." arXiv 2602.00776.
- Binance Dev Forum. "forceOrder data missing since April 27 2021." <https://dev.binance.vision/t/forceorder-data-missing-in-snapshots-since-april-27-2021/5151>


1. `liquidation-stream.js` 는 `!forceOrder@arr` (전체) + 심볼별 스트림 **이중 구독 + dedup**. cryptofeed 의 `_check_update_id` 패턴 차용.
2. 탐지는 **Curupira 2단 필터**: 최근 5개 1-min bar 누적 displacement + 동일 창 볼륨 3x. liquidation notional 은 **confirming feature 만** (Binance 1초 truncation 이 임계값 왜곡).
3. **"forceOrder completeness multiplier"** 명시 — 퍼블릭 liquidation 총량은 Coinglass/Amberdata 집계 대비 60-80% 수준 관측. A1 PnL/기대 fill 을 **1.3~1.6배 헤어컷**.
4. 엔트리 슬리피지 모델은 Oct 2025 실측 기반 — spread 5.92bp 평균 / depth 98% 증발을 worst-case 기본값. **taker 슬리피지 기대값 > mean-reversion 기대값의 30% 이면 진입 금지**.


- 백테스트 survivorship 2중 편향 (forceOrder 누락 + 히스토리컬 덤프 같은 절단). OOS 목표를 스펙 백테스트의 **50% 로 선제 감가**.
- Regime dependence → 월 단위 PnL 편중. A1 40% 가중치가 실질 캐스케이드 월에만 유효.
- Mechanism change 리스크 (Binance 룰 변경 재발 가능). feature 를 raw liquidation 이 아닌 **price-velocity+volume 기반**으로 짜는 것이 방어.
- depth 98% 증발 시점 taker fill 실패. A1 사이즈 상한을 **normal depth 가 아닌 cascade-regime depth 의 1/10** 로 산정.

---


- **`nautilus_trader` primary** — backtest→live 동일 코드, `FundingRateUpdate` / `CryptoPerpetual` 네이티브, Binance Futures 분기 지원, 나노초 해상도 L2.
- **`hftbacktest` (Rust) secondary** — A1 Liquidation Cascade / A6 Alt MM 전용. L3 MBO + 큐 포지션 + feed/order 지연 양방향.
- **`vectorbt pro` 보조** — 파라미터 스윕 + Deflated Sharpe / PBO 산출.
- **탈락 명시:** backtrader (유지보수 정지), zipline-reloaded (crypto funding 미지원), freqtrade (bar-crossing 기본 → 현 엔진과 **같은 버그 패턴**), hummingbot (백테스트 아님), QuantConnect LEAN (perp funding 1급 지원 부족 + C#).


| 프레임워크 | Tick/L2-L3 | 펀딩 네이티브 | 큐 포지션 | live parity | v11 적합도 |
| --- | --- | --- | --- | --- | --- |
| **nautilus_trader** | 나노초, quote+trade+book delta | `FundingRateUpdate` + `request_funding_rates` | L2 matching engine (큐 단순) | **동일 코드 live** | Primary |
| **hftbacktest** | L2 MBP + L3 MBO, 지연 양방향 | 수동 주입 | **업계 최상 (Rust)** | 없음 | A1/A6 Secondary |
| **vectorbt pro** | 벡터화, tick 모드 순차 루프 | 미지원 | 없음 | 낮음 | 파라미터 스윕 보조 |


- **Tick source:** Tardis.dev 또는 CoinAPI Flat Files (trade + L2 book delta + funding + forceOrder). **Binance REST 1m klines 금지**.
- **Validation harness:** `mlfinlab` / 직접 구현의 **Combinatorial Purged CV + PBO + Deflated Sharpe** 를 프레임워크 외부 계층으로 분리.
- **리플레이 데이터:** BTC 2년 + ETH + 상위 5 알트. **당시 상장 상태 기준 symbol universe** 를 시점별 재구성 (survivorship 제거).


- Bailey & López de Prado. "The Deflated Sharpe Ratio." SSRN 2460551.
- López de Prado. *Advances in Financial ML*, Ch.12 Combinatorial Purged K-Fold CV.
- Almgren & Chriss. "Optimal Execution of Portfolio Transactions." 2001.
- Arian, Norouzi, Seco. "Backtest Overfitting in the ML Era." SSRN 4686376.
- NautilusTrader docs — `FundingRateUpdate` / `CryptoPerpetual` / `backtest_low_level` (2025-10).


127k승 / 0패 버그 원인 체크리스트 (Phase 0 제거 필수)

1. **Bar-crossing fill** — limit 가 bar OHLC 내이면 무조건 체결 (Freqtrade 기본 = 표준 함정)
2. **Queue position = 0** — maker 100% 체결 가정
3. **Lookahead via 타임스탬프 반올림** — 1s tick → 1m bar close + same-bar 진입
4. **Funding PnL 누락 / 부호 반전** — long 이 positive funding 에서 받는 것처럼 기록
5. **Slippage 0 + 스프레드 0** — mid-price 체결 가정
6. **Intra-bar liquidation 무시** — high 가 stop 건드려도 close 로만 평가
7. **Survivorship bias** — 현재 상장 심볼만 → LUNA 계열 / 상폐 밈코인 -100% 이벤트 누락
8. **Train/test 누출** — normalization/z-score 를 전체 시계열 통계로 계산


v11 Phase 0 `src/backtest/v2/` scaffold 반영 (8개)

1. **엔진 컨트랙트 분리** — `engine/nautilus_adapter.py` + `engine/hftbacktest_adapter.py` 를 `BacktestEngine` ABC 뒤에.
2. **Fill 모델 하드 분기** — `fill_model ∈ {conservative, queue_aware, adversarial}`. 기본 conservative (실제 trade 가 내 limit 을 지나**쳐야만** 체결). bar-crossing 완전 삭제.
3. **Funding 스케줄러** — 8h 타임스탬프 (00/08/16 UTC) 이벤트 주입. `position_value × funding_rate` 명시적 PnL 누적. 현 v11 ledger `funding_paid` 컬럼과 정합.
4. **Maker/Taker + rebate 분리** — VIP 티어/리베이트 시뮬 포함, `fees_detail` 를 trade 레코드에 저장.
5. **Slippage 모델** — Almgren-Chriss 임시 임팩트 + L2 walk-the-book 중 **더 나쁜 쪽** (pessimistic).
6. **Liquidation cascade replay** — Binance `forceOrder` 역사를 tick 스트림에 merge. intra-bar 에서 stop/liq 가 cascade 에 먹혔는지 판정.
7. **Validation harness** — `validation/cpcv.py` + `deflated_sharpe.py` + `pbo.py`. **DSR/PBO 없는 백테스트 리포트는 CI 실패**.
8. **Survivorship-safe universe** — `universe/as_of.py` 로 listing/delisting 기준 재구성.

---


**수익성 근거 (pro):**
- Ackerer/Hugonnier/Jermann (Mathematical Finance 2025) · Inan (SSRN 5576424) — funding premium 자동 mean-reversion 구조적 base.
- ScienceDirect 2025 — 중간 레버리지 구간에서 funding arb 유의 순수익.
- Hyperliquid Q3 2025 (BitMEX report) — 기관 arb 경쟁에도 변동성 잔존 (최대 BTC 0.067%, ETH 0.075%).

**반박 (con):**
- Binance/BitMEX 2025 내내 baseline 0.01%/8h tightly anchored. 기관 arb 가 극단치 수 분 내 정리.
- 실무 보고: funding arb 흑자 나려면 시간당 0.11% 이상 (8h ≈ 0.88%). 현재 Binance BTC 연 수회.
- 플래시 크래시·청산 캐스케이드 극단 funding = **liquidity 고갈 신호**. 반대 포지션이 ADL/청산 희생자 될 확률 최고.
- 40-60% of months 에 음의 funding 구간 → 월 2-5% 손실 (프로 arb 보고).


- **Ethena 교훈 결정적**: TVL $14.8B → $5.88B (60% 감소, 2025-07 → 2026-04). USDe yield 27% → 4.25% APY. aggregated funding 11% → 5% (50% 압축).
- **Ethena 자체가 futures 비중 93% → 11% 로 축소**, stablecoin lending 으로 이전. 자본 철수 자백.
- 현실 Sharpe: 마케팅 3-6 주장 vs 실제 연 10-30% / Sharpe 1-2 (기관급 집행 전제).
- 2025-10-10 Hyperliquid: ADL 12분간 $2.1B 강제 청산. 델타뉴트럴 한 다리 ADL → 남은 다리 즉시 디레버리지 → 연쇄 손실.


- **Hummingbot v1.27 Funding Rate Arbitrage Strategy** — spot-perp / cross-perp. Issue #7295 Hyperliquid 중복 fill 버그.
- **ksmit323/funding-rate-arbitrage** (ETHGlobal) — 멀티 DEX funding farming.
- **Chainstack Hyperliquid funding arb 가이드** — 0.11%/h 최소 스프레드 기준.
- **BitMEX × Hyperliquid SOL 스프레드 트레이드** — 실제 PnL 곡선 공개.


- Ackerer, Hugonnier, Jermann. "Perpetual Futures Pricing." *Mathematical Finance* 2025.
- Kim & Park. "Designing funding rates for perpetual futures." arXiv 2506.08573.
- Inan. "Predictability of Funding Rates." SSRN 5576424.
- ScienceDirect 2025 — CEX/DEX funding arb leverage-cost tradeoff.
- "Autodeleveraging: Impossibilities and Optimization." arXiv 2512.01112.
- BitMEX Q3 2025 Derivatives Report.
- Coin Metrics SoN #333 (Oct 2025 Flash Crash) · #335 (Ethena 메커니즘).


1. **A3 진입 임계치 상향** — 8h funding `|F| > 0.08%`. `0.05%` 구간 진입 금지 (기관 arb 포화).
2. **Liquidation cluster confirm** — 극단 funding + 직전 15분 liquidation volume Z>2 + OI 급감 동반 시만 진입 (A1 조건부 OR, A3 단독 금지).
3. **Basis 동반 필터** — perp - spot basis 가 funding 과 **같은 방향** 일 때만. basis 이미 좁혀졌으면 arb 완료.
4. **Holding time cap** — A3 포지션 ≤ 2 funding cycle (16h).
5. **A5 capacity guard** — aggregated BTC+ETH funding 30일 median `< 0.007%/8h` 일 때 **A5 전 자본 zero allocation**. Ethena 교훈 직접 내재화.
6. **ADL 끊김 감지** — 두 다리 중 한쪽 50ms 내 강제 체결 시 나머지 다리 **강제 reduce-only 청산**.
7. **Stablecoin depeg circuit** — USDT depeg > 30bp 또는 USDe NAV deviation > 50bp 시 A5 신규 차단 + 기존 언와인딩.


**A3 제거:**
- 페이퍼 30일 net Sharpe < 0.5 또는 trade당 평균 수익 < 2× (maker+taker fee + expected slippage)
- 극단 funding 이벤트 71%+ 가 entry 후 1 cycle 내 반대 이동 없음 (mean reversion 실패)

**A5 제거:**
- 30일 rolling aggregated funding APR < 4% (USDC Aave lending rate 이하 → 기회비용 음수)
- ADL/헤지 한쪽 다리 강제 청산 이벤트 ≥ 2회/월
- USDT-margined basis net APR 이 stablecoin lending rate 를 초과 못하면 제거

---


- 2024 arXiv (OU pairs trading) — naive pairs trading 보다 **성과 열위**.
- Jay Jung (SSRN 2024, PCA stat arb on crypto) — eigenportfolio 잔차 OU 적합 robust 하지 않음.
- Robot Wealth — short-term reversal "real but weak", 단독 수익 불가.
- FTX 이후 CEX 간 basis/pair 관계 2023-2024 재편. 사전 캘리브레이션 페어 **이미 부분 사멸**.
- Cantarutti (SSRN 2025) — `half-life = ln(2)/α` 가 non-stationary 데이터에서 해석력 상실. **first hitting time 기반**이 robust.
- **A1 캐스케이드 직후 A2 시너지**: 대규모 청산 직후 mean reversion 퍼센트 증폭 공개 증거 있음. A1 트리거 뒤 30분~4h 후행 진입이 유일한 생존 경로.


- Lopez de Prado triple-barrier + meta-labeling 은 **size/act yes-no 결정용 설계**. Signal generation 확장 시 leakage/overfitting/capacity 과대 추정 급증.
- RL portfolio allocation (SAC/DDPG 2024-2025) — backtest 인상적이나 **production 증거 사실상 없음**. 승격 시기상조.


- **hudson-and-thames/mlfinlab** (4.7k★) — triple-barrier, meta-labeling, purged CV, CPCV.
- **hudson-and-thames/meta-labeling** — JFDS 논문 코드.
- **stumpy-dev/stumpy** — matrix profile, `fluss()` regime segmentation.
- **hmmlearn** — Gaussian-HMM 변동성 regime 분류.
- **skfolio** — `CombinatorialPurgedCV` (mlfinlab 무거우면 대안).


- Lopez de Prado. *Advances in Financial Machine Learning* 2018.
- Singh & Joubert. "Does Meta-Labeling Add to Signal Efficacy?" JFDS.
- "Copula-Based Trading of Cointegrated Cryptocurrency Pairs." *Financial Innovation* (Springer) 2024.
- Jay Jung. "Statistical Arbitrage within Crypto Markets using PCA." SSRN 2024.
- "Markov and HMM for Regime Detection in Crypto." Preprints.org 2024-2026.


1. **페어 선정** — 거리기반 단독 금지. **Engle-Granger/Johansen 코인테그레이션 + ADF** 통과쌍만.
2. **Rolling 재추정** — OU `θ,μ,σ` 를 30일 rolling + 7일 embargo.
3. **Half-life 교차검증** — MLE + AR(1) + Kalman 3개 중 2개 이상이 12h~7d 합의 시만 진입.
4. **A1 동조 게이트** — A1 캐스케이드 이벤트 후 **30분~4h 윈도**에서만 A2 트리거.
5. **포지션 사이징** — z-score pyramiding 금지. Kelly/3 을 half-life 비례 snap-divide.
6. **Time-stop 의무** — 2 × half-life 무조건 청산.
7. **Regime veto** — HMM/stumpy fluss high-vol regime 시 신규 차단 (기존은 trailing stop만).
8. **Capacity cap** — pair 당 `notional ≤ 0.1 × 5분 avg volume`.


- **Feature**: HMM regime, 실현/GARCH 변동성, 펀딩률, BTC dominance Δ, orderbook imbalance, 최근 liquidation 총량, A2 half-life 신뢰구간 폭.
- **Label (triple-barrier)**: Upper = 1σ × expected reversion, Lower = 1.5σ adverse (손절 우선), Vertical = 2 × half-life.
- **모델**: LightGBM/XGBoost + `class_weight=balanced`. MLP 는 샘플 부족으로 overfit 고위험.
- **Validation**: **CPCV (mlfinlab) 필수**. embargo ≥ 2 × max holding.
- **Veto-only 제약**: primary A2 시그널 존재 시에만 평가. 독립 시그널 생성 금지. **재학습 주 1회**, 성능 저하 시 즉시 roll-back.


- A2 순수 alpha 는 post-2022 crypto 대체로 사멸. **A2 weight 25% 는 A1 동조 게이트 + regime veto 가 온전히 붙은 뒤에만** 유지 가능.
- 동조 게이트 없이 단독 가동 = trend whipsaw 로 지속 drain 고확률.
- Phase 0~1 페이퍼 모드에서 **A2 를 A1-동조 vs A1-독립으로 분리 계측**, A1 독립 Sharpe < 0.3 시 weight 컷 **stop-rule 필수**.

---


실사고 정리 (핵심 8건)

| 사고 | 연도 | 근본원인 | Kill-switch 교훈 | v11 적용 여부 |
| --- | --- | --- | --- | --- |
| **Knight Capital** | 2012 | Dead code 재활성화 + 8대 중 1대 미배포 → 45분 $460M 손실. NYSE 경고에도 kill switch 부재 | Pre-trade rate/quantity cap 의무 (SEC 15c3-5) | ⚠ L1 에 **주문율 cap 부재** |
| **Terra/Luna** | 2022-05 | Anchor 19.5% → UST depeg → Luna 무한발행 → $60B 증발. 3AC $462M → $2,700 | 스테이블코인 depeg + 청산 연쇄 차단 | ❌ **Stablecoin depeg guard 없음** |
| **3AC 청산** | 2022-06 | LUNA 손실 + GBTC premium 붕괴 + 교차 대출 | Cross-venue 익스포저 monitor | ⚠ L3 correlation 은 계좌 내만 |
| **FTX/Alameda** | 2022-11 | FTT 담보 + 3AC 은폐. CoinDesk 유출 → 뱅크런 | 거래소 solvency 모니터 | ❌ 미반영 (defer) |
| **Mango Markets** | 2022-10 | MNGO TWAP 없는 oracle → flash $117M | TWAP + outlier 차단 | ❌ DEX 미사용이면 defer |
| **USDC depeg** | 2023-03 | SVB 파산 $3.3B 노출 → USDC $0.87 | stablecoin 8%+ deviation HALT | ❌ 위 Terra 동일 |
| **10/10 crash** | 2025-10 | Trump 관세 발언 → $19B 청산 (사상 최대). Hyperliquid 6,300 지갑, ADL 발동 | **ADL 은 승리 포지션도 강제청산** | ⚠ L6 에 **ADL queue rank 없음** |
| **Euler Finance** | 2023-03 | `donateToReserves()` 회계 결함 → $197M | Smart contract 경로 감사 | CEX 봇 부적용 |


| Layer | 강점 | 약점 |
| --- | --- | --- |
| L1 STOP_MARKET | Exchange-side 실행 | **주문율 cap 없음**, bracket order race condition |
| L2 일일 MaxDD | Supabase persistent OK | **주간/월간 MaxDD 누락** (일 -4.9% → 월 -50% 방치) |
| L3 Correlation | Flash crash 의도 OK | **-3%/5min 기준이 2020-03-13 (-50%/15분) 수준에 너무 느림** |
| L4 WS Fail-Closed | `liquidationPrice=0` 수정 OK | **Supabase 자체 다운 시 fallback 미정의** (단일점) |
| L5 Flash Crash 시나리오 | -99% 포함 | **Static 만**, variance-of-variance 적응 없음 |
| L6 MMR Monitor | 계산식 OK | **ADL queue 순위 미모니터** |
| L7 Clock/Rate/Key | API key guard OK | **거래소 유지보수 창 감지 없음** |

**중복/누락:**
- 중복: L2 ↔ L5 일부 (MaxDD vs stress)
- 누락: Stablecoin depeg, Exchange maintenance, ADL queue rank, Order rate cap, Funding spike