Documentation

Large Trade Histories

Full-history reports for large accounts, loading during P&L rebuilds, and the limits behind partial-data notices.

OptionsPro uses full-history reports for large accounts on Trades, Trends, and Positions. Other views still have limits on how much trade history they can read at once. This page explains both paths, loading while P&L is updating, and what a partial-data notice means when one appears.

Full-history reports

On large accounts, Trades and Trends load the complete stored trade history in batches before applying filters and calculating the report. You can search and page back to older trades; a portfolio filter is checked against the complete loaded history. Positions uses saved positions for the unfiltered view and loads the full trade history when resolving a portfolio filter. Its separate limit on returned position rows still applies.

These reports cover the history stored in OptionsPro. They cannot recover a fill your broker has not supplied; see Data Quality Warnings.

If a P&L rebuild after an import or sync prevents a consistent read, reports wait rather than showing an expected update as an error. When a complete saved snapshot remains readable, reports can continue using it during the rebuild. On a first load you see a loading state; when the same filters already have a result, that previous result can remain visible while the new one is prepared. The report refreshes automatically when the rebuild finishes. Changing filters waits for a result for the new selection.

If data changes during a report read, or its saved P&L cannot yet be reconciled, the report asks you to retry instead of presenting a mixed result. Use Try again if offered. If loading or a retry error persists, contact Support.

Bounded reads and partial-data notices

Dashboard, Calendar, Risk & Insights, and the AI assistant still use bounded reads for some of their data. Trades, Trends, and Positions also have a bounded path for ordinary accounts or when the full-history report is unavailable during a rollout. If such a read reaches its limit, the page shows an amber notice or stops the affected view.

The sections below describe those bounded-read notices. Their search and filter limitations do not apply to the full-history reports described above. The absence of a notice is not a guarantee that the broker supplied every fill or that a P&L rebuild has completed.

The short version

Two different kinds of number sit on most pages, and the ceiling treats them differently:

  • Headline P&L figures are read from your saved P&L, which covers your whole history no matter how large it is. Realized P&L, win rate, avg win and loss, the equity curve, monthly performance, and the strategy breakdown all come from there. They are not limited to the trades a page could read.
  • Lists and a few timing charts are read from the trade rows themselves, newest first. Those are the things that come back partial, and the notice tells you which ones on that page.

So on an unfiltered page a notice does not mean "these totals are wrong". It means "this list is the recent tail of a longer history". A portfolio filter is the one thing that puts a caveat on the totals too, and Portfolio filters make it stricter below says exactly which one.

Where the notice appears

PageWhat stays exactWhat is partial
DashboardEvery stat card and chart (read from saved P&L).The Recent Trades table covers your most recent activity.
TradesRealized P&L (read from saved P&L).The trade list and the summary counts above it. Older trades are not shown.
PositionsUnfiltered, your whole open book and the cards over it.Old closed positions, and under a portfolio filter whole positions. See The Positions ceiling.
TrendsThe summary stats, the day-of-week chart, and the DTE buckets.The hour-of-day chart (falls back to closing time) and entry-delta chart (omits the trade).
Risk & InsightsKey Risk Indicators and Win/Loss & Streak Analysis (read from saved P&L).Portfolio Greeks, but only under a portfolio filter.
CalendarEverything, unless a portfolio filter is applied.Under a portfolio filter, daily and weekly P&L cover recent activity rather than all of it.

The table describes the unfiltered case. A portfolio filter changes it on every page, and on two pages it replaces the notice with a hard stop - the next two sections cover both. Stocks isn't in the table because its table is paged on the server, so this notice doesn't appear there.

Market values and everything else driven by quotes are unaffected by any of this - see Market Data for what moves those. Portfolio Greeks are the one exception, and only under a portfolio filter: that's the only path where they're derived from trades rather than from your cached positions.

Portfolio filters make it stricter

