Multi-tenant SaaS for WorldQuant BRAIN consultants.
Wadquant separates interactive research from automated, scaled generation:
┌──────────────────────────────────────┐ ┌─────────────────────────────────────┐
│ Automated Production │ │ Interactive Research │
│ │ │ │
│ ┌───────────┐ ┌───────────┐ │ │ ┌───────────────────────────────┐ │
│ │ Next.js │ <----> │ Python │ │ │ │ Jupyter Notebook (ACE API) │ │
│ │ Web App │ │ Worker │ │ │ │ - how_to_use.ipynb │ │
│ └───────────┘ └─────┬─────┘ │ │ │ - ace_lib.py │ │
│ │ │ │ └───────────────┬───────────────┘ │
└─────────────────────────────┼────────┘ └──────────────────┼──────────────────┘
│ │
└──────────────┬──────────────────┘
▼
┌──────────────────────────────┐
│ WorldQuant BRAIN API │
│ (https://api.worldquantbrain.com)
└──────────────────────────────┘
- Production Pipeline (Next.js + Python Worker):
- apps/web/: Next.js UI + API (Auth.js, Prisma, job queue).
- apps/worker/: Background worker running on-demand jobs, leasing tasks from Redis, querying LLMs, and checking simulations via a custom
BrainClient. - packages/shared/: Shared Zod schemas defining job contracts between Next.js and the Python worker.
- Interactive Research Sandbox (Jupyter Notebook):
- how_to_use.ipynb: A Jupyter notebook utilizing the official
ace_lib.py(Alpha Creation Engine) library to perform local quantitative analysis, load datasets, backtest expressions, and plot PnL results.
- how_to_use.ipynb: A Jupyter notebook utilizing the official
See apps/web/SETUP.md for full instructions.
# Start Postgres & Redis
docker compose up -d
# Install dependencies and build shared Zod package
pnpm install
pnpm --filter @wadquant/shared build
# Migrate database and start Next.js
pnpm db:push
pnpm devTo run the interactive Jupyter Notebook and research alphas using ace_lib.py:
# Launch Jupyter Notebook server
make notebook