use cases

At a glance, then as deep as you like.

Open Pyx and the numbers that matter are already on screen. Go one level down and the research tools are waiting: a chart workspace, tags, notes, the full transaction ledger, honest returns. Everything here runs on your machine, from your own database, and none of it needs an AI. If you use one, it can join in.


§01 · in the app

Key metrics on open. Research a keystroke away.

Total value, day change, cost basis, and a year of performance greet you on the Overview. From there, everything below is a shortcut or two: chart a company with its earnings, compare against a benchmark, read volatility, filter and export the ledger, tag a watch list, write the thesis where the price is.

Open any company with its earnings on the timeline

⌘K

Press ⌘K, type a ticker, open the chart. Earnings, dividends, splits, your own trades, and your notes share one events lane under the price. The security page adds revenue against earnings and EPS actual against estimate for the recent quarters.

Chart workspace

Open a decade of financials on any company

⌘K

⌘K, a ticker, Enter. The security page assembles statements from revenue to free cash flow, growth with YoY and window CAGR, margin lines, EPS against estimates, valuation multiples against their own history, estimates, ownership, and the SEC filing index. Every column names its source and hover shows the formula.

AAPL · Financial Performance
AnnualQuarterlyTTMEDGAR + Yahoo
METRICFY24FY253Y
Revenue$391.04B$416.16B+10.22%
Net Income$93.74B$112.01B+14.48%
EPS6.087.46+17.1%
FCF$108.81B$98.77B+9.56%

Hover a cell for the formula. EDGAR columns open the filing.

Research

Rank a company against peers, or against your own tag

Peers

Peer Comparison runs four templates: Trading Multiples, Growth, Profitability, Leverage. Swap the peer set from the related names to any tag you keep, or type tickers and save them as one. The subject row shows its rank per column, and the scatter plots growth against valuation. Every tag page carries the same table for its members.

Peer Comparison · tag: Energy
Trading MultiplesGrowthProfitabilityLeverage
COMPANYP/EEV/EBITDADIV YIELD
CVX2/315.2×6.9×4.1%
OXY18.1×5.4×1.8%
XOM14.6×6.2×3.4%
Median15.2×6.2×3.4%

Peers from a tag, the related list, or tickers you type. CSV export.

Research

Put multiples beside every holding

Holdings

Switch on the valuation columns in Settings and P/E, forward P/E, EV/EBITDA, dividend yield, the 52-week range, and three-year revenue CAGR sit in the Holdings table, sortable like any other column. Click a row and the drawer shows the multiples against the company's own five-year range and eight quarters of revenue against earnings.

Holdings · valuation columns on
TICKERP/EEV/EBITDAREV CAGR 3Y
AAPL36.227.1+10.2%
KO24.619.8+5.4%
CVX15.26.9-2.3%
AAPL drawer · P/E vs own 5Y range
Overview

Filter transactions and export exactly that

Transactions

Filter by account, kind, date range, or free text. Group or flatten, sort any column. Export writes a CSV of the filtered view and nothing else. Multi-year histories scroll without a stutter.

Transactions
accountRoth IRAkindDividendrange2021 → today/ KO
38 rows · +$2,214.90Export CSV38
Transactions

Compare against any benchmark

Performance

The Performance page overlays any ticker you name, SPY by default. In the chart workspace, percent-normalized mode rebases holdings, whole accounts, and any symbol to a common start. Every tag carries a compare chart of its members against your benchmark.

Performance · Return vs SPY
▬ You +18.6%┄ SPY +14.2%markers = your trades
Performance

Analyze volatility and the indicators behind it

12 indicators

ATR, Bollinger Bands, Drawdown, and Rolling Correlation join RSI, MACD, and the moving averages, composable per pane. Performance adds annualized volatility, max drawdown, and alpha against your benchmark, over the same date ranges as the charts.

Indicators guide

Share an annotated chart as a text file

⌘S

⌘S exports the active workspace as TOML: every pane, symbol, indicator, and drawing, anchored to bars and prices. Send the file to anyone with Pyx and ⌘O opens it exactly as you left it. It diffs, it lives in a git repo, and it needs no account on either end.

cvx-vs-oxy-thesis.toml
name = "CVX vs OXY, thesis"
layout = "TwoHorizontal"
time_range = "Year1"

[[panes]]
symbols = ["CVX", "OXY"]
chart_type = "Line"
normalize = "Percent"

[[panes.indicators]]
kind = "RollingCorrelation"
period = 30

[[panes.drawings]]
[panes.drawings.Text]
content = "added 25 sh here"
[panes.drawings.Text.at]
security = "OXY"
ts = "2026-05-15T14:30:00Z"
price = "47.62"

# 3 more drawings, 1 more pane

Tag anything, held or not

t

A tag is a list you can look at: fundamentals, heat tiles, upcoming earnings, and a compare chart against your benchmark. Press t on any row to tag it. Watch-only tickers are members like any other, and a note linked to a tag pins on every member's chart.

Tags · Energy
CVX
+1.12%
OXY
-1.30%
XOM
+0.84%
SLB
-0.42%
Earnings: CVX · Oct 30 · in 9dMedian P/E 15.9×
Craft

Write the thesis where the price is

Notes

Right-click a holding, a legend row, or a tag and add a note. It opens as a document with live markdown preview, links to what you were looking at, and pins to the chart at its date. Give it an end date and it becomes a range on the timeline.

Notes

See what is inside the funds you own

Allocation

Allocation breaks every ETF into the sectors and regions it holds, using a dataset bundled with the app. Set target weights and read the drift. No network call, nothing leaves the machine.

Allocation

Save the view you keep rebuilding

Saved views

Any filter, sort, and layout on Holdings saves as a named pill, one keystroke away from the command palette. Roth only, sorted by unrealized gain, grouped by account: build it once.

Hide every number for the person behind you

⌘⇧M

⌘⇧M masks every amount across the app, in any currency. Percentages stay, so the shape of the day survives. Persisted between sessions.

Privacy

§02 · with an agent, if you use one

Same database, spoken to in plain English.

Pyx ships no model and no chatbot, and never sends your portfolio to an AI provider. What it does ship is an MCP server, off by default. If you already work with Claude Code, Codex, or another MCP client, point it at Pyx over a local socket and it reads the same numbers you see on screen. Portfolio data stays read-only to it; it can write notes and tags when you allow that, and every call lands in the audit log. It also ships eight research skills the agent can run as prompts, from a company dossier to a forensic filing review. Here is what people ask once it is connected.

Make a tag of the US quantum computing leaders and give me the outlook on each.

Build a research list by asking for one

The agent searches the symbol index, creates the tag with its members in one call, pulls the profile, estimates, and next earnings date for each, and saves its outlook as a research note linked to every ticker. Held or not, the tag now has a page.

under the hood
search_symbolssave_tagget_companyget_earningssave_note

Where it lands. Sidebar: the new tag with heat tiles, earnings pills, and a compare chart against your benchmark. The outlook notes pin to each member's chart.

Tags
Quantum US5 members · created by agent
  • IONQIonQearn Nov 5+3.4%
  • RGTIRigettiearn Nov 10-1.8%
  • QBTSD-Waveearn Nov 12+2.1%
  • IBMIBMearn Oct 22+0.6%
  • GOOGLAlphabetearn Oct 28+1.2%

Outlook · IONQ Trapped-ion roadmap on track, cash runway past 2028, revenue still small against the multiple. Watch the Nov 5 print for bookings…

Add a dated note for every major piece of US energy legislation since 2005 and link each one to my energy holdings.

Put history on the chart

The agent lists your holdings, finds the energy names, and writes one dated note per bill per ticker. Notes pin to charts at their date, so the policy timeline lands directly on the price series.

under the hood
list_holdingssave_note

Where it lands. Charts: amber flags on CVX and OXY at each signing date. Drag the range to Max and read what the market did with each one.

Charts · CVX · Max
  • 2005EPAct
  • 2007EISA
  • 2009ARRA
  • 2015Export ban lifted
  • 2022IRA
  • ×2also on OXY

What were my biggest movers over the past month, by dollars and by percent?

Get a straight answer from your own numbers

Holdings and a month of price history are enough. The agent computes the move per position, weights it by what you actually hold, and ranks it. No screenshots, no exporting to a spreadsheet first.

under the hood
list_holdingsget_price_history

Where it lands. A ranked table in the conversation, computed from your database. Ask a follow up and it keeps the context.

Agent reply · 1M movers
symbol1Mvalue
AAPL+6.8%+$4,120.40
AXP+5.2%+$1,612.10
CVX+3.9%+$1,048.55
KHC-2.7%-$182.30
OXY-4.1%-$690.20

Net across all twelve positions: +$5,908.55. AAPL is 70% of the gain; want the drawdown on OXY since your last buy?

How have my dividend payments grown each year for the last five years, and which holdings drove it?

Analyze the ledger, not a summary of it

Every dividend is a transaction in your ledger, so the agent filters by kind and date, sums by year, and breaks the growth down by ticker. Interest and cash movements are one filter away.

under the hood
list_transactionslist_holdings

Where it lands. Year by year totals with the top contributors, straight from the transaction table.

