SmartQuant logo SmartQuant

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)

  1. A SmartQuant application starts and connects to QuantController.
  2. On login, it sends AppInfo; QuantController also captures the source host.
  3. A monitoring client connects to the Viewer Server.
  4. QuantController sends the client a snapshot of currently running apps, then streams updates (connect/disconnect).
  5. Commands and messages flow through the hub: targeted via ReceiverId or 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.