---
title: "Read a strategy's position history"
description: "Use the Position History tab to see what a backtest traded: one row per symbol, then each position, then each trade, with gross, costs and net at every level."
canonical_url: "https://fincanva.com/docs/analysis/read-a-strategy-s-position-history"
last_updated: "2026-09-24"
md_url: "https://fincanva.com/docs/analysis/read-a-strategy-s-position-history.md"
---

# Read a strategy's position history

The **Position History** tab of a strategy's Analysis lists everything its backtest traded, from the widest view to the narrowest: one row per symbol, then the positions taken in that symbol, then the trades that made up each position. Every level carries the same three money columns — **Gross**, **Costs** and **Net** — read the same way.

## Before you start

- The strategy needs a completed backtest.
- One convention to hold throughout: **Gross** is before costs, **Net** is after, and **Costs** is the difference, shown as a positive amount. See [gross vs net](/docs/analysis/gross-vs-net).

**Position History** depends on your plan. If its tab shows a small square of bars beside its name, see [what a tab outside your plan shows](/docs/analysis/find-your-way-around-a-strategy-s-analysis-tabs).

Included from Starter upwards. See [what each plan includes](/docs/account-security/what-each-plan-includes).

## Steps

1. Open the strategy, choose **Analysis**, then the **Position History** tab.
2. Read the four figures across the top: **Symbols traded**, **Profitable symbols**, **Best symbol**, and **Trading costs**.
3. Read the **By symbol** table: one row for every instrument the backtest ever held, with its **Gross**, **Costs**, **Net**, **Dividends** and **Total P&L** over the whole run. To find one instrument, type its ticker or name in **Search symbols…**; to rank the table differently, select a column heading. More rows load as you scroll.
4. Select a symbol's row to open it. It lists the positions taken in that symbol under **Positions** with a count, each with its **Start**, **End**, **Side** and **Max contracts** and the same money columns.
5. Select a position to open it. Its **Trade history** lists every fill, and **Dividends & splits** lists the events recorded while it was held.

## What you should see

Three nested tables describing the same trades at three scales: the whole life of a symbol, one position in it, and one fill. The profit-and-loss columns — **Gross**, **Costs**, **Net**, **Dividends** and **Total P&L** — are in the currency the analysis is shown in at every level, so rows can be compared directly: your base currency on a strategy you own, and US dollars on a Public strategy, which is shown with default settings. Prices are not converted: a trade's **Actual execution price**, and the value and price of a dividend or split, are in the instrument's own currency. Each column is explained on the page that owns it:

- the **By symbol** table and the four figures above it — [positions summary table](/docs/analysis/positions-summary-table);
- the positions and trades inside a symbol — [positions detail drill-down](/docs/analysis/positions-detail-drill-down);
- the last column, a symbol's whole result with dividends — [Total P&L](/docs/analysis/total-p-l);
- why a closing trade happened, in its **Reason** column — [exit reason](/docs/strategies/exit-reason);
- a position still open at the end of the run — [realized vs open P&L](/docs/analysis/realized-vs-open-p-l).

## Common problems

### Net is the same as Gross on every row

The backtest charged no trading costs, which is the default. **Costs & interests** is off whenever the tab opens, so every Costs cell is zero, Net equals Gross, and the page says so: "These figures are gross of trading costs and taxes.", because **Taxes** is off by default too. Switch it on under **Simulation settings** to see costs deducted. See [the costs switch](/docs/backtesting/costs-toggle).

### Gross minus Costs is one unit away from Net

Each cell is rounded on its own, so the three displayed figures can differ by one in the last digit. Nothing is missing; see [gross vs net](/docs/analysis/gross-vs-net#how-do-you-read-the-sign-of-the-costs-column).

### The table lists a company that no longer trades

That is by design. A company that was delisted, acquired or taken private stays in the market data with the history it had, and a backtest can hold it for the period it actually traded — dropping it would leave only the survivors and flatter the result. See [delisted](/docs/data-methodology/delisted), and [what the data coverage figures count](/docs/data-methodology/what-fincanva-s-data-coverage-figures-count) for how such instruments are counted.

### The table reads "No symbols in this backtest."

The run opened no positions at all, so there is nothing to list. Inside a symbol or a position the same situation reads "No positions for this symbol.", "No trades." or "No dividends or splits."

### Rows stop loading with "Couldn't load results."

The next page of rows could not be fetched. Reload the tab to try again.

Fincanva is for education and illustration only. It is not personalised financial advice, and past or simulated results do not predict future ones. [Read the Terms Addendum](https://fincanva.com/terms/addendum#section-3)
