Files
system-specs/docs/01-overview.md

8.5 KiB

QuantBench 시스템 개요

1. 프로젝트 소개

QuantBench는 개인 투자자를 위한 퀀트 트레이딩 플랫폼으로, 다중 계좌 관리, 전략 기반 자동매매, 리스크 관리, 성과 분석을 통합 제공합니다.

핵심 가치 제안

  • 다중 계좌 통합 관리: 한국투자증권, 삼성증권, 키움증권 등 여러 증권사 계좌를 하나의 플랫폼에서 관리
  • 컨테이너 기반 자산 격리: 하나의 계좌에서 여러 전략을 안전하게 병렬 운영
  • 전략 자동화: 백테스트부터 실전 운영까지 일관된 전략 실행 환경
  • 리스크 우선 설계: 사전 주문 검증 및 실시간 리스크 모니터링
  • 투명한 성과 분석: 실시간 성과 추적 및 귀속 분석

2. 주요 기능

2.1 계좌 및 자산 관리

graph LR
    A[투자자] --> B[QuantBench]
    B --> C[한국투자증권]
    B --> D[삼성증권]
    B --> E[키움증권]

    B --> F[컨테이너 1<br/>성장주 전략]
    B --> G[컨테이너 2<br/>배당주 전략]
    B --> H[컨테이너 3<br/>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)

컨테이너는 하나의 실제 계좌 내에서 가상으로 분리된 자산 공간입니다.

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)

전략은 매매 신호를 생성하는 알고리즘입니다.

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)

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. 관련 문서

구성요소 상세 문서

Phase 1:

Phase 2:

Phase 3: