Quant-Lab is a quantitative research and strategy analysis platform for crypto and stock markets. The project turns raw hypothesis testing into an operable product: typed APIs, modular quant logic, reusable indicator pipelines, multi-page React workflows, and documentation that makes implementation decisions traceable.
Keywords: quant finance, crypto, stocks, stock trading, algorithmic trading, backtesting, AI-assisted strategy analysis.
Portfolio lens: this repository is intentionally positioned as an Implementation PM case study. It demonstrates how quant research is translated into a maintainable software system with delivery structure, architecture boundaries, execution artifacts, and a clear roadmap.
- Product scope: 14 frontend route pages, 11 backend modules, 4 feature-sliced frontend domains, and 20 backend test files supporting research, scanning, backtesting, journaling, and AI-assisted exploration.
- Quant focus: streak analysis, hybrid filters, MTF trend judgment, pattern scanning, and AI-assisted strategy drafting.
- Engineering focus: React + TypeScript frontend, FastAPI backend, pure indicator/core layers, short-lived live OHLCV snapshot caching, and explicit documentation for architecture, install flow, and feature-to-backend mapping.
Natural-language strategy drafting, indicator selection, and execution parameter setup in a single workbench.
Pattern-driven streak analysis workflow with EMA filtering, conditional breakdowns, and execution-ready controls.
Rule-combination backtest page for composing MA, Bollinger, and pattern-based entry filters.
- I can decompose a quant product into bounded modules instead of growing a monolithic script pile.
- I can move from research logic to implementation artifacts: API contracts, UI workflows, startup scripts, and validation docs.
- I can manage technical execution as an Implementation PM, not just write isolated code, by making system decisions explicit and repeatable.
- Evaluates bullish and bearish streak behavior with follow-through statistics.
- Surfaces confidence intervals, conditional splits, and significance-aware reporting rather than raw hit rates alone.
- Aggregates directional evidence across multiple intervals to reduce single-timeframe bias.
- Uses indicators such as EMA, MACD, Supertrend, and stochastic context to frame regime-level decisions.
- Supports combined indicator filters, scan-first workflows, and backtest-ready parameterization.
- Organizes strategy-specific logic under bounded backend modules so features can evolve independently.
- Converts natural-language research prompts into structured analysis conditions.
- Separates LLM parsing, rule normalization, statistical evaluation, and frontend presentation so AI features remain auditable.
core/: Pure quant primitives and indicator pipelines with no HTTP or UI awareness.backend/strategy/: Strategy-specific business logic for streak, hybrid, combo filter, and related domains.backend/modules/: API-facing orchestration, schemas, and service boundaries, with response envelopes and centralized exception wrapping.backend/utils/data_loader.py: Shared OHLCV entry point with CSV fallback and short-lived live-data snapshot caching to avoid redundant market fetches.frontend/src/api/: Centralized API clients that normalize envelopes and throw typed errors so React Query can handle failures consistently.frontend/src/features/: Feature-sliced UI modules that keep complex workflows localized instead of spreading logic across generic components.frontend/src/store/: Persisted Zustand state for shared coin/timeframe context and backtest defaults, kept aligned across pages.
Architecture details live in ARCHITECTURE.md.
- Implementation PM Case Study
- GitHub Profile Blurb
- Portfolio Release Notes
- System Architecture
- API Specification
- Install And Recovery Guide
- Page To Backend Mapping
- Streak Analysis Flow
- Complex Mode Flow
- GitHub Actions runs backend tests, frontend lint/build, and architecture guard scripts on every push to
main. - The current backend suite collects 124 tests across 20 files, covering quant math, AI orchestration, cache behavior, auth flow, and architecture invariants.
- The repository includes explicit import guards to prevent
core/and router layers from accumulating cross-layer coupling. - Public repo hygiene is enforced via ignore rules that exclude logs, local caches, agent artifacts, and large market data files.
- Python 3.9+
- Node.js 18+
- Optional local Binance CSV cache under
binance_klines/
git clone https://github.com/alfredcho91-ux/Quant-Lab.git
cd Quant-Lab
chmod +x start.sh
./start.sh- Frontend:
http://localhost:5173 - Backend API:
http://localhost:8000 - API docs:
http://localhost:8000/docs - Local development bypasses HTTP Basic auth by default. Basic auth is enforced only when
APP_ENV=production.
- Market data can come from local CSV files under
binance_klines/or live Binance fetches through the backend data loader. - Live OHLCV requests are snapshot-cached briefly in the backend so repeated multi-page analysis runs do not refetch the same candles immediately.
- Frontend analysis mutations now rely on typed API errors instead of silent
nullreturns, so error UI and retry flows stay consistent.
- Quant logic is isolated from transport and presentation layers.
- New features are documented with implementation maps so the repository stays understandable as scope grows.
- Local startup and recovery are scripted to reduce friction when onboarding or restoring the project.
- Repository: alfredcho91-ux/Quant-Lab
- Current CI workflow: Tests
- Portfolio release notes: docs/PORTFOLIO_RELEASE_NOTES.md
- Phase 1: Core analytics, backtesting workflows, and architectural modularization
- Phase 2: Execution-ready live trading integration and portfolio state management
- Phase 3: Natural-language indicator customization, user-defined strategy composition, and ML-assisted ranking
- Phase 4: CI/CD, containerization, and cloud deployment hardening
Designed and implemented by Geunwoo Cho, focused on the intersection of Quant Finance and Software Implementation.


