SmartQuant Product
QuantController
SmartQuant's central orchestration and observability server - the control plane for your trading application ecosystem.
Overview
QuantController is SmartQuant's central orchestration and observability server. It brings all running applications (strategies, services, gateways, routers) into a single management layer: applications register automatically on startup, and monitoring clients get a real-time view of the entire trading stack.
If SmartQuant is an ecosystem of trading applications, QuantController is its control plane.
Why QuantController
-
Universal application registry: every SmartQuant application logs in to QuantController automatically and publishes
AppInfo(what is running, where it runs, and what kind of application it is). -
One place to monitor everything: connect from QuantMonitor (desktop), QuantWeb (web), or directly from the IDE (for example, QuantVSIX) and instantly see your full application landscape.
-
Event and command routing: QuantController forwards messages between applications and clients (targeted or broadcast), making distributed operations straightforward.
-
Foundation for remote strategy deployment: QuantLauncher can integrate with QuantController to start strategies remotely from your strategy repository.
What QuantController does
Registry and lifecycle visibility
- • Automatic registration on application startup (login).
- • Disconnect detection and real-time connect/disconnect notifications to monitoring clients.
- • Current app list snapshot delivered when a new monitoring client connects.
Transport and routing
Two TCP endpoints:
- • App Server for SmartQuant applications.
- • Viewer Server for monitoring/control clients.
Bidirectional event delivery:
- • broadcast (e.g., notifications to all clients),
- • targeted (messages to a specific app/client via
ReceiverId).
Distributed trading operations
- • A single control point for your whole service landscape: strategies, routers, providers, visualizers.
- • Less manual point-to-point wiring between components, fewer operational integration pitfalls.
Typical use cases
-
Live strategy operations: track status, logs, events, and operational signals via QuantMonitor/QuantWeb.
-
Multi-host deployments: run applications across multiple machines while keeping control centralized.
-
Operations control panel: operators and developers manage the system via a client without direct server access.
-
CI/CD integration: start strategies on demand (via QuantLauncher) and manage lifecycle through QuantController.
Ecosystem components
- QuantController - orchestration hub.
- QuantMonitor - desktop monitoring client.
- QuantWeb - browser-based monitoring client.
- QuantLauncher - remote strategy launcher (from a repository).
- QuantRouter (optional) - data/event routing and aggregation; commonly deployed as its own service and registered in QuantController as an application.
How it works (at a glance)
- A SmartQuant application starts and connects to QuantController.
- On login, it sends
AppInfo; QuantController also captures the source host. - A monitoring client connects to the Viewer Server.
- QuantController sends the client a snapshot of currently running apps, then streams updates (connect/disconnect).
- Commands and messages flow through the hub: targeted via
ReceiverIdor broadcast.
Quick start
- • Configuration lives in
App\QuantController\appsettings.json(App Server and Viewer Server ports). - • Start QuantController first, then start ecosystem applications (they register automatically).
- • Connect from QuantMonitor/QuantWeb to monitor and operate everything from a single place.