Agent reply · dividends by year
$4,120
2022
$5,036
2023
$5,910
2024
$6,742
2025
$4,388
2026*

Up 63.6% from 2022 to 2025. KO and CVX drove 58% of the growth; AXP raises added the rest. *through Aug 14

Which of my holdings report earnings in the next two weeks? Draft a prep note for each with the recent quarters.

Prepare before the print

One call returns upcoming and recent earnings across everything you hold. The agent pulls recent quarters and estimates for each name and saves a dated note, so the prep is already on the chart when the report drops. The earnings-prep skill does exactly this in one step.

under the hood
get_earningsget_financialssave_note

Where it lands. Notes view: one prep note per reporting holding, dated to the print, pinned beside the earnings marker on its chart.

Notes · next 14 days
  • AAPLThu Aug 20Prep: services mix, China units, Q3 guide
  • AXPFri Aug 21Prep: billed business, card fee growth
  • KOTue Aug 25Prep: unit case volume, FX, pricing

Three notes written, each dated to the print and linked to its ticker.

What did I actually earn this year, time-weighted, in each account, and how does that compare to SPY?

Ask for the honest number

Time-weighted and money-weighted returns, max drawdown, volatility, and the benchmark overlay come from one performance tool, per account or for the whole portfolio. Deposits never inflate the answer, because the math is the same math the Performance page uses.

under the hood
get_performance

Where it lands. Per-account TWR and XIRR beside the benchmark, plus the drawdown you lived through to get it.

Agent reply · YTD returns
accountTWRXIRR
Brokerage+19.4%+18.1%
Roth IRA+24.6%+23.0%
Traditional IRA+17.2%+16.5%
All accounts+21.3%+19.9%
SPY+16.0%max DD -8.4%

Where am I concentrated? Look through VOO and compare my sector weights against the S&P 500.

See the exposure inside the funds

Allocation by sector or region already decomposes ETFs into their underlying weights, using a dataset that ships with the app. The agent reads the weights by any dimension and names the overweights.

under the hood
get_portfoliolist_holdings

Where it lands. A sector by sector breakdown with your overweights named, from data that never left the machine.

Compare my ledger cost basis for every holding against what the broker reports and flag any mismatch.

Audit the broker

Pyx keeps its own per-lot cost basis from your transactions and stores the broker's figure beside it. The agent reads both for every held security and points at the ones that disagree.

under the hood
list_holdingslist_transactions

Where it lands. A short list of tickers where the two numbers diverge, with the lots behind each.

Run the company dossier on AAPL and save it as research.

The institutional note, from Pyx's own numbers

One skill: profile, estimates, ownership, and related names; annual and quarterly statements with growth, margins, and multiples; a peer comparison on all four templates; the filing index; price history. The agent writes the dossier as a research document linked to the ticker and opens it on the security page.

under the hood
get_companyget_financialscompare_companieslist_filingssave_noteshow_in_app

Where it lands. Security page, Research module: the dossier at the top of the stack with a caption naming the client that wrote it. Every figure in it traces to the same modules on the page.

Compare CVX against my Energy tag on leverage and profitability, and flag where it ranks last.

A comp table against a list you already keep

Your tags are peer sets. The agent runs the Leverage and Profitability templates with the tag as the peer set, reads the per-column rank, and answers with the cells that matter. Ask for the scatter and it gets growth against valuation too.

under the hood
compare_companiesget_financials

Where it lands. The ranked table in the conversation, the same numbers as the Peer Comparison module on the Energy tag page.

Read the last 10-K and 10-Q for DKS and tell me whether the reported numbers hold up.

Forensic review with the filing in hand

Pyx serves the filing index with URLs; your agent fetches the documents with its own web tools and checks them against the statement history, growth, and margins Pyx keeps locally. The forensic-review skill scripts the whole pass and ends with the red flags in a research note.

under the hood
list_filingsget_financialssave_noteshow_in_app

Where it lands. A research document on DKS with each flag tied to the filing section it came from.

Put cash and day change first on my Overview and hide the metrics I never look at.

Rearrange the app by describing it

UI surfaces such as the Overview metrics and the Performance chip bar have a catalog the agent can read and reorder. Changes apply live in the running app, and any surface resets to its defaults with one more sentence.

under the hood
get_app_stateset_ui_preferences

Where it lands. The Overview reflows the moment the call returns.

$ claude mcp add pyx -- /Applications/Pyx.app/Contents/MacOS/pyx-mcp

One command connects Claude Code. Every other MCP client points at the same bundled bridge, copyable from Settings. Requires an active license, and works only while Pyx is running. Setup guide.


Your data, ready to use.

Download is free. Subscribe when you want your brokerage synced, and the key lands by email in about a minute.