Open Trading Surface
Open Trading Surface
An agent-native investment research terminal for Claude

The investment research terminal
whose understanding compounds between sessions.

Open Trading Surface doesn't just fetch data — it maintains a living model of the world and hands the agent the controls. A worldview that becomes probability-weighted theses, driver-based company models, and portfolios, all on a surface the agent reads and drives, all on your machine.

Runs locally · zero runtime npm dependencies · your keys never leave your machine · never trades
Open Trading Surface — Operating Model · CAT
Company operating model with drivers, projection, and fair-value sensitivity
Not investment advice. Open Trading Surface is an informational research tool. Nothing it produces is advice or a recommendation; data may be inaccurate — verify everything independently. You bear full responsibility for all decisions. See the full disclaimer.

Most terminals show you data. Open Trading Surface builds a model of the world.

Two ideas make it unlike anything else you can install — and they compound the longer you use it.

🌍

A living world-model, not a data feed

Open Trading Surface maintains a structured worldview across macro, geopolitics, and demographics, turns it into theses with explicit, auditable probability estimates and an evidence ledger that revises the odds as reality changes, and grounds every name in a driver-based operating model. The model persists and compounds between sessions instead of resetting each time you open it.

  • Worldview → theses → screens → portfolios — one connected chain, not disconnected tabs
  • Probabilities that move as evidence lands — logged, auditable, reversible
  • Company models that turn any event into an EPS and fair-value delta
  • Point-in-time honest — snapshots keep backtests free of hindsight
🤖

Agent-native by construction

The terminal is a shared world-model: everything you see, the agent can read and drive. It isn't a dashboard a human clicks — it's an operating surface with 100+ introspectable tools, an event inbox, reusable playbooks, an audit journal, and research memory. Ask in plain language; the agent inspects the exact view you're looking at and acts on it.

  • inspect_* / control_* — the agent reads state, rendered views, and raw data, and drives every surface
  • Thinks between sessions — inbox, morning brief, memory, and an API-budget governor
  • Plan-only — it models, drafts, and proposes, and never places a trade
Worldview Theses Company models Screens & portfolios ↻ continuously reassessed

A worldview at the center — fed by FRED macro, SEC filings, and 13F flows — radiates into theses, company models, and portfolios, and the whole system is reassessed as new evidence arrives. That's the ots: a working model of the market in motion.

One tool, the whole workflow

From a market view to a modeled position — top to bottom, all agent-operable.

💠 A full-spectrum pricing engine — and a Model of Models

Twenty valuation models behind one interface — every methodology the industry uses, each chartable through time — and on top of them, a weighted Model of Models that reads which valuation frame the market is actually tracking for each name.

  • The whole spectrum: DCF, FCFE, EPV, dividend discount, residual income and EVA; P/E, P/S and EV/EBITDA at the name's own trailing-median multiple; book, NAV, liquidation and replacement cost; seeded Monte Carlo and bull/base/bear; sum-of-the-parts; real options; platform economics
  • Every model is a line on the chart — point-in-time reconstructions from filed statements only, no lookahead, side by side with price
  • The Model of Models: each model earns a walk-forward correlation weight against the name's own price, per stock, adaptive over time — the weights are the reading, and their rotation is chartable as per-model weight series
  • Recorded weightings — dated weight vectors saved per stock, so the composite replots under the weighting of any point in time; the chart line is always one consistent snapshot, never rolling weights
  • A venture book for the companies statements can't see — pre-revenue businesses (robotaxi, humanoids, AI infrastructure) valued as probability-weighted expected values net of committed capital, maintained in a form-based editor alongside every other judgment model
The pricing engine: twenty models, correlation weights, the model of models, on the chart

📐 Company operating models

Every company can carry a driver-based model calibrated from its filings and consensus. Turn any event into an instant answer.

  • Revenue → EBIT → EPS → FCF, five years out
  • Blended exit-multiple + DCF fair value
  • Shock any driver — tariffs, contract wins, rate moves — and see the fair-value delta
  • A graphical influence map wiring economic, policy, supply-chain & consumer factors to the drivers they move
  • Calibrate factor levels from FRED; fit sensitivities from filings — annually or on ~60 quarterly points
  • Segment-scoped drivers ("what if Cloud growth halves?") with mix shift as a chartable output
  • Three-statement articulation: the balance sheet rolls forward and ties in every projected year — or the model refuses to run
  • An elasticity table showing exactly what moves the stock
Operating model

🧭 A thesis engine that keeps score

