How nishant4671/worldquant-pipeline- works
This repository automates WorldQuant BRAIN alpha research: a CLI coordinates expression proposal, static validation, simulation, persistence, and Telegram review. The generator and Gemini client provide complementary proposal paths; the validator gates expressions before simulation, whose engine submits and polls BRAIN simulations and evaluates metrics. SQLite stores candidates, while Telegram sends digests and processes Submit/Skip interactions. The excerpts show the main orchestration and several calls, but not every pipeline step or storage interaction; unsampled links are omitted. The README is empty, so documented capability coverage is limited to source descriptions and the file tree.
Main entry points: main.py Pipeline CLI · notifier.py Telegram notifier · database.py Alpha database · llm_client.py LLM client
Components 14
Pipeline orchestration
- Pipeline CLI
main.py - Runtime settings
config.py
Alpha research
- Expression generator
generator.py - LLM client
llm_client.py - Expression validator
validator.py
Simulation
- Simulation engine
engine.py - BRAIN API client
api_client.py
Persistence and review
- Alpha database
database.py - Telegram notifier
notifier.py
External integrations
- WorldQuant BRAIN
- Google Gemini
- Telegram
- SQLite
Other components
- Operator
Connections 13
- Operator → Pipeline CLI: invokes commands
main.py - Pipeline CLI → Expression generator: requests expressions
main.py - Pipeline CLI → LLM client: requests proposals
main.py - Pipeline CLI → Expression validator: validates proposals
main.py - Pipeline CLI → Simulation engine: runs simulations
main.py - Pipeline CLI → Alpha database: initializes database
main.py - Pipeline CLI → Telegram notifier: sends digest
main.py - Simulation engine → BRAIN API client: sends requests
engine.py - BRAIN API client → WorldQuant BRAIN: authenticates and requests
api_client.py - LLM client → Google Gemini: calls model
llm_client.py - Telegram notifier → Alpha database: marks notified
notifier.py - Telegram notifier → Telegram: sends and polls
notifier.py - Alpha database → SQLite: reads and writes
database.py