QuantLeap · Statistical Gate × AI Trader

시장의 방향을 예측하는 대신,
변동성을 읽고 거래하는 자동매매 프로그램

QuantLeap은 BTC·ETH의 통계적 균형이 평균에서 비정상적으로 벌어지는 순간을 '진입 게이트'로 씁니다. 칼만 필터로 두 자산의 숨은 균형(헤지비율 β)을 실시간 추정하고, Z-Score로 통계적으로 유의미한 평균회귀 국면만 골라냅니다. 이 게이트가 열리면 — AI(제미나이)가 변동성 큰 알트코인을 선별해 방향(롱/숏)을 잡습니다. VIX·공포탐욕 지수로 시장이 무너지는 국면은 피합니다. 감(感)이 아니라 — 노벨경제학상을 받은 공적분 이론과 칼만 필터 위에 세운 시스템입니다.

기반 연구 — 학술 논문 7편 · 증권 리포트 2건 · 퀀트 저서·가이드 6건

이주 이주형 · Lee Ju Hyeong1인 설계·구현 · Python(전략) + Rust(신뢰) · 논문→수식 직접 구현
⚠️ 단계 — 작동 프로토타입. 전략 구현 + 텔레그램 신호 작동 확인. 기본 dry-run(모의 — 실주문 없음) · 백테스트/실거래 성과는 측정 전. 수익률·승률 주장 0.
Kalman Filter (동적 β) Z-Score Gate · |Z|>1.65 VIX + Fear&Greed 레짐 Rust Spine · 직접 REST
📈
QuantLeap · 현수통제소 · 게이트 BTC·ETH 4h
DRY-RUN
dry-run 신호 세션 · P&L 미표시
Theoretical Foundation

노벨경제학상 이론을 포함해 검증된 학술 연구를 기반으로 한 매매 로직

공적분 (Cointegration)Engle & Granger, 1987
→ 2003 노벨경제학상
칼만 필터 (Kalman Filter)R. E. Kálmán, 1960
상태공간 추정의 정본
평균회귀 — OU 과정Ornstein–Uhlenbeck
평균으로 되돌아오는 확률과정
상태공간 평균회귀Elliott · van der Hoek
· Malcolm, 2005
BTC·ETH
게이트 기준쌍공적분 칼만 Z
1.65σ
진입 Z 임계≈ 90% 신뢰구간
6+
직접 구현 논문 수식칼만·공적분·Z-Score
측정 전
실거래 성과dry-run · 수익률 미주장

전략 파라미터·구현 지표입니다 — 실거래 손익·승률·수익률은 측정 전이며 어떤 성과도 주장하지 않습니다.

Recursive Self-Improvement · RSI

‘봇’이 아니라, 스스로 개선되는 시스템

model + harness — AI 판단은 한 구성요소일 뿐, 리스크 게이트·평가 하네스·회고·로그가 모델을 감싸는 harness가 본체입니다. 거래에서 배우고(학습), 그 배움을 규칙으로 제도화하며(개선), 시장에 적응하도록 — 한 번 짜고 끝나는 코드가 아니라 루프가 도는 자동매매를 설계했습니다.

재귀개선 루프 (RSI) 거래에서 배우고 규칙을 제도화하며 시장에 적응한다 — model + harness ① 거래 실행 · 청산 실현 ROE · BTC 대비 alpha 산출 ② 회고 생성 반성·기억 — TradingAgents 흡수 ③ BM25 기억 저장 · 다음 분석에 주입 학습 — 무비용·오프라인 (청산당 1회) ④ Postmortem 손절·미진입·필터탈락 — TradingCodex 흡수 ⑤ 규칙 proposal → 검증 → audit 제도화 — 숨은 변경 금지 ⑥ 반복 실수 = 진입 전 자동 체크로 박제 validation — eval 하네스가 검증 팔 ↺ 다음 거래에 반영 · 시장 적응

이 루프는 외부 트레이딩 에이전트 2종을 진지하게 해체·흡수해 설계했습니다 — TradingAgents(반성·기억 BM25, arXiv 2412.20138)·TradingCodex(harness + improvement loop). ※ 두 흡수는 설계 반영 단계(구현 완료 아님, 일부 미배포)로 정직 표기.

The Strategy

칼만 Z-Score 게이트 → AI 방향성 진입

