# QuantBench 시스템 개요
## 1. 프로젝트 소개
**QuantBench**는 개인 투자자를 위한 퀀트 트레이딩 플랫폼으로, 다중 계좌 관리, 전략 기반 자동매매, 리스크 관리, 성과 분석을 통합 제공합니다.
### 핵심 가치 제안
- **다중 계좌 통합 관리**: 한국투자증권, 삼성증권, 키움증권 등 여러 증권사 계좌를 하나의 플랫폼에서 관리
- **컨테이너 기반 자산 격리**: 하나의 계좌에서 여러 전략을 안전하게 병렬 운영
- **전략 자동화**: 백테스트부터 실전 운영까지 일관된 전략 실행 환경
- **리스크 우선 설계**: 사전 주문 검증 및 실시간 리스크 모니터링
- **투명한 성과 분석**: 실시간 성과 추적 및 귀속 분석
## 2. 주요 기능
### 2.1 계좌 및 자산 관리
```mermaid
graph LR
A[투자자] --> B[QuantBench]
B --> C[한국투자증권]
B --> D[삼성증권]
B --> E[키움증권]
B --> F[컨테이너 1
성장주 전략]
B --> G[컨테이너 2
배당주 전략]
B --> H[컨테이너 3
ETF 전략]
style F fill:#e3f2fd
style G fill:#e3f2fd
style H fill:#e3f2fd
```
- 여러 증권사 계좌 통합 관리
- 계좌 내 가상 컨테이너 생성으로 전략별 자산 격리
- 실시간 잔고 조회 및 포지션 추적
- 컨테이너 간 자산 이동 및 재배분
### 2.2 전략 실행
- **전략 등록 및 버전 관리**: 전략 코드 및 파라미터의 버전별 관리
- **백테스트**: 과거 데이터 기반 전략 검증 및 성과 분석
- **자동 실행**: 스케줄 기반 자동 매매 신호 생성 및 주문 실행
- **승인 워크플로우**: 자동 실행 또는 사용자 승인 후 실행 선택
### 2.3 리스크 관리
- **사전 주문 검증**: 모든 주문의 리스크 사전 체크
- **포지션 한도 관리**: 단일 종목, 섹터, 총 익스포저 제한
- **손절/익절 자동화**: 조건 기반 자동 청산
- **VaR 계산**: 포트폴리오 리스크 정량화
- **스트레스 테스트**: 극단 시나리오 대비
### 2.4 성과 분석 및 모니터링
- **실시간 성과 추적**: 수익률, 리스크 지표 실시간 업데이트
- **귀속 분석**: 수익 원천 분해 (자산 배분, 종목 선택, 타이밍)
- **벤치마크 비교**: 시장 지수 대비 성과 분석
- **이상 탐지**: 비정상 거래 및 리스크 이벤트 자동 감지
- **다채널 알림**: 이메일, SMS, 푸시, Slack 알림
## 3. 핵심 개념
### 3.1 컨테이너 (Container)
컨테이너는 **하나의 실제 계좌 내에서 가상으로 분리된 자산 공간**입니다.
```mermaid
graph TB
subgraph "실제 계좌 (1억원)"
subgraph "컨테이너 A (3천만원)"
A1[현금: 500만원]
A2[삼성전자: 2500만원]
end
subgraph "컨테이너 B (5천만원)"
B1[현금: 1000만원]
B2[KODEX 200: 4000만원]
end
subgraph "컨테이너 C (2천만원)"
C1[현금: 2000만원]
end
end
style A1 fill:#fff9c4
style A2 fill:#c8e6c9
style B1 fill:#fff9c4
style B2 fill:#c8e6c9
style C1 fill:#fff9c4
```
**특징**:
- 각 컨테이너는 독립적인 가상 잔고를 유지
- 하나의 컨테이너에 하나의 전략 할당
- 컨테이너별 독립적인 리스크 한도 설정
- 실제 계좌 잔고 = 모든 컨테이너 잔고의 합
**장점**:
- 전략 간 간섭 없이 병렬 운영
- 전략별 성과를 명확히 추적
- 리스크를 전략 단위로 통제
### 3.2 전략 (Strategy)
전략은 **매매 신호를 생성하는 알고리즘**입니다.
```mermaid
graph LR
A[시장 데이터] --> B[전략 엔진]
B --> C[매매 신호]
C --> D{리스크 체크}
D -->|통과| E[주문 실행]
D -->|실패| F[실행 중단]
style B fill:#2196f3,color:#fff
style D fill:#f44336,color:#fff
style E fill:#4caf50,color:#fff
```
**구성 요소**:
- **전략 코드**: 신호 생성 로직 구현
- **파라미터**: 전략 동작을 조정하는 변수들
- **버전**: 전략 수정 이력 관리
- **백테스트 결과**: 과거 성과 검증 데이터
**내장 전략 예시**:
- Bold Asset Allocation: 주식/채권 고정 비중 전략
- Momentum: 모멘텀 기반 종목 선택
- Value: 가치 지표 기반 매매
### 3.3 워크플로우 (Workflow)
```mermaid
sequenceDiagram
participant 스케줄러
participant 전략
participant 리스크
participant 증권사
participant 사용자
스케줄러->>전략: 신호 생성 요청
전략-->>스케줄러: 매매 신호
스케줄러->>리스크: 리스크 검증
alt 리스크 통과
리스크-->>스케줄러: 승인
alt 자동 실행 모드
스케줄러->>증권사: 주문 제출
else 승인 필요 모드
스케줄러->>사용자: 승인 요청
사용자-->>스케줄러: 승인
스케줄러->>증권사: 주문 제출
end
증권사-->>스케줄러: 체결 완료
else 리스크 실패
리스크-->>스케줄러: 거부
스케줄러->>사용자: 실패 알림
end
```
## 4. 개발 단계
### Phase 1: MVP (3-4개월)
**목표**: 안전하게 전략을 실행하고 리스크를 통제할 수 있는 기본 시스템 구축
**핵심 컴포넌트**:
- `balance`: 증권사 API 연동 및 계좌 관리
- `mgmt`: 컨테이너 생명주기 관리
- `strategy`: 전략 실행 및 백테스트
- `scheduler`: 자동 실행 스케줄링
- `risk`: 사전 주문 검증
- `data`: 시장 데이터 수집 및 관리
**핵심 기능**:
- 1개 증권사 연동 (한국투자증권 우선)
- 기본 전략 실행 (Bold Asset Allocation)
- 주문 전 리스크 체크
- 수동 승인 워크플로우
### Phase 2: Production Ready (2-3개월)
**목표**: 실전 운영을 위한 모니터링, 분석, 알림 체계 구축
**추가 컴포넌트**:
- `analytics`: 성과 분석 및 리포팅
- `monitor`: 시스템 모니터링 및 알림
**핵심 기능**:
- 실시간 성과 대시보드
- 자동 리포트 생성 (일/주/월)
- 이상 거래 탐지
- 다채널 알림 시스템
### Phase 3: Enterprise Grade (2-3개월)
**목표**: 규제 대응, 감사 추적, 고급 시뮬레이션
**추가 컴포넌트**:
- `audit`: 불변 감사 로그
- `simulation`: Paper Trading 및 시뮬레이션
**핵심 기능**:
- 모든 거래의 감사 추적
- Paper Trading 환경
- 파라미터 최적화
- 스트레스 테스트
## 5. 기술 스택
### 백엔드
- **언어**: TypeScript/Node.js 또는 Python
- **데이터베이스**: PostgreSQL (관계형), TimescaleDB (시계열)
- **캐시**: Redis
- **메시지 큐**: Kafka 또는 RabbitMQ
- **스토리지**: AWS S3 또는 MinIO
### 프론트엔드
- **프레임워크**: React 또는 Next.js
- **차트**: TradingView, Chart.js
- **상태 관리**: Redux 또는 Zustand
### 인프라
- **컨테이너**: Docker
- **오케스트레이션**: Kubernetes (선택)
- **모니터링**: Prometheus + Grafana
- **로깅**: ELK Stack (Elasticsearch, Logstash, Kibana)
## 6. 비기능 요구사항
### 6.1 성능
- 주문 처리 지연시간: < 1초
- 백테스트 속도: 1년 데이터 < 10초
- 실시간 데이터 업데이트: < 5초
### 6.2 안정성
- 시스템 가용성: 99.9% (장중 시간 기준)
- 데이터 정합성: 100% (계좌 잔고 일치)
- 주문 실패 복구: 자동 재시도 및 알림
### 6.3 보안
- API 키 암호화 저장
- 통신 TLS 암호화
- 역할 기반 접근 제어 (RBAC)
- 감사 로그 불변성 보장
### 6.4 확장성
- 다중 증권사 지원 (플러그인 아키텍처)
- 수평 확장 가능한 데이터 처리
- 무제한 컨테이너/전략 생성
## 7. 관련 문서
- [전체 아키텍처](./02-architecture.md)
- [공통 데이터 모델](./03-data-models.md)
- [주요 워크플로우](./04-workflows.md)
- [구현 로드맵](./05-roadmap.md)
### 구성요소 상세 문서
**Phase 1**:
- [balance - 계좌 관리](../components/phase1/balance.md)
- [mgmt - 컨테이너 관리](../components/phase1/mgmt.md)
- [strategy - 전략 관리](../components/phase1/strategy.md)
- [scheduler - 실행 스케줄러](../components/phase1/scheduler.md)
- [risk - 리스크 관리](../components/phase1/risk.md)
- [data - 데이터 관리](../components/phase1/data.md)
**Phase 2**:
- [analytics - 성과 분석](../components/phase2/analytics.md)
- [monitor - 모니터링](../components/phase2/monitor.md)
**Phase 3**:
- [audit - 감사 로깅](../components/phase3/audit.md)
- [simulation - 시뮬레이션](../components/phase3/simulation.md)