get_politician_scorecard
Get Politician P&L Scorecard
What it does
Top 5 and bottom 5 politicians (Congress + executive-branch officials) by ESTIMATED trading P&L over a trailing window (default and only supported window: 90 days), plus SPY's return over the same window as a benchmark, and imageUrl — a ready-to-attach 2160x2700 PNG card of the same ranking (null when unavailable; card.reason says why).
ALL P&L FIGURES ARE ESTIMATES (estimate: true, estimateRange "±25–40%"): disclosed amount RANGES are converted to shares at the historical close, FIFO-matched, and open positions marked to the latest quote. State that they are estimates whenever you publish them; the card already prints "Estimates from disclosed amount ranges (±25–40%).
Not investment advice." WHAT THE METRIC IS (read metric): P&L on trades DISCLOSED INSIDE the window only — realized on round trips opened and closed in the window plus unrealized on positions opened in the window. It is NOT lifetime P&L; sales of positions bought before the window are not counted.
Eligibility: at least 5 trades in the window (eligibility.minTradesInWindow), so a single lucky trade cannot top the board.
Each row: slug, fullTitle ("Senator", "Representative", or an executive official's filed title), fullName, displayName, party and state as full words, estimatedPnl, winRate (0-1; null = no position closed in the window — not measured, never 0%), tradesInWindow, unrealizedMeasured, and portraitUrl (always null for executive officials).
Use the full title and full party/state words — never "Sen." or "D-CA". benchmark.available false means SPY was NOT measured (benchmark.reason) — never 0%. available false with reason "pending" means the window has not been computed yet, not that nobody traded.
Ask your AI
With the Signal8 MCP server connected, your assistant calls this tool when a question needs it. For example:
Use Signal8's get_politician_scorecard tool.
Parameters
| Name | Type | Description |
|---|---|---|
windowoptional | 90 | Trailing window in days. Only 90 is supported (default 90). |
Other Congress & politicians tools
- get_political_sector_rotationSectors politicians have been trading over a window.
- get_politician_activityActivity metrics by period (30d/90d/1y/all).
- get_politician_committeesCommittee assignments for a politician.
- get_politician_detailFull profile: party, state, chamber, trade stats.
- get_politician_disclosuresPer-disclosure trade feed with an exactly-once polling cursor.
- get_politician_late_filersLate-filing violations (disclosed >45 days late).
- get_politician_pnlEstimated realized + unrealized trading P&L.
- get_politician_recent_tradesRecent STOCK Act trades across all politicians.
- get_politician_rolesCommittee leadership roles (Chair, Ranking Member).
- get_politician_transactionsPaginated STOCK Act trade history for a politician.
- get_politician_votesCongressional voting records for a politician.
- get_politiciansList/search politicians with STOCK Act disclosures.
- get_politicians_most_activeMost active congressional traders by count.
- get_politicians_pnl_leaderboardRank politicians by estimated trading P&L.
- get_recent_congressional_votesRecent roll-call votes across all members.
- get_recently_sponsored_billsMost recently introduced bills across sponsors.
- get_senate_trades_by_tickerReverse lookup: who traded a given ticker.