BTC·ETH는 장기적으로 함께 움직입니다(공적분). 이 균형이 비정상적으로 벌어지는 순간을 칼만 필터의 동적 헤지비율 β와 Z-Score로 포착해 — 진입 타이밍 게이트로 씁니다. 게이트가 열리고 레짐이 안전하면, AI가 변동성 큰 알트코인에 방향성 포지션을 잡습니다.

스프레드 & 칼만 상태공간 Elliott et al. 2005

헤지비율 β를 '숨은 값'으로 두고 4시간 봉마다 칼만 필터로 갱신합니다. 스프레드의 평균회귀는 상태공간 모델(Ornstein–Uhlenbeck — 평균으로 되돌아오는 확률과정)로 표현합니다.

st= PtBTC βt· PtETH
# 칼만 상태공간 (β = 은닉 상태)
βₜ = βₜ₋₁ + wₜ // 상태 전이
PBTCₜ = βₜ·PETHₜ + vₜ // 관측

Z-Score 게이트 → AI 방향성 실행 Cointegration · 확정 config

스프레드를 롤링 평균·표준편차로 정규화해 "얼마나 비정상적으로 벌어졌나"를 Z로 판정합니다. |z|>1.65이고 레짐이 안전하면 게이트가 열립니다. 이때 AI(제미나이)가 변동성 큰 알트코인을 선별하고 방향(롱/숏)을 정해 진입합니다. 청산은 |z|<0.75 복귀 + TP 백스탑 + 손절(−10% ROE) + 타임스탑.

zt= stμtσt
게이트 개방: |z| > 1.65 // ≈90% CI
청산: |z| < 0.75 // 평균회귀 완료
손절: −10% ROE · 타임스탑 120
게이트 기준 · 타임프레임BTC·ETH 공적분 Z · 4h × 220봉
실행 대상AI 선별 알트코인 (예: SOL)
평균·분산 / σ피처 / 기울기 / RSI200 / 20 / 5 / 14봉
레버리지3x~5x (AI · 최소 3x)
Regime Filter

평균회귀가 깨지는 구간은 진입하지 않는다

평균회귀 신호는 추세장·공포장에서 무너집니다. 시장 국면(레짐)을 외부 지표로 판정해, 위험 국면에서는 게이트를 아예 열지 않습니다.

📉

VIX 변동성 레짐

VIX(공포지수) 5일 단순이동평균의 Z-Score가 임계를 넘으면 변동성 급등 국면으로 보고 진입을 멈춥니다.

VIX 5d SMA Z > 2.0 → 진입 중단
😱

Crypto Fear & Greed

암호화폐 공포·탐욕 지수가 극단 공포로 떨어지면 상관 붕괴 위험이 커지므로 진입을 멈춥니다.

Fear & Greed < 20 → 진입 중단
Interactive

Z-Score 게이트, 직접 움직여 보세요

스프레드의 Z-Score가 밴드를 넘는 순간이 게이트 개방(진입 허용), 0.75 안으로 돌아오면 청산 신호입니다. 진입 임계(z)를 바꾸면 게이트가 열리는 타점과 횟수가 어떻게 달라지는지 보입니다 — "왜 1.65인가"가 트레이드오프로 드러납니다.

SPREAD Z-SCORE · 진입/청산 시뮬
1.65
게이트 개방: 청산 임계: 0.75 현재 임계: 1.65
※ 예시 데이터(평균회귀 시뮬)로 게이트 작동을 시연합니다. 실제 시세·백테스트 수치가 아니며 성과를 의미하지 않습니다.
System Design

Python Brain ↔ Rust Spine 이중 구조

가변 전략은 Python, 끊기면 안 되는 통신·체결·청산은 Rust로 분리했습니다. 모든 주문은 안전 헌법층을 통과합니다.

① Python Brain — 전략 계층

칼만 Z 게이트 · 레짐 · AI 판단

Binance REST로 4h 시세를 수집(ccxt 등 라이브러리 없이 직접 구현)하고, 칼만 필터로 β·스프레드를 추정합니다. Z-Score와 레짐 필터로 게이트를 열고, 게이트가 열리면 AI(제미나이) 판사가 변동성 큰 알트코인과 방향(롱/숏)을 결정합니다.

PythonKalman (직접 구현)Z-Score GateVIX·F&GGemini 판사
주문 의도 → 게이트
② 안전 헌법층 — Rust Spine 강제

리스크를 코드로 강제

모든 주문이 통과하는 관문. kill-switch · 레버리지 상한 · 일일 손실 한도를 코드로 강제하며, 전략 경로가 우회할 수 없습니다.

kill-switchleverage capdaily-loss limit
검증 통과분만 → 체결
③ Rust Spine — 신뢰 계층

