Calculate and provide an overview of the portfolio’s positions, including key statistics and performance metrics.

The following columns are included:

  • Volume: the net volume of each asset over time, i.e. every buy minus every sell.
  • Costs: the cumulative transaction costs of each asset over time.
  • Invested Amount: the cumulative capital deployed over time, i.e. the value of every buy plus the absolute transaction costs. Sale proceeds are not netted off.
  • Realized Proceeds: the cumulative cash received from selling units of the asset over time.
  • Current Value: the value of the position still held, marked at the dividend-adjusted closing price of that day.
  • Cumulative Return: the total return on the capital deployed, i.e. (Current Value + Realized Proceeds - Invested Amount) / Invested Amount.
  • Invested Weight: the weight of the asset in the portfolio based on the invested amount over time.
  • Current Weight: the weight of the asset in the portfolio based on the current value over time.

Positions are marked at the adjusted closing price, so the cumulative return is a total return that includes reinvested dividends. The historical “Current Value” is therefore a total-return equivalent value rather than the price quoted on that date; the two coincide on the latest date.

A transaction booked on a day without a price, such as a weekend or an exchange holiday, is carried forward to the first following day that does have one.

This method computes an overview of the portfolio’s positions by calculating important statistics and performance metrics based on the historical data and transactions. If necessary data has not been collected, it will trigger the collection of historical and benchmark data using the collect_historical_data and collect_benchmark_historical_data methods. Additionally, it will compute an overview of transactions using the get_transactions_overview method.

The resulting overview includes information about the positions, such as the value, performance, and other key metrics. The data is rounded to the specified precision before being returned.

Positions Overview in Python

get_positions_overview is part of the Portfolio module of the open-source Finance Toolkit. Install it with:

pip install financetoolkit -U

Then call get_positions_overview as shown below.

from financetoolkit import Portfolio

portfolio = Portfolio(example=True, api_key="FINANCIAL_MODELING_PREP_KEY")

portfolio.get_positions_overview()

Which returns:

Date Volume Costs Invested Amount Realized Proceeds Current Value Cumulative Return Invested Weight Current Weight
2026-07-28 92 -18 1779.63 118.103 10405.2 4.9132 0.0128 0.0096
2026-07-29 92 -18 1779.63 118.103 10508.2 4.9711 0.0128 0.0098
2026-07-30 92 -18 1779.63 118.103 10221.2 4.8098 0.0128 0.0093
2026-07-31 92 -18 1779.63 118.103 10230.4 4.815 0.0128 0.0092
2026-08-03 92 -18 1779.63 118.103 10185.3 4.7896 0.0128 0.0092
2026-08-04 92 -18 1779.63 118.103 10262.6 4.8331 0.0128 0.0091
2026-08-05 92 -18 1779.63 118.103 10335.3 4.8739 0.0128 0.0092
2026-08-06 92 -18 1779.63 118.103 10310.4 4.8599 0.0128 0.0092
2026-08-07 92 -18 1779.63 118.103 10290.2 4.8486 0.0128 0.0091
2026-08-10 92 -18 1779.63 118.103 10364.7 4.8904 0.0128 0.0092

Parameters

get_positions_overview accepts the following parameters:

  • rounding (int | None): An optional integer specifying the number of decimal places to round the data. If None, the default rounding precision is used.
Share