Skip to content
investiDocs

Analytics

The Analytics screen: net economic P/L, a dollar-matched benchmark, strategy health, missed exits, underwater lots and correlation.

On this page

Analytics measures how your trading has actually worked, using only your imported fills. It shows whether you beat a simple index alternative, how your wins compare with your losses, and where money is tied up below cost.

Open it from the nav or press g then a.

Comparisons include your selected benchmark, equal-weight S&P 500 (RSP), Nasdaq Composite (ONEQ) and Dow Jones Industrial Average (DIA). ONEQ and DIA are ETF price-return proxies, not direct index feeds; dividends and fund expenses can cause differences from published index returns. Source descriptions: Fidelity ONEQ and State Street DIA. The reporting start date in Settings bounds the performance period; earlier fills remain available to reconstruct opening holdings.

Header figures#

The header line counts closed trips and gives your coverage dates, for example "17 closed trips · Sep 11, 2025 to Oct 20, 2026". Four figures follow:

Label What it shows
Net economic Realized plus unrealized, dividends and interest earned, minus margin interest and account fees. The breakdown panel shows each part.
Equity change net of flows Ending equity minus starting equity minus deposits and withdrawals (see Performance).
Time-weighted return Daily returns chain-linked.
vs same dollars in SPY Your cumulative P/L minus the benchmark's. The sub-label shows the benchmark's own result. The ticker follows your benchmark setting (SPY by default).

Definitions match the rest of the app; see /docs/concepts/canonical-numbers.

Performance#

Starting and ending equity, deposits and withdrawals, gain net of flows, time-weighted return and a Modified Dietz cross-check, each with an (i). A table compares Your account with each benchmark over the same dates: Return, Gain on flows (your starting equity and every deposit and withdrawal put into the benchmark at that day's close) and You vs it. The Method button opens the full explanation. When performance cannot be rebuilt, the panel reads "Performance unavailable" and its (i) gives the reason.

Cumulative P/L vs dollar-matched benchmark#

A chart of your cumulative P/L over time against the benchmark. The benchmark line mirrors every buy and sell notional into the benchmark at that day's close. It answers "what if the same dollars, at the same times, went into the index?" without assuming anything about deposits or idle cash.

Only fills with known cost basis are included; the (i) beside the panel title explains the method and any legacy sales left out. With nothing to price you see "Not enough priced history."

Strategy health#

Computed from closed round trips with fully known basis:

  • Win rate: the share of closed trips with positive realized P/L.
  • Profit factor: gross wins divided by gross losses.
  • Average win and Average loss: mean realized P/L of winning and losing trips.
  • Average hold: mean holding days per trip.
  • Avg max adverse move: the average of each trip's worst daily low against its entry while held.

Each metric shows a dash when there is not enough data, for example a profit factor with no losing trips.

Realized by month#

A bar chart of realized P/L by the month each lot closed, for the last 24 months. Gains rise above the center line and losses fall below it. Hover a bar for the month and amount. With no closed lots it reads "No closed lots yet."

By symbol#

A table of every symbol with closed trips: Trips, Win rate and Realized (with a total), largest realized first. Sort and filter by any column.

Missed exits#

Closed long trips where the price ran more than 3% above your average exit within the 20 sessions after you sold. A sortable, filterable table shows Sold (the close date), Exit, 20d peak (from daily highs), Ran (the run after exit) and Left on table (peak minus exit, times shares closed). Up to 12 rows, largest amount first. Under it, large figures give the total left on the table (and across how many trips), and what keeping a 25% runner would have changed if sold at the 20-day peak or at the 20th session's close; one (i) explains the method.

With none it reads "None: no closed trip ran more than 3% after exit."

Note: Missed exits use daily highs, so the peak may not have been reachable at a fill you could have gotten. Treat it as a pattern check, not a regret ledger.

Underwater aging#

Open long lots currently priced below cost, oldest first, in a sortable, filterable table: Held (days, with an age chip), Shares, Cost per share (including fees), Return and Unrealized. Lots with unknown basis are left out. With none it reads "No open lots are below cost."

Correlation of holdings#

Shown when you hold two or more names. A matrix of Pearson correlations of daily returns over the last 120 sessions for up to 12 holdings. Cells are tinted by strength (accent for positive, red for negative). The (i) beside the title says what high correlation means: those positions tend to fall together in a selloff. A dash means there was not enough overlapping history (fewer than 10 sessions).

Empty state#

With no trade history you see "Analytics need trade history" and an Import history button to /settings#data. See /docs/getting-started/import-history or load sample data to explore.

  • Change the benchmark ticker or lot method in Settings under Preferences.
  • See individual trips behind these numbers in History.
  • The same strategy health data is available to Claude; see /docs/integrations/mcp.