주문 원자성 · 통신 · 청산

Binance REST를 직접 호출하되 요청마다 위·변조 방지 서명(HMAC)을 붙입니다. 진입과 동시에 보호주문을 함께 발주해 원자성을 보장하고, WebSocket으로 체결·청산을 감지하며 한쪽만 체결되면 되돌립니다.

Rust · axumhmac-sha256tokioWebSocket
From Paper to Code

논문 → 수식 → 코드

전략의 모든 핵심은 학술 논문에서 수식을 끌어와 직접 구현했습니다(라이브러리 래핑이 아님). "직접 구현"과 "배경 검토"를 정직하게 구분합니다.

구현 요소근거 문헌사용
칼만 상태공간 평균회귀 (동적 β)Elliott, van der Hoek & Malcolm (2005), Quantitative Finance 5(3):271–276직접 구현
공적분 · 롤링 정상성 · Z-Score(±1.65~2.0) 게이트Cointegration-based pairs trading (ETF)직접 구현
코퓰러 · 조건부확률(0.05/0.95) 접근Liew & Wu (2013), J. Derivatives & Hedge Funds 19:12–30배경 검토
암호화폐 의존성 (ARMA-GARCH · 코퓰러)Dependence Modeling in Crypto using Copula배경 검토
ML/RL 통계적 차익거래 · LOB 딥러닝Enhancing Stat-Arb with ML · jrfm-12-00031 · 1601.01987배경 검토
체계적(systematic) vs 재량적 운용 관점Campbell Harvey 칼럼 · 강환국 퀀트 투자 · 증권사 리포트(삼성·유진)서사·관점

대표 인용 — Elliott, R., van der Hoek, J., Malcolm, W. (2005). Pairs trading. Quantitative Finance, 5(3), 271–276. · Liew, R., Wu, Y. (2013). Pairs trading: A copula approach. Journal of Derivatives & Hedge Funds, 19, 12–30.

Live Brain Log

판단 과정을 그대로 보여줍니다

아래는 실제 Brain 로그입니다. 레짐 판정 → AI가 종목·방향 제안 → 칼만 게이트의 정량 검증, 그리고 조건 미충족 시 거부까지 — 결정의 전 과정이 기록에 남습니다.

brain.log · MEAN_REVERSION 사이클
2026-06-23T11:09:58 [INFO] regime_filter: [REGIME] MEAN_REVERSION | 평균회귀 진입 허용 (VIX-Z=-0.76, F&G=23)
2026-06-23T11:10:08 [INFO] brain: [3] AI 결정: SIGNAL=LONG, SYMBOL=SOLUSDT
2026-06-23T11:10:08 [INFO] brain: [META] Z=0.0085  BETA=1.4845  VAR=0.000009
2026-06-23T11:10:08 [INFO] brain: [META] AI 판사 진입 거부 — 칼만 진입 조건 미충족 (Z=0.0085)

레짐은 평균회귀를 허용했고 AI는 SOL 롱을 제안했지만, 칼만 Z(0.0085)가 게이트 임계(1.65)에 한참 못 미쳐 정량 게이트가 진입을 거부했습니다. AI 제안 위에 통계 게이트가 거부권을 갖는 구조입니다. ※ dry-run 로그 · 키·잔고 미포함.

Self-Improving Loop · 제도화

회고를 운용 원칙으로 — HITL 제도화

위 재귀개선 루프의 ⑤ 제도화 팔입니다. 결정을 회고해 운용 원칙을 다듬되, 사람 승인(HITL)을 거쳐야 원칙 KB에 박힙니다. 단, 안전 헌법층도 진입 상수도 이 루프가 코드 밖에서 바꿀 수 없습니다.

🔁

회고 → 원칙 제안(staged) → 사람 승인(HITL) → 원칙 KB 갱신

/reflect로 결정을 회고하면 원칙 개선안이 staged 파일로 올라오고, 오너가 /principle approve로 승인해야 principles.yaml(원칙 KB)에 반영됩니다. 회고 서술은 페르소나 '이현수'(소설 『초파리』 캐릭터 — 창작 기반)가 맡습니다. 중요 — 원칙 KB 승인은 기록일 뿐, 실거래 라이브 토글이나 칼만 진입 상수를 바꾸지 않습니다. 진입 임계·청산·타임스탑 같은 상수는 코드 재배포로만, 안전 헌법층(kill-switch·레버리지·일손실)은 risk_config.json으로만 바뀝니다. 자기진화가 안전이나 핵심 전략 상수를 침범할 수 없습니다.

