Research workbench
Per-symbol research surface. TradingView Lightweight Charts with a configurable indicator set, Nemotron Nano Omni VLM read of the chart, AIQ Deep Research, cumulative-return vs SPY, and a risk-return scatter for the symbol's peers.
What it is · how it works · why it matters
Per-symbol workbench. TradingView candles + an 11-indicator picker, Nano Omni VLM chart-read, AIQ Deep Research, cumulative-return vs SPY, peer risk-return scatter.
Lightweight Charts 4.2 (MIT). Picker toggles MA / EMA / VWAP / BB overlays and Volume / RSI / MACD / ATR panes — math runs client-side from one bars payload. Selection persists in localStorage. VLM read renders chart → PNG → Nano Omni → structured analysis (~3-4 s on GB10).
Standard technical-analysis indicators (RSI, MACD, Bollinger Bands, moving averages) are included so charts match operator expectations, alongside chart-vision via Nano Omni.
Overview
Two-pane layout. Left pane is the chart; right pane is the analysis stack (DeepResearch + Omni VLM read + peers + filings + news). The whole page is keyed off the ?symbol=NVDA URL parameter. Open with any symbol; pick from the ticker search box at the top.
TradingView chart + indicators
Built on TradingView Lightweight Charts 4.2 (MIT). The page exposes a built-in indicator picker in the chart toolbar — click + Indicator and pick from the catalog:
| Indicator | What it shows | Default params |
|---|---|---|
| MA 21 | 21-period simple moving average overlay (price) | length 21, source close |
| MA 50 | 50-period simple moving average overlay | length 50, source close |
| EMA 200 | 200-period exponential moving average overlay | length 200, source close |
| VWAP | Session VWAP overlay | session-reset |
| Bollinger Bands | SMA ± k·σ overlay | length 20, k = 2 |
| Volume | Volume histogram (separate pane) | — |
| RSI 14 | Relative Strength Index (separate pane) | length 14 |
| MACD | Moving Average Convergence Divergence (separate pane) | 12 / 26 / 9 |
| ATR 14 | Average True Range (separate pane) | length 14 |
| Buy / Sell markers | Your historical fills on this symbol | from broker audit |
The picker is multi-select. Selections persist in localStorage keyed by nvtrader.research.indicators so your default set survives reloads. Click the gear icon next to any active indicator to tweak its length/source/color.
Pane indicators (RSI, MACD, ATR) stack below the price chart; overlay indicators (MA, EMA, VWAP, BB) draw on the price pane. Adding too many overlays makes the price hard to read — 2 overlays + 1 pane indicator is a sane default.
Analyze with Omni VLM
Below the chart, click Analyze with Omni VLM →. NVTrader renders the current chart as PNG, sends it to nvidia/nemotron-3-nano-omni-30b with a structured prompt (support/resistance, trend, volume divergence), and surfaces the textual read inline.
Typical end-to-end latency on GB10 + NVIDIA Build: 3–4 seconds. The read is structured into bullets: trend direction, current S/R levels, recent volume signal, divergences spotted. Click Cite to drop the read into the embedded chat as a quote so you can ask follow-up questions about it.
AIQ Deep Research
Below the VLM read, the AIQ Deep Research panel. Ask anything in natural language ("what's driving NVDA short interest the last 5 days?"). The agent runs the full Deep Research pattern — planner → researcher → synthesizer → citer — fanning sub-queries out to Tavily + Finnhub + EDGAR in parallel.
See DeepResearch engine docs for the full pipeline.
Cumulative-return vs SPY + peers
Bottom of the page. Plots the symbol's cumulative return next to SPY and (optionally) a peer set you pick. The risk-return scatter shows the symbol vs sector peers — bubble size = market cap, x = vol, y = annualized return.
Adding an indicator
Each indicator is a small JS function in mockups/research.html registered in the INDICATORS table. To add one, follow the existing pattern:
INDICATORS["MA 100"] = {
type: "overlay", // or "pane"
defaults: { length: 100, source: "close", color: "#8edc1a" },
compute: (bars, p) => sma(bars.map(b => b[p.source]), p.length),
};
The picker auto-renders any entry in INDICATORS. Pane indicators get a fresh pane below the price; overlays draw on top.
REST surface
| Verb | Path | Purpose |
|---|---|---|
| GET | /api/research/symbol/{sym} | Bars + key stats + peer set. |
| POST | /api/research/vlm | Body: {symbol, chart_png_base64}. Returns the Nano Omni read. |
| POST | /api/research/deep | Body: {symbol, question}. Streams the AIQ pipeline. |