Methodology

How we construct the Legislative Evil Fund's hypothetical portfolio.

1. Identify Qualifying Legislators

We start with all sitting members of the U.S. House of Representatives and Senate. Using net worth data from OpenSecrets.org (based on annual financial disclosures), we identify the top 25% wealthiest members in each chamber.

Current threshold (2026): Approximately $2.5M net worth for the House, $8M for the Senate.

2. Collect Trade Disclosures

Under the STOCK Act, members must disclose stock transactions within 45 days. We aggregate these disclosures from:

  • House Office of the Clerk
  • Senate Office of Public Records
  • Periodic Transaction Reports (PTRs)

Trades are categorized by type (buy/sell), approximate value range, and asset ticker symbol when available.

3. Construct the Portfolio

The LEF portfolio is constructed using the following rules:

  1. Equal weighting by legislator: Each qualifying legislator's trades contribute equally, regardless of personal wealth.
  2. Value range midpoint: Since disclosures report ranges (e.g., "$15,001–$50,000"), we use the geometric midpoint.
  3. T+45 execution: We assume trades execute 45 days after the transaction date (the maximum disclosure window), simulating what a retail investor could achieve.
  4. Monthly rebalancing: The portfolio is rebalanced monthly to reflect new disclosures.

4. Calculate Returns

Portfolio returns are calculated using:

  • Adjusted close prices (accounting for splits and dividends)
  • No transaction costs (for simplicity)
  • Full reinvestment of dividends

The S&P 500 Total Return Index is used as the benchmark for comparison.

5. Inception Date

The fund's hypothetical inception date is April 4, 2012 — the day President Obama signed the STOCK Act into law. This provides the longest possible backtest period with reliable disclosure data.

Limitations & Caveats

  • Disclosure delays: The 45-day window means we're always trading on stale information compared to the legislators.
  • Value ranges: Imprecise disclosure ranges introduce estimation error.
  • Missing data: Some disclosures are incomplete, late, or use vague asset descriptions.
  • Survivorship bias: We only track current members, not those who left office.
  • No real trading: This is a simulation. Actual returns would differ due to slippage, costs, and timing.

Source Code

Our data pipeline and methodology are open source. View on GitHub →