Evaluation

성과가 아니라, 규칙 준수를 측정한다

수익률로 성과를 주장하지 않습니다. 대신 시스템이 규칙을 지키는가를 평가합니다(자체 eval 하네스 · 실 API 없는 dry-run). 이 평가가 재귀개선 루프의 validation 팔입니다.

⚠️ DRY-RUN 시뮬레이션 · 실거래 성과 아님
리스크 룰 준수율100.0% (위반 0)
TP/SL 부착률100.0% (3/3 진입)
킬스위치 차단 예상/실제2 / 2 ✅
일일 손실 한도 차단✅ 정확
원칙 준수율100.0% (미인용 진입 0)
결정 결정론(동일 seed 2회)✅ 재현
결정 품질 점수100.0 / 100

출처: repo eval_report.md/metrics.json · seed=42 · 20틱·3진입 · 결정론 재현. 전부 dry-run 프로세스·리스크 지표이며 실거래 P&L·수익률이 아닙니다.

Build Journey

엔지니어링 회고

ccxt 없이 Binance REST 직접 구현

라이브러리에 의존하지 않고 서명(HMAC)·요청·레이트리밋을 직접 제어. 통신 계층을 완전히 장악해 디버깅·확장 자유도를 확보.

전략과 신뢰성의 분리 — 이종 언어 듀얼 트랙

가변 전략(Python)과 끊기면 안 되는 통신·청산(Rust)을 한 곳에 두니 신뢰성이 흔들림. 로컬 REST로 분리해 해결.

휴대폰 무중단 가동 — Termux → Ubuntu PRoot

전용 서버 없이 모바일 무중단 가동을 시도하다 컴파일 지옥. Ubuntu PRoot로 표준화하고 절차를 SOP로 문서화.

Demo

실제 출력

텔레그램·Brain·Spine의 실제 출력 포맷입니다. 전부 dry-run · 키·잔고·손익(P&L)은 마스킹.

📨텔레그램 진입 알림
🎯 [타격 완료] SOLUSDT LONG 3x
진입가 145.2300 · QTY 0.2750 · LEV 3x
🎯 1차 청산: Z-Score < 0.75
🎯 TP 백스탑 151.7650
🛡️ 손절 142.3254 (−10% ROE)
⏱️ 타임스탑 120분
📊/status 포지션 브리핑
📊 [현재 상태 보고]
종목: SOLUSDT
진입가: 145.230000
🎯 TP 151.765000 · 🛡️ SL 142.325000
수익금 *** · ROE *** · 잔고 ***
(dry-run 마스킹)
🦀Spine REST 응답
GET /position/active →
{
  "balance": "***",
  "positions": [{
    "symbol": "SOLUSDT", "side": "LONG",
    "entryPrice": 145.23,
    "tp": 151.765, "sl": 142.325
  }],
  "status": "success"
}
Honest Status

한계와 다음 단계

⚠️ 현재 한계

  • 백테스트·실거래 성과는 측정 전. dry-run 신호 작동까지 확인. 수익률·Sharpe·MDD 미주장.
  • 게이트 기준은 단일 공적분쌍(BTC·ETH) — 동적·다중 기준쌍은 미구현.
  • AI 종목 선별의 일관성·레짐 필터 임계값·체제 전환 지연은 한계로 명시.

🧭 다음 단계

  • 백테스트 산출 — 과거 데이터로 Sharpe·MDD·반감기·ADF 측정 → 성과 수치 확보.
  • 다중·동적 게이트 기준쌍 선정(공적분 스캔).
  • 레짐 필터 튜닝 + 워크포워드 검증.
⚖️

면책 고지

QuantLeap은 개인 학습·포트폴리오 목적의 프로젝트입니다. 투자자문이 아니며 어떤 수익도 보장하지 않습니다. 페이지의 인터랙티브·예시는 수식 작동을 보이기 위한 예시 데이터이고, 모든 운용 지표는 dry-run 기준 · 백테스트 측정 전으로 실거래 손익·승률·수익률을 의미하지 않습니다. 저장소는 clean-room으로 API 키·시크릿을 포함하지 않습니다.

감이 아니라 시스템으로

논문에서 수식을 끌어와 직접 구현하고, 통계 게이트가 진입 타이밍을 정하면 AI가 종목·방향을 잡고, 리스크는 코드로 강제하며, 전략과 신뢰 로직을 분리한 자동매매 에이전트입니다.