OPENTERMINALUI
SYSTEM STATUS : ONLINE
v0.2.0 MIT LICENSE
FEATURES70+ Indicators CHARTINGMulti-Panel Workstation F&OOption Chain + Greeks BACKTESTModel Lab + Portfolio Lab RISKVaR + CVaR + PCA MARKETSNSE BSE NYSE NASDAQ CRYPTOFull Workspace SCREENER15+ Viz Modes PORTFOLIOAnalytics + TCA ALERTSWebSocket Push PLUGINSExtensible API FEATURES70+ Indicators CHARTINGMulti-Panel Workstation F&OOption Chain + Greeks BACKTESTModel Lab + Portfolio Lab RISKVaR + CVaR + PCA MARKETSNSE BSE NYSE NASDAQ CRYPTOFull Workspace SCREENER15+ Viz Modes PORTFOLIOAnalytics + TCA ALERTSWebSocket Push PLUGINSExtensible API
Open-Source · Self-Hosted · Financial Terminal

OPENTERMINALUI

A professional-grade market terminal for discretionary traders, researchers, and quant teams. Real-time charting, derivatives analytics, backtesting labs, and portfolio management — all self-hosted.

v0.2.0 MIT License Self-Hosted
Quick Deploy

GET STARTED

Clone, build, and launch the full stack in under 5 minutes with Docker Compose.

$ git clone https://github.com/
  Hitheshkaranth/OpenTerminalUI.git
$ cd OpenTerminalUI
$ docker compose up --build
Features
Everything you need in a financial terminal — real-time data to institutional-grade quant workflows.

Terminal Shell

GO bar (Ctrl+G), command palette (Ctrl+K) with 25+ functions, function keys (F1-F9), rolling ticker tape, and persistent workspace framing. Keyboard-first with desktop and mobile layouts.

Core

Chart Workstation

Up to 9 synchronized panels with crosshair linking. 70+ indicators, drawing tools with templates, replay mode, volume profile, comparison overlays. 1m to monthly with extended hours.

Charting

Equity Research

8-tab security hub: overview, financials, chart, news/sentiment, ownership, estimates, peers, ESG. Earnings calendar, shareholding history, corporate actions, and peer matrices.

Research

Advanced Screener

Query builder with 15+ visualization modes: tables, treemaps, heatmaps, scatter plots, radar charts, box plots, bubble charts, RRG quadrants. Multi-market scanning with score-based ranking.

Screener

Futures & Options

Full option chain with live Greeks (Delta, Gamma, Theta, Vega, Rho). IV analysis, strategy builder, OI analysis, PCR tracking, IV/OI heatmaps, futures term structure, expiry calendar.

Derivatives

Portfolio & Risk

Multi-portfolio management, benchmark overlay, correlation heatmap. Risk engine: VaR/CVaR, EWMA volatility, PCA factors, stress testing. Paper trading with realistic fills and TCA.

Portfolio

Backtesting & Model Lab

10+ strategy templates. Vectorized NumPy engine. Equity curves, 3D surfaces, Monte Carlo, walk-forward, monthly heatmaps. Model Lab: experiment tracking with Sharpe, Sortino, max drawdown.

Quant

Portfolio Lab

Multi-asset backtesting (200 assets). Risk parity, equal weight, momentum weighting. Strategy blends, rebalance scheduling, attribution analysis, and correlation matrices.

Quant

Real-Time Data

Multi-provider WebSocket: Zerodha Kite (India), Finnhub (US). Candle aggregation, provider waterfall failover. L1 SQLite + L2 Redis caching. Redis pub/sub for horizontal scaling.

Data

Alerts & Scanner

Price, technical, momentum-based alerts with WebSocket push. Breakout scanner with confidence scoring. Alert history with deduplication and desktop notifications.

Alerts

Cross-Asset & Macro

Commodities, forex + central bank monitor, crypto workspace, ETF analytics, mutual funds + SIP calculator, bonds, yield curve with inversion detection, economics calendar, sector rotation RRG.

Multi-Asset

OMS & Compliance

Order management, restricted list enforcement, immutable audit log. Model governance with version tracking. Ops cockpit with feed health monitoring and kill switches.

Ops

News & Sentiment

Real-time news with bullish/bearish/neutral sentiment + confidence scores. Ticker-specific and market-wide feeds with multi-period filtering and trend visualization.

Research

Sector Rotation

Interactive RRG with 12-week trailing momentum paths. Benchmark-relative sector analysis with quadrant classification: leading, lagging, improving, and weakening.

Analysis

Plugins & Scripting

Extensible plugin API. Included: RSI Divergence Scanner, Sector Rotation Monitor, Unusual Volume Detector. Sandboxed Python execution and OpenScript for chart indicators.