A maintained worldview feeds candidate theses with explicit, auditable probability estimates and an evidence ledger that updates them as the world changes — the system even proposes its own from FRED macro data.

  • Structured estimates with a full evidence trail — not a black box
  • Every development logged as evidence that moves the odds
  • A calibration score (Brier, skill vs base rate) as your theses resolve
Thesis with probability and evidence ledger

📈 A charting workbench that answers "why"

Price is where a question starts, not where it ends. Overlay the outside world on the chart, then trace any move back to the document behind it.

  • Overlay any series — FRED economics and rates, commodities, indices, FX, company financial line items, SEC XBRL facts, every pricing model's fair-value line, the Model of Models composite, and per-model weight series — on the price scale, stacked right-hand axes, or their own panes (the frame scrolls to hold them all), with lead/lag shift and best-lag cross-correlation
  • Every overlay carries its relationship to the price — flip any series to Δ$ (price − series) or Δ% and the relative track renders on its own axis; a model line in Δ$ reads as the premium itself
  • Events from eleven sources as sentiment-colored markers — earnings, filings, insider trades, rating changes, transcripts, 13F flow, news, your own notes. Hover to read one, click to open it, and where you have an operating model each event tells you which driver it moves
  • Auto-detected trendlines, support/resistance zones and candlestick patterns, computed locally on the bars already loaded
  • Replay without lookahead — walk a name forward bar by bar with indicators, detections and even as-known-then fundamentals recomputed at the cursor
  • Rules and indicators you write yourself — define an indicator from a formula, backtest an entry/exit rule, and see trades and an equity curve painted on price
Charting workbench with overlays and event markers

🧵 Every holding traces back to a view

Build a portfolio from a thesis and the whole chain is recorded, not reconstructed — so months later you can still answer why you own something.

  • A workflow breadcrumb on every model book — thesis › screen › portfolio — clickable in both directions
  • The screen as it actually ran, snapshotted with the run id and every pick’s rank score, not re-derived from tilts that drift
  • Links by id, so renaming a thesis or a book never breaks the lineage
  • Honest about what it knows — reconstructed links are labelled inferred and carry no screen spec, and a hand-built portfolio reports no lineage at all
Thesis linked to the model portfolio it produced

💼 Institutional portfolio analytics

The measurement core professionals expect — verified against closed forms.

  • Time-weighted vs money-weighted returns
  • Carino-linked Brinson attribution
  • Ex-ante factor risk, mean-variance optimization
  • FIFO tax lots, broker CSV import, dividend reconciliation
Portfolio performance dashboard

🔍 Analyst-grade screening & comps

Cross-sectional factor composites, an expression language, and relative-valuation tables — well beyond boolean filters.

  • Sector-neutral percentile / z-score ranks
  • Piotroski, Altman, 12-1 momentum, 13F crowding
  • Peer comps with medians; honest factor backtests
Peer comparison table
📈

Own charting engine

~125 indicators, 39 drawing tools, every granularity, extended hours — no third-party charting library; the engine is original code. Overlay macro, commodity, financial & SEC-filing series on stacked axes with lead/lag shift.

📅

Surveillance

Watchlists, edge-triggered alerts with playbooks, a catalyst calendar scoped to your names, a morning brief.

🤖

Agent-native

A workspace cockpit, an event inbox, research memory, an audit journal — the agent watches and drafts the work.

🔐

Private & safe

Runs locally, keys stay on your machine, security-reviewed, fully test-covered, and it never places a trade.

Install in two minutes

Download the package, add it in Cowork, and ask the agent to open it.

  1. Download the packageGrab the latest package — ots.plugin.
  2. Install it as a pluginOpen the Cowork tab, then open Customize in the left sidebar → Plugins tab. Under Personal plugins click + and add the ots.plugin file you downloaded, then restart the session.
  3. Start Open Trading SurfaceIn a Cowork chat, just tell the agent: “open the Open Trading Surface terminal.” That boots Open Trading Surface's local engine and opens the terminal in your browser. (First run: acknowledge the one-time disclaimer.)
  4. Add your keys in the ⚙ Settings tabIn the terminal, open ⚙ Settings, paste your FMP key (and a free FRED key), hit Test. Keys never leave your machine.
  5. GoAsk in plain language — e.g. “analyze NVDA” or “screen large-cap tech under 20× earnings.”

Requires Node.js 18+ (built and tested on Node 22 LTS). Stay current: the plugin tells you when a new version ships. Update & uninstall guide →