A portfolio filter is where a partial read stops being only about lists, so it's worth being precise about. Which way a filtered figure can be wrong depends on how that figure is built, and the two cases go in opposite directions:

  • Figures read from your saved P&L - the Dashboard's cards and charts, and Realized P&L on Trades. The filter is applied by looking each entry's closing trade up in the rows the page managed to read. An entry whose closing trade wasn't reached can't be tested against the filter, so OptionsPro keeps it rather than dropping it. These can therefore over-include trades from outside the selection. An extra winning or losing trade can move the displayed P&L in either direction.
  • Figures recomputed from the trades themselves - the Calendar's daily, weekly and monthly P&L, and the portfolio-filtered Positions list. These are summed from the selected portfolios' own bounded read, so a trade that wasn't reached is simply not counted. These omit activity: missing wins or losses can move the displayed P&L in either direction, and the Positions list can drop whole positions.

Either way the remedy is the same, and it's the only one that actually changes what gets read: select fewer portfolios, or clear the filter entirely. Unfiltered, the Calendar and Positions both read your saved P&L and cover your whole history, so neither can show this notice at all without a filter applied.

When a page stops instead

Trends and Risk & Insights handle the filtered case differently from everywhere else. Rather than render a breakdown from a partial filtered read, they stop and show a Portfolio history is too large card:

We could not check every trade in the selected portfolios. Clear the portfolio filter to view all portfolios, then select fewer portfolios to narrow the results.

A View all portfolios button clears the filter and reloads the page.

This is deliberate, and it's the right trade for these two pages: a partial membership read can't tell an unrelated cached close from a selected one that wasn't read, so every number on the page would be suspect rather than just one list. Nothing is wrong with your data, and the unfiltered view is complete - the filter is the only thing that can't be answered.

One narrower case doesn't stop the page: if only Portfolio Greeks fall short on Risk & Insights, the page renders with an amber notice saying Greeks may be incomplete and a Clear Portfolio Selection button beside it.

The Positions ceiling

The Positions page has a second, separate ceiling on how many position rows it can return at once, and it can show either notice.

  • "You have more positions than this page can load at once." Every open position is still shown - open positions are never the thing that gets cut. What is dropped is old closed history, most recent kept first. Set Status to Open to see your live book with nothing trimmed.
  • "This portfolio has more trade history than we can read at once." A different cut, and one a row count cannot reveal: the selected portfolio's trade history did not fit the read behind the list, which drops whole positions rather than trimming the end of it. Select fewer portfolios.

Occasionally the check behind the second notice cannot run, and you will see "We could not check whether this position list covers the selected portfolio in full" with a Try again button. Failing to check is not the same as finding nothing to report, so the page says which one happened. Changing the portfolio selection retries it too.

What to do about it

Two things genuinely change what a page reads:

  • Select fewer portfolios, or clear the portfolio filter. The filtered read is scoped to the portfolios you picked, so a smaller selection fits where a larger one didn't - and clearing it entirely puts the page back on your saved P&L, which covers everything.
  • Filter Positions to Open. Your open book is never what gets cut, so the live view is complete even when the full history isn't.

It's worth being clear about what does not help, because the obvious moves look like they should. Narrowing the date range and searching or filtering the Trades table do not widen the read. The trade scan runs newest-first over your whole account before any of those filters are applied, so they narrow what you see out of the rows that were read - they can't reach a trade that wasn't. An older trade outside the read isn't findable by typing its symbol.

That sounds worse than it is, because of what the notice is actually telling you. Nothing is missing from your account and nothing needs repairing: every trade is still stored and still counted in your saved P&L, which is where the headline figures come from. A bounded trade list cannot page back beyond the rows it loaded. The full-history Trades report can. If you need a specific old trade and can't reach it, Support can.

The AI assistant

The AI assistant reads your trades under the same ceiling. Its trade-listing tools report when they returned the most recent matches rather than every one, and the model is instructed to answer totals from your saved P&L rather than counting the rows it was handed. If you ask it a counting question on a very large book and the answer looks low, ask for the total explicitly.

  • Market Data - the other reason a number can look off, and the one that is about quotes rather than trades.
  • Data Quality Warnings - reconciliation gaps between your broker's history and ours, which are a different problem with a different banner.
  • Support - if a notice persists on a book you would not call large, tell us.

On this page