Everything the terminal does, and how it decides what to show you.
Portfoleo is a keyboard-first windowed workspace for market research. You type a mnemonic, a window opens, and every figure in it carries its source and its as-of time. This page is the index: the window catalog, the command grammar, the mathematics behind each analytic, and the rules that govern what the software is allowed to display.
01What Portfoleo is
A single dense workspace instead of eight browser tabs. Windows tile on a free-form desktop, linked in context groups so clicking a symbol in one moves the others with it. Layouts save. The mouse is optional.
Six rules govern the software, and they are constraints on us rather than promises to you:
- Deterministic math
- Every number on screen is computed by audited code. Language models narrate, summarise and plan; they are never the system of record for a figure.
- Provenance on everything
- Source, as-of time, cache age and delay class travel with the data and are rendered beside it. There is no silent blending of sources; a fallback changes the stamp.
- Fail closed
- A response for the wrong symbol is refused rather than displayed. When data is unavailable you see the failure, never a zero, a carried-forward value or an interpolation.
- Simulation is labelled
- Paper books are marked as simulated in the interface and in every export. There is no order execution in the product, so nothing on screen can be mistaken for a real statement.
- Your keys, your entitlements
- Connect the market-data and model subscriptions you already hold. We are a software layer, not a data reseller.
- Honest completeness
- What is estimated is labelled estimated. What needs a licensed feed is gated rather than faked. What is missing is listed rather than omitted.
02Getting started
- Look around — already done for you. A new account opens on a populated workspace built from the bundled data snapshot, not on an empty grid and a setup wizard. A persistent badge tells you it is snapshot data and gives its build date; that badge cannot be dismissed.
- Run one command. Press Cmd K
(or Ctrl K), type
NVDA, press Enter. You now have a chart. TypeNVDA FAand you have the financial statements next to it. - Connect a key, when you want data newer than the snapshot. The key screen shows what each provider unlocks and what it costs at that provider, validates the key with a real round trip, and shows you the actual response. A key that fails its probe is not accepted. Adding a model key also lifts the copilot cap on every tier, including free.
Steps one and two need no account at all once the public demo is open, and no step needs a card.
03The command model
The command bar is the front door. Focus it with Cmd K, type, press Enter. Four grammars are accepted, so muscle memory from a legacy terminal transfers directly.
| Grammar | Example | Meaning |
|---|---|---|
| Function first | CHART AAPL | The native order: function, then argument. |
| Ticker first | AAPL GP | The legacy-terminal order. The ticker becomes the argument. |
| Bare ticker | NVDA | Opens that symbol’s chart. The shortcut you will use most. |
| Bare function | TOP | Spawns the window with its default argument. |
- Ghost completion. As you type, the longest matching mnemonic appears dimmed ahead of the cursor. Accept it with Tab or Right. The completion source is the same alias map the parser uses, so anything dispatchable is completable.
- Synonyms are first class. Most windows answer to several mnemonics, so you do not have to learn ours if you already know another terminal’s.
- A typo cannot break the bar. An unrecognised mnemonic produces a message, never an exception and never a blank workspace.
- Link groups. Symbol windows carry a group badge. Windows in the same group follow each other’s symbol clicks; ungrouped windows stay where you put them.
- The function menu. HELP opens the searchable catalog of every mnemonic, grouped by category, with a live filter. Click a row to run it.
04The window catalog
Every window below exists in the product. Where a window is a simulation or depends on a connected key, the scope column says so rather than leaving you to find out.
Markets and monitoring
| Code | Window | What it shows | Scope |
|---|---|---|---|
| WATCH | Watchlist | Quotes for your basket, with a value-change flash on update. Drag a row onto a chart to swap its symbol. | KEY |
| CHART | Chart | Candles with a volume pane, overlays, MACD, VWAP, Bollinger, log scale, range presets, dividend and earnings markers, symbol overlay for relative value, and a drawing layer of trendlines, rays, zones, fibonacci sets, text and price lines that survives pan, zoom and reload. | SNAPSHOT |
| TREEMAP | Sector treemap | Tiles sized by weight and coloured by change, with ticker, weight, change and sector on hover. | SNAPSHOT |
| MACRO | Macro snapshot | Volatility index, ten-year yield, dollar index and the broad market in one live grid. | KEY |
| WEI | World indices | Index performance by region with an exchange-local session indicator per market. | SNAPSHOT |
| YCRV | Yield curve | The treasury curve today, one month ago and one year ago, plus the three-month to ten-year spread. | SNAPSHOT |
| SECF | Security finder | Cross-asset symbol search across the local master and world listings. | SNAPSHOT |
| EQS | Equity screener | Multi-criteria screening across the universe with sortable results. | SNAPSHOT |
| NEWS | Event wire | Time-ordered wire of movers, regime transitions and completed jobs. | KEY |
| TOP | News command center | A dense headline board aggregated across a basket of bellwethers and macro proxies, deduplicated and newest first. | KEY |
| REGIME | Market regime | A regime classification with its rationale: risk-on, risk-off, rotation, volatility spike or neutral. | SNAPSHOT |
| ALRT | Alert inbox | Active alerts with severity, source, fingerprint and acknowledgement state. | SNAPSHOT |
Single-name research
| Code | Window | What it shows | Scope |
|---|---|---|---|
| DES | Description | A multi-page company view: overview, analyst estimates and price targets, corporate actions and dividends, holders and short interest, earnings estimate against actual. | SNAPSHOT |
| FA | Financial analysis | Income statement, balance sheet and cash flow, annual and quarterly, with a growth column and click-to-plot on any line. | SNAPSHOT |
| HP | Historical price | An open-high-low-close-volume table with one-week to one-year range presets and a CSV export. | SNAPSHOT |
| BETA | Regression | Ordinary least squares against a benchmark: beta, alpha, r-squared, correlation, tracking error, up and down capture, with the scatter. | SNAPSHOT |
| COMPS | Peer comparison | Valuation multiples against the sector median, with the best value in each row highlighted. | SNAPSHOT |
| CF | Filings | Regulatory filings with form-type filters and direct document links. | SNAPSHOT |
| OPT | Options chain | Calls, strikes and puts with deterministic Black-Scholes Greeks and solved implied volatility. | KEY |
| CAL | Calendar | Earnings, ex-dividend and economic events for your basket, with days-until. | SNAPSHOT |
| NOTE | Scratchpad | A per-symbol note that stays in your browser. | SNAPSHOT |
Portfolio and risk
| Code | Window | What it shows | Scope |
|---|---|---|---|
| PORT | Portfolio cockpit | One tabbed surface folding holdings, mark-to-market, exposures, risk and attribution together, with per-tab drill-down. | PAPER |
| BLOTTER | Blotter | Symbol, quantity, average cost, mark, mark-to-market and day change for the simulated book. | PAPER |
| PNL | Profit and loss | Daily and cumulative mark-to-market for a run or a book, with the per-name breakdown. | PAPER |
| RISK | Risk budget | Gross, net, per-name, per-sector, volatility and beta gauges against your configured limits. | PAPER |
| SIGNAL | Signal inspector | Per-ticker decomposition of a signal score into its factor contributions. | SNAPSHOT |
| STRAT | Strategy health | Realised Sharpe, drawdown and drift status per strategy, with a status colour and an automatic diagnosis when one degrades. | SNAPSHOT |
| TICKET | Order ticket | A staging ticket for the simulated book: side, quantity or notional, order type and limit. It stages into a paper book and reaches no market. | PAPER |
| JOURNAL | Journal | The full history of simulated tickets with their status trajectory and audit fields. | PAPER |
Research and backtesting
| Code | Window | What it shows | Scope |
|---|---|---|---|
| BT | Backtest launcher | Universe, optimiser, factor weights and model configuration, with streamed progress and a tearsheet at the end. | SNAPSHOT |
| RUNS | Saved runs | Every saved run with Sharpe, compound growth, volatility and maximum drawdown, ranked, with an equity sparkline on hover. | SNAPSHOT |
| CMP | Run comparison | Metrics for several runs side by side, and an overlay mode for their equity curves. | SNAPSHOT |
| BTMON | Backtest monitor | Active jobs, queue depth, streamed progress and recent failures. | SNAPSHOT |
| WB | War board | Every strategy in one sortable grid with a key-figure ribbon across the top. | SNAPSHOT |
| SCHED | Scheduled jobs | Recurring jobs with state, next fire time, breakers and a toggle. | SNAPSHOT |
| ACT | Activity | The job timeline with success and failure badges and a modification audit trail. | SNAPSHOT |
Analytics labs
| Code | Window | What it shows | Scope |
|---|---|---|---|
| ANALYTICS | Analytics hub | A card grid linking every lab. New labs appear here automatically. | SNAPSHOT |
| FACTOR | Factor lab | Factor exposures of a run, daily factor returns, factor information coefficient, and contribution to variance per factor. | SNAPSHOT |
| RISKLAB | Risk lab | Covariance estimator chooser, factor against idiosyncratic decomposition, conditional value-at-risk, volatility breakdown and marginal contribution to risk. | SNAPSHOT |
| STRESS | Stress lab | Crisis-window replays, regime-conditional returns and tail statistics. | SNAPSHOT |
| VALIDATE | Validation lab | Combinatorial purged cross-validation results, the information-coefficient quintile spread and the alpha-decay curve. This is the gauntlet built to kill an overfit strategy before it costs anything. | SNAPSHOT |
| BRINSON | Attribution lab | Allocation against selection decomposition per sector, with interaction and a cumulative chart. | SNAPSHOT |
| COSTLAB | Cost and capacity lab | Modelled cost decomposition, the square-root impact curve, and cost against assets to a capacity estimate. | SNAPSHOT |
| MODEL3D | Model surface | A three-dimensional surface, typically signal against time to information coefficient. | SNAPSHOT |
| HMM | Regime states | Hidden-Markov state decomposition of the return series with state probabilities. | SNAPSHOT |
| GARCH | Volatility forecast | Conditional volatility forecasting, with the exponential variant. | SNAPSHOT |
| HRP | Hierarchical risk parity | Cluster-based allocation, with equal-risk-contribution and robust mean-variance alternatives alongside. | SNAPSHOT |
Copilot
| Code | Window | What it shows | Scope |
|---|---|---|---|
| COPILOT | Copilot session | A conversation scoped to a run or a symbol, with the computed metrics and diagnostics already loaded. Answers stream, cite the figures and headlines they were given, and abstain when the evidence is not there. | SNAPSHOT |
| EXPLAIN | Explain this window | Narration of whatever window has focus, computed upstream and read out with citations. Runs against a local model where one is available. | SNAPSHOT |
System
| Code | Window | What it shows | Scope |
|---|---|---|---|
| HELP | Function menu | The searchable catalog of every mnemonic, grouped by category, with a live filter and click-to-run. | SNAPSHOT |
| GUIDE | User guide | The manual, in the product. | SNAPSHOT |
| DATA | Data status | Which providers are connected, the last tick time for each, the snapshot build date, and what the snapshot manifest excludes, rendered verbatim. | SNAPSHOT |
| TLM | Telemetry | Internal health: request and error rates, queue depth, stream sessions, and model token usage. | SNAPSHOT |
| WIZ | Setup | Guided setup for provider keys, risk limits, schedule defaults, interface preferences and the kill switch. | SNAPSHOT |
| HOOK | Outbound webhooks | Per-event destination routing for your own notification endpoints, scoped to your organisation. | SNAPSHOT |
| THEME | Appearance | Palette presets, the density knob and the colour-vision-deficiency direction mode. | SNAPSHOT |
| EDITOR | Command bar | Not a window so much as the surface that spawns them all. | SNAPSHOT |
CAPSIM capital-injection simulator, SIZER position sizer and risk-of-ruin simulation, and FCAST drawdown and leverage forecaster are in progress and are listed on the shipped-and-not-shipped ledger rather than here, because a documentation page that lists things you cannot open is a sales page.
05Methodology
Every analytic in the product has a written method with its formula, its assumptions, its failure modes and its literature reference. Twenty-five are documented. The full text ships with the product; this is the index of what is covered.
Factor and risk models
- Cross-sectional factor model, in the style of a commercial risk model
- Cross-sectional factor returns
- Risk decomposition into factor and idiosyncratic components
- Brinson-Fachler allocation and selection attribution
- Ledoit-Wolf shrinkage covariance
- Exponentially weighted covariance
- Principal-component factor covariance
Validation and overfit control
- Probabilistic Sharpe ratio
- Deflated Sharpe ratio
- Combinatorial purged cross-validation
- Information-coefficient quintile spread
- Alpha decay
- Block-bootstrap Sharpe confidence interval
- Drift monitoring
Risk measures and stress
- Conditional value-at-risk, also called expected shortfall
- Cornish-Fisher adjustment to value-at-risk
- Magdon-Ismail expected maximum drawdown
- Stress windows and crisis replay
Cost, capacity and sizing
- Square-root market impact
- Capacity estimation
- Kelly criterion
- Volatility targeting
Allocation
- Hierarchical risk parity
- Black-Litterman
- Mean-variance optimisation
Because “institutional-grade analytics” is a phrase and “combinatorial purged cross-validation with a deflated Sharpe ratio” is a commitment. If a number in the product disagrees with the method that names it, that is a bug and we want the report.
06Data and provenance
- The snapshot
- A dated, frozen dataset that ships with the product so a new account opens on real data without any key: daily history, fundamentals, statements, filings, reference data, macro series and a calendar. It carries a manifest with a build date, a content hash and an explicit exclusion list, and that exclusion list is rendered in the product word for word.
- Your own providers
- Connect a key and the resolver routes each data surface to the best source you are entitled to, per surface. You can be on your own provider for quotes and on the snapshot for chains at the same time; the provenance chip on each figure tells you which.
- The provenance envelope
- Every response carries source, mode, as-of time, cache age and delay class alongside the value. The interface renders it, and it is present from first paint rather than fading in after the data arrives.
- Staleness
- Staleness is carried on a luminance channel rather than a colour: a stale row dims and stops animating but stays readable, because a number you cannot read is a worse failure than a number you know is old.
- What is never done
- No zero-filling, no null-filling, no carrying a previous value across a gap, no interpolation presented as observation, and no substitution of one source for another without the stamp changing. A failed fetch produces no data, not a plausible one.
- Redistribution
- We are a software layer. Data you connect stays inside the agreement you hold with the provider, and the product will not redistribute it to another tenant — the shared quote cache refuses any value whose provenance says it came from a customer key.
07The API
Everything the interface does, it does over a documented HTTP interface, so anything you can see you can also fetch. API access is a paid entitlement: read-only on the founding tier at 60 requests a minute, read and write on PRO at 300. Tokens are per organisation, scoped, revocable and never a session cookie.
The surface, by area:
- Market data — quotes, bars, chains, curves, reference
- Company — description, statements, estimates, holders, filings, peers
- Runs and metrics — list, series, sparkline, tearsheet artifacts
- Backtest jobs — submit, stream progress, cancel
- Analytics engine — every lab, each as its own endpoint
- Portfolio and paper books — positions, marks, staged tickets
- Alerts and monitoring — rules, fired alerts, acknowledgement
- Scheduled jobs — definitions, state, history
- Copilot — sessions, turns, streamed answers
- Outbound webhooks — per-event routing for your own endpoints
- Configuration — preferences, limits, entitlement map with live usage
- Streaming — websocket channels for quotes and job progress
Errors are a single shape with a machine-readable code, a human-readable reason, and, for a quota error, which counter was hit, what the limit is and when it resets. There is no endpoint that submits an order anywhere.
08About these docs
This index is maintained by hand from the documentation that ships in the repository: the window catalog, the command reference, the methodology text and the API reference. A generated command page — built from the alias map itself so it cannot drift — is planned and will replace the command section above.
If something here does not match what the product does, the product is right and this page is a bug. Send it to [email protected] and it gets fixed with a changelog line.