Home/Learn/Portfolio Methodology

How We Calculate Portfolio Performance

The methodology behind CongressFlow's simulated portfolio tracking.

2026-04-09·6 min read

Key Takeaways

  • -Portfolio simulations use the midpoint of STOCK Act reported ranges to estimate trade sizes.
  • -Position matching uses FIFO (First-In-First-Out), closing oldest lots first on sales.
  • -Performance is measured with Time-Weighted Return (TWR), the industry standard for evaluating stock-picking skill.
  • -Each portfolio is benchmarked against SPY using matching cash flow dates.
  • -Results are estimates — actual returns may differ significantly from the simulation.

CongressFlow computes a simulated portfolio for each member of Congress based on their publicly disclosed STOCK Act filings. This page explains exactly how those calculations work — and what they can and can't tell you.

Why it's “simulated”

STOCK Act disclosures require members of Congress to report stock trades, but they don't require exact dollar amounts. Instead, each trade is reported as a broad range — for example, “$1,001 - $15,000” or “$500,001 - $1,000,000.” We don't know the exact number of shares bought or sold, and we don't know exact entry prices. So any portfolio we build from this data is necessarily a reconstruction, not the politician's actual portfolio.

Position sizing

For each trade, we use the midpoint of the reported amount range as the assumed dollar value. A “$1,001 - $15,000” trade is treated as $8,000. We then divide that by the stock's closing price on the trade date to get an estimated share count.

This is an approximation. Real trades could be anywhere in the range, and politicians often make multiple trades of the same stock on the same day that we treat as separate lots.

FIFO position matching

When a politician sells a stock, we close the oldest purchased lot first — this is called FIFO (First-In-First-Out). If the oldest lot has more shares than the sale, we close it partially. If it has fewer, we close it completely and move to the next oldest lot.

This mirrors the standard accounting approach and gives us a realistic picture of which specific shares are being sold.

Time-Weighted Returns (TWR)

To measure performance, we use Time-Weighted Return, the industry standard for evaluating stock-picking skill. TWR breaks the portfolio timeline into sub-periods at each trade date, calculates the return of each sub-period independently, and chains them together.

The key feature of TWR: it's independent of cash flows. Whether a politician adds $10,000 or $10 million to their portfolio doesn't change the TWR — only the performance of their picks does. This makes TWR the fairest way to compare different portfolios.

S&P 500 benchmark

Each portfolio is compared against the S&P 500 (SPY). We simulate a parallel portfolio that makes the same dollar cash flows into SPY on the same dates as the politician's real trades went into individual stocks. Then we compute TWR for both portfolios and compare.

The difference is alpha — how much better (or worse) the politician performed vs simply buying the index.

What's excluded

  • Treasury bills, municipal bonds, corporate bonds
  • Commodities, futures contracts
  • Private investment funds and LLCs
  • Mutual funds
  • Dividends (not reported in disclosures)
  • Tax impact
  • Trading fees (negligible for the dollar amounts involved)

Limitations you should know

These numbers are estimates, not the politician's actual portfolio. Real returns may differ significantly due to:

  • Actual trade sizes within the reported ranges
  • Intraday pricing (we use closing prices)
  • Pre-existing holdings not reported in the available data
  • Trades that happened before our data coverage began
  • Politicians may have other assets (real estate, private equity) that aren't disclosed

For more context on the data underlying these calculations, see our guide on how to read congressional financial disclosures and our overview of congressional disclosure requirements.

This is educational content about publicly available government data, not investment advice. Data sourced from congressional financial disclosure filings.

Frequently Asked Questions

Why is this called a "simulated" portfolio?

STOCK Act filings only report trade amounts as broad ranges (e.g., "$1,001 - $15,000"), not exact dollar values. We estimate share counts using the midpoint of each range and the closing price on the trade date. The resulting portfolio is a reconstruction, not the politician's actual holdings.

What is Time-Weighted Return (TWR)?

TWR is the industry standard for measuring stock-picking skill. It breaks the portfolio timeline into sub-periods at each trade date, calculates the return of each sub-period independently, and chains them together. TWR is independent of cash flows — whether a politician adds $10,000 or $10 million doesn't change the TWR, only the performance of their picks does.

How is the S&P 500 benchmark calculated?

We simulate a parallel portfolio that makes the same dollar cash flows into SPY (the S&P 500 ETF) on the same dates as the politician's actual trades went into individual stocks. Then we compute TWR for both portfolios and compare. The difference is alpha — how much better or worse the politician performed vs the index.

What does FIFO mean in this context?

FIFO stands for First-In-First-Out. When a politician sells a stock, we close the oldest purchased lot first. If the oldest lot has more shares than the sale, we close it partially. If it has fewer, we close it completely and move to the next oldest lot. This mirrors standard accounting practices.

How accurate are these portfolio simulations?

These are estimates, not exact figures. Real returns may differ due to actual trade sizes within reported ranges, intraday pricing (we use closing prices), pre-existing holdings not in our data, and other assets like real estate or private equity that aren't disclosed through STOCK Act filings.