QuantDinger v5: A self-hosted AI trading stack that separates strategy runtimes from HTTP
AI quantitative trading platform for crypto, stocks, and forex with backtesting, live trading, market data, and multi-agent research.vibe-trading ,trading-agents,ai-trader,ai-trading.
At a glance
- What is it?
- QuantDinger is an open-source, self-hosted platform for turning trading ideas into Python strategies, with backtesting, paper trading, and live execution across crypto, stocks, and forex. Its v5 architecture draws hard lines between API, workers, and brokers, which is both its strength and its operational burden.
- Who is it for?
- Adopt QuantDinger if you are a Python strategy author or a small team that wants local control over data, credentials, and code, and you can operate a multi-process Docker stack with PostgreSQL and two Redis instances. Do not adopt it if you need a managed black-box signal service or if you cannot commit to running and monitoring several worker processes.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What problem QuantDinger actually solves
QuantDinger targets independent traders, Python strategy authors, and small teams who want to move from a trading idea to executed orders without handing their strategy code or broker credentials to a third-party signal service. The README is explicit that it is not a black-box signal service. Instead, it gives you a self-hosted stack where market data, strategy code, broker credentials, and deployment stay under your control. The problem it solves is the gap between writing a Python strategy and running it reliably across backtests, paper trading, and live accounts, all while keeping audit logs and state in your own PostgreSQL database. For a solo trader, that gap is usually filled by scattered scripts and manual order placement. QuantDinger packages the surrounding machinery: a web UI, an API, worker processes, and a scheduler.
The v5 process model: why the API does not own trading loops
The most important architectural decision in v5 is that the HTTP API no longer owns long-running trading or scheduler loops. The README lists separate processes: migration, backend, trading-worker, scheduler-worker, celery-worker, and celery-beat. The backend handles HTTP, authentication, validation, and durable command submission, but it pushes finite async jobs to a Redis jobs instance. The trading worker owns strategy runtimes, pending orders, broker sessions, and reconciliation. The scheduler worker runs portfolio, deployment, payment, and signal schedules. Celery handles finite, retryable work like AI calls, backtests, experiments, reports, and maintenance. This separation means that a slow or failing HTTP request does not stall an open position, and a long-running strategy loop does not block API responses. The trade-off is operational: you now run at least six container roles, each with its own failure modes. The README's concurrency model documents ownership rules, but it also implies that you must understand those rules to debug issues.
Quick start: installer scripts and required services
The quick start assumes Docker with Compose v2 and nothing else. On Linux or macOS, you run `curl -fsSL https://raw.githubusercontent.com/OpenByteInc/QuantDinger/main/install.sh | bash`. On Windows PowerShell, you run `irm https://raw.githubusercontent.com/OpenByteInc/QuantDinger/main/install.ps1 | iex`. The installer asks for initial administrator credentials, generates secrets, downloads the GHCR Compose stack, and starts it. After startup, you get the web UI at http://127.0.0.1:8888, a mobile H5 at http://127.0.0.1:8889, and an API health endpoint at http://127.0.0.1:5000/api/health. The README notes that a fresh database creates the initial administrator from `ADMIN_USER` and related environment variables, but the exact variable names are truncated in the material. You will need to consult the deployment docs for the full list. The stack requires PostgreSQL, a cache Redis, and a separate jobs Redis. The README stresses that cache Redis and durable job Redis use separate instances and eviction policies, which is a concrete configuration you must get right.
Live trading is a real risk, not a feature toggle
The README opens with a warning: QuantDinger can submit real orders when live trading is explicitly enabled. It advises starting with paper trading, using restricted API keys, and reviewing risk and compliance requirements for your jurisdiction. This is the single most important limitation to understand. The platform is not a simulator that accidentally sends orders; it is a system designed to execute, and the operator is responsible for the consequences. The v5 architecture mitigates some risk by keeping broker sessions in the trading worker and using leases, orders, and heartbeats in PostgreSQL, but it does not remove the need for careful key management. If you are not prepared to handle the operational discipline of live trading, the paper trading mode is the safer entry point. The documentation does not describe a kill switch or a circuit breaker, so you must rely on restricted API keys and your own monitoring.
Observability and security overlays are optional, but they look necessary
The v5 changes include JSON logs, request IDs, Prometheus metrics, dashboards, and alert rules available through an optional observability overlay. The production overlay runs backend processes as a non-root user with a read-only root filesystem, dropped capabilities, and resource limits. These are not default settings; they are overlays you must explicitly enable. Given the process count and the durable command flow, I would argue the observability overlay is not optional in practice. With six container roles and two Redis instances, you need metrics and alerts to know which worker is failing. The README also lists CI checks for syntax, lint, tests, release gates, Compose files, dependencies, source security, secrets, API compatibility, version drift, and text encoding. That level of CI is a sign of maturity, but it also means the project expects you to keep up with release gates if you fork or modify it.
Licence and maintenance cost
QuantDinger is licensed under Apache-2.0, which permits commercial use, modification, and distribution, provided you preserve the licence notice and state changes. That is a permissive licence, so the main cost is not legal but operational. The project releases frequently: v5.0.16, v5.0.17, and v5.0.18 came within days of each other in August 2026. That cadence means you will be pulling new images and running migrations often. The migration process is a separate container that applies the database schema and exits before application services start, which is a clean upgrade path, but you must budget time for it. The README does not state a support contract or an SLA; support appears to be community channels and email. For a small team, the maintenance cost is the time to understand the process roles and the concurrency model before you need to debug a stuck order.
Alternatives and the difference in approach
The obvious alternative is a managed platform like QuantConnect or a broker-specific backtesting tool. QuantConnect is a cloud-based, multi-asset backtesting and live trading platform where your strategies run on their infrastructure. The difference is control: QuantConnect handles the servers, data, and execution infrastructure, but your strategy code and credentials live on their systems. QuantDinger is local-first and self-hosted, so you control the data and credentials, but you also own the ops burden. Another alternative is writing your own backtesting loop with a library like backtrader or vectorbt, plus a separate execution script. That approach gives you maximum flexibility but no web UI, no scheduler, no audit logs, and no reconciliation. QuantDinger sits between those two: it gives you the full stack but requires you to run it. The README does not mention any direct comparison, so the choice comes down to whether you want to manage infrastructure or not.
Editorial conclusion
Adopt QuantDinger if you are a Python strategy author or a small team that wants local control over data, credentials, and code, and you can operate a multi-process Docker stack with PostgreSQL and two Redis instances. Do not adopt it if you need a managed black-box signal service or if you cannot commit to running and monitoring several worker processes. Before going live, verify the exact broker integrations supported in v5.0.18, review the risk and compliance requirements for your jurisdiction, and start with paper trading using restricted API keys. The project's warning that it can submit real orders is not boilerplate; it is the core boundary you must respect.
Community notes