How SwiftTrade is built
A Python platform, a browser terminal and a native workstation, built on one rule: when something is uncertain, the system stops instead of guessing.
Four parts, one product
Python · FastAPI
The platform
Accounts and sessions, market data, the intelligence engine, research and backtests, the paper and live bot, and this website. Metadata and accounts in SQLite; research data in a Parquet lake read with DuckDB.
React · Vite
The web terminal
Charts, order flow, research and paper trading in the browser, served by the platform from the same address as this website.
C++23 · Qt 6
The desktop workstation
A native Windows application with its own trading path, from strategy and risk engine to order manager and broker adapter, and its own local engine. Nothing on that path depends on the server.
Next.js · TypeScript
The website
Static pages, built once and served by the platform itself, in six languages and with the region pages for Switzerland, Liechtenstein, Germany and Austria.
How data and orders move
Market data passes through one path before anything uses it, and every order passes the same checks before it reaches a book.
Market data
- Provider adapter
- Normaliser
- Market-data service
- Cache
- Charts, strategies, trading and intelligence
An order
- Strategy
- Signal
- Risk engine
- Order manager
- Paper book or broker
- Portfolio and audit log
On the public service the book is always the paper book. How the live gate works is on the security page. Security and infrastructure
Principles
- Fail closed
- Missing, stale or unverified data stops the order path. A forming bar is flagged incomplete and never stored or traded as closed.
- Checks on the server
- Sign-in, roles, licences and every order decision are checked by the server; the browser only shows what it is allowed to.
- Every number has a source
- Each data provider states its licence, whether it needs credentials and whether it is real-time or delayed, and the screens show delayed, stale and simulated data as such.
- Local by default
- The desktop workstation starts its own engine on your computer; the connection to a SwiftTrade server is optional.
- Research you can repeat
- Model runs record their inputs, model version and code hash, so a result can be produced again and checked.
- Models never trade
- Machine-learning and language-model output can inform and can lower risk, but it is never wired to an order.
See what it does
The product areas show each part of the terminal with its state today and its limits.