퀀티마이저(QuantiMizer) 는 머신러닝 기반 데이터베이스 최적화 기법을 활용해 퀀트 투자 전략의 백테스팅 성능을 높이는 시스템입니다. FastAPI 백엔드와 React 기반 프론트엔드를 중심으로, 전략 생성부터 결과 비교, 모델 관리, 모니터링까지 백테스팅 워크플로우 전반을 지원합니다.
- 백테스트/전략 관리: 다양한 전략과 백테스트 설정을 등록하고 실행 결과를 대시보드에서 시각화 및 비교.
- 블록 기반 전략 빌더: Blockly UI로 지표·매매 로직을 조합하여 코드 없이 전략 구성.
- ML 모델 운영: 예측 모델 학습·추론 요청과 맞춤 피쳐 선택을 지원하여 전략 성능 개선.
- DB 및 로깅 최적화: ML 기반 DB 최적화를 전제로, Loki/Promtail/Grafana 스택으로 로그를 수집·관찰.
- 인증·권한 분리: 사용자/관리자 토큰 기반 인증 흐름을 제공하여 안전한 운영 환경 확보.
- 커뮤니티 공유: 전략 및 결과를 게시물 형태로 공유해 협업과 피드백을 촉진.
- Backend: FastAPI 기반 REST API, SQLAlchemy ORM, JWT 인증. 환경 변수로 DB URL과 JWT 시크릿을 주입해
uvicorn으로 서비스합니다. - Frontend: Vite + React(TypeScript) SPA. 차트, 전략 비교, 예측 모델 UI, 관리자/사용자용 페이지를 제공합니다.
- Observability: Loki + Promtail + Grafana 스택을
docker-compose로 함께 실행하여 서비스 로그를 중앙집중화하고 대시보드로 시각화합니다.
- 필수 요구 사항: Docker, Docker Compose.
backend/.env에 핵심 환경 변수를 설정합니다 (예:DATABASE_URL,JWT_SECRET_KEY,ACCESS_TOKEN_EXPIRES,REFRESH_TOKEN_EXPIRES).- 루트에서 다음을 실행해 백엔드·프론트엔드·모니터링 스택을 모두 올립니다:
docker compose up -d
- 기본 포트
- Frontend: http://localhost
- Backend: http://localhost:8000
- Grafana: http://localhost:3000
- Backend
cd backend && python -m venv .venv && source .venv/bin/activatepip install -r requirements.txt.env에 DB URL과 JWT 시크릿을 설정한 뒤 개발 서버 실행:uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
- Frontend
cd frontend && npm install- 개발 서버 실행:
npm run dev - API 프록시 기본값은
VITE_API_BASE_URL=/api이며 필요 시.env에 맞게 조정합니다.
├── backend/ # FastAPI 서비스, 도메인별 router/schemas/models
│ ├── app/core # 설정, 로깅 초기화
│ ├── app/routers # auth, strategies, backtests, community 등 API 엔드포인트
│ ├── app/services # 비즈니스 로직 및 백테스트/모델 처리
│ ├── app/db # 세션 및 모델 베이스 정의
│ └── requirements.txt # Python 의존성 목록
├── frontend/ # Vite + React(TypeScript) 단일 페이지 앱
│ ├── src/pages # Onboarding, StrategyBuilder, AdminDashboard 등 주요 화면
│ ├── src/components # 차트, 모달, Pagination 컴포넌트
│ └── package.json # 프론트엔드 의존성 및 스크립트
├── docker-compose.yml # 백엔드/프론트엔드/관측 스택 통합 실행 설정
├── loki-config.yaml # Loki 설정
└── promtail-config.yaml # Promtail 설정
본 리포지토리의 라이선스 정보는 별도로 명시된 경우를 제외하고 팀 내부 정책을 따릅니다.