Plugins
Screenshots
Home
Home Dashboard — Mission Control
Workstation
Chart Workstation — 6-Panel Sync
Stock
Stock Detail — Multi-Timeframe Chart
Fundamentals
Fundamental Analysis — Security Hub
Portfolio
Portfolio Analytics — Risk + Correlation
Backtest
Backtesting — Strategy Signals + Overlays
Architecture
System Overview
  CLIENT TIER                          API GATEWAY                         PERSISTENCE

  +---------------------------+         +---------------------------+       +-----------------+
  | React 18 + TypeScript     |  REST   | FastAPI + Uvicorn         |       | SQLite          |
  | Vite + Tailwind CSS      | ------> | JWT Auth + CORS          | ----> | (default)       |
  | TanStack Query + Zustand  |         | 53 Route Modules         |       +-----------------+
  | Lightweight Charts v5    |   WS    |                           |       +-----------------+
  | Recharts + Three.js      | <-----  | Equity | F&O | Backtest  |       | Redis           |
  +---------------------------+         | Risk | OMS | Screener    | ----> | (cache + pubsub)|
                                        +-------------+-------------+       +-----------------+
                                                      |                     +-----------------+
                                        +-------------v-------------+       | PostgreSQL 16   |
                                        | SERVICE LAYER             | ----> | (production)    |
                                        | Unified Fetcher           |       +-----------------+
                                        | Screener + Model Lab      |
                                        | Risk Engine + Alert Sched  |
                                        | Provider Registry          |
                                        +-------------+-------------+
                                                      |
                                        +-------------v-------------+
                                        | DATA PROVIDERS            |
                                        | Kite | Finnhub | FMP | Yahoo|
                                        +---------------------------+
Real-Time Data Flow
  Exchange Ticks             Adapters               Backend                    Client

  +-----------+              +------------+
  | NSE / BSE | ------------> | Kite WS    | ---+
  +-----------+              +------------+    |
                                               |    +----------------+         +-----------------+
  +-----------+              +------------+    +--> | Quote Hub      | ------> | /api/ws/quotes  |
  | NYSE      | ------------> | Finnhub WS | ---+    | (fan-out)      |         | WebSocket       |
  +-----------+              +------------+    |    +-------+--------+         +--------+--------+
                                               |            |                           |
  +-----------+              +------------+    |    +-------v--------+         +--------v--------+
  | REST APIs | ------------> | FMP/Yahoo  | ---+    | Bar Aggregator |         | Chart Engine    |
  +-----------+              +------------+         | (1m -> Xm)     |         | LW Charts v5   |
                                                    +-------+--------+         +--------+--------+
                                                            |                           |
                                                    +-------v--------+         +--------v--------+
                                                    | OHLCV Cache    |         | 70+ Indicators  |
                                                    | SQLite + Redis |         | + Overlays      |
                                                    +----------------+         +-----------------+
Provider Waterfall
  Request --> L1 SQLite Cache --HIT--> return | MISS --> L2 Redis --HIT--> populate L1, return
                                                        | MISS --> Primary Provider --OK--> populate L1+L2, return
                                                                             | FAIL --> Fallback Provider --OK--> return
                                                                                                  | FAIL --> Error 503
System Requirements
Hardware
ComponentMinimumRecommended
OSLinux, macOS, Windows 10+Ubuntu 22.04+ / macOS 13+
CPU2 cores4+ cores
RAM4 GB8 GB+
Disk2 GB10 GB+ (historical data cache)
Display1280 x 7201920 x 1080+
Software
SoftwareVersionNotes
Docker20.10+Containerized deployment
Docker Composev2.0+Included with Docker Desktop
Python3.11+Local dev only
Node.js22+Local frontend dev only
API Keys Optional — fallback providers work without keys
ProviderCoverageEnv Variable
Financial Modeling PrepUS equities, fundamentalsFMP_API_KEY
FinnhubUS real-time WebSocketFINNHUB_API_KEY
Zerodha KiteIndia NSE/BSE live + historicalKITE_API_KEY
Download & Deploy
Docker

Container Deploy

Full stack in a single container. Optional Redis and PostgreSQL via Compose profiles.

$ git clone https://github.com/
  Hitheshkaranth/OpenTerminalUI.git
$ cd OpenTerminalUI
$ docker compose up --build
Clone Repo
Local Dev

Build from Source

Backend and frontend with hot-reload. Best for development.

$ python3.11 -m venv .venv
$ source .venv/bin/activate
$ pip install -r backend/requirements.txt
$ PYTHONPATH=. uvicorn backend.main:app --reload
View Source
Archive

Download Release

Zip of the latest main branch for offline deployment.

$ curl -LO https://github.com/
  Hitheshkaranth/OpenTerminalUI/
  archive/refs/heads/main.zip
Download .zip
Quick Start
1

Clone & Configure

Clone the repo, cp .env.example .env, optionally add API keys.

2

Launch

Run docker compose up --build. Full stack on port 8000.

3

Explore

Open localhost:8000, register, press Ctrl+K for command palette.

Keyboard Shortcuts
Hotkeys
ShortcutAction
Ctrl+GGO Bar — symbol lookup and navigation
Ctrl+KCommand Palette — fuzzy search all features
F1-F9Function keys for workspace switching
1-7Timeframe hotkeys in chart views
EscClose active panel or dialog
Contributing

Development

Fork, branch (feat/your-feature), write tests, run make gate. CI: pytest 45% coverage, frontend build, Vitest, Playwright E2E.