John Hoeven’s disclosed stock trades — and what copying them returned

John Hoeven (Senate) has disclosed 175 stock trades under the STOCK Act, from Jan 20, 2015 to Feb 24, 2020115 buys and 58 sells, read straight from the official filings. The median gap between a trade and the public finding out was 13 days — which is why every number below starts at the disclosure date, the earliest day anyone could actually have copied a trade.

What copying every disclosed buy would have returned

Our engine bought at the first opening price after each of John Hoeven’s disclosed purchases became public, held until the matching sale was disclosed, and marked the book against simply holding the S&P 500 over the same window (Jan 22, 2015Aug 11, 2026). Fees on, position sizes equal — a filing never discloses the real amount, only a band.

Copy-return, total+339.1%
S&P 500 over the same window+353.0%
Difference-13.9%
Annualized over 11.6 years+13.7% vs +14.0% -0.3% a year against the index
Deepest fall along the way-35.1%
Positions that closed ahead59%
Disclosed buys / actually copied115 / 108

Read the fill count before the return: a figure built on a handful of copied positions is an anecdote, whatever it says. And a copy-return is not John Hoeven’s own return — the disclosure lag means a copier never got their entry price.

Most-traded tickers

WTW (14) · IVZ (5) · IBM (5) · T (4) · CAT (4) · MCD (4) · PRU (3) · UPS (3) · DWDP (3) · F (3)

Recent filings

The latest 50 disclosed trades, newest filing first. Both dates are shown because the gap between them is the whole story.

TickerTypeTradedDisclosedLagAmount band
BMEZBuyJan 29, 2020Feb 24, 202026d$100,001 - $250,000
GTXSellDec 23, 2019Jan 9, 202017d$1,001 - $15,000
KHCSellDec 23, 2019Jan 9, 202017d$100,001 - $250,000
REZISellDec 23, 2019Jan 9, 202017d$1,001 - $15,000
TGBAXSellDec 23, 2019Jan 9, 202017d$100,001 - $250,000
MPCBuyDec 31, 2019Jan 9, 20209d$50,001 - $100,000
SLBBuyDec 31, 2019Jan 9, 20209d$50,001 - $100,000
VFIJXBuyDec 31, 2019Jan 9, 20209d$50,001 - $100,000
BIVBuyDec 31, 2019Jan 9, 20209d$100,001 - $250,000
BSTZBuyNov 19, 2019Dec 12, 201923d$100,001 - $250,000
PRUBuyNov 19, 2019Dec 12, 201923d$100,001 - $250,000
CVXBuyNov 4, 2019Nov 20, 201916d$50,001 - $100,000
EXCBuyNov 4, 2019Nov 20, 201916d$50,001 - $100,000
XOMBuyNov 4, 2019Nov 20, 201916d$50,001 - $100,000
TWOBuyNov 4, 2019Nov 20, 201916d$50,001 - $100,000
XOMBuyNov 5, 2019Nov 20, 201915d$50,001 - $100,000
IVZBuyNov 5, 2019Nov 20, 201915d$50,001 - $100,000
IBMBuyOct 21, 2019Oct 24, 20193d$50,001 - $100,000
KTBBuySep 24, 2019Sep 25, 20191d$15,001 - $50,000
NFLXBuySep 24, 2019Sep 25, 20191d$50,001 - $100,000
DOWBuyAug 22, 2019Aug 23, 20191d$50,001 - $100,000
UPSSellJul 23, 2019Aug 15, 201923d$100,001 - $250,000
CVSSellJul 23, 2019Aug 15, 201923d$50,001 - $100,000
BSTZBuyJun 26, 2019Jul 9, 201913d$100,001 - $250,000
DOWBuyMay 30, 2019Jun 3, 20194d$50,001 - $100,000
CEBuyMay 30, 2019Jun 3, 20194d$50,001 - $100,000
WTWBuyNov 7, 2018May 8, 2019182d$15,001 - $50,000
WTWSellJan 19, 2019May 8, 2019109d$15,001 - $50,000
WTWBuyDec 21, 2017May 8, 2019503d$1,001 - $15,000
WTWBuyDec 21, 2017May 8, 2019503d$1,001 - $15,000
WTWBuyNov 7, 2018May 8, 2019182d$15,001 - $50,000
WTWSellJan 19, 2018May 8, 2019474d$15,001 - $50,000
WTWBuyDec 21, 2017May 8, 2019503d$1,001 - $15,000
WTWBuyDec 21, 2017May 8, 2019503d$1,001 - $15,000
KDPBuyApr 25, 2019Apr 29, 20194d$15,001 - $50,000
CCIBuyMar 22, 2019Apr 9, 201918d$50,001 - $100,000
KDPBuyMar 22, 2019Apr 9, 201918d$50,001 - $100,000
IVZBuyMar 22, 2019Apr 9, 201918d$50,001 - $100,000
METBuyMar 22, 2019Apr 9, 201918d$50,001 - $100,000
TGTBuyMar 22, 2019Apr 9, 201918d$50,001 - $100,000
FCNTXBuyMar 22, 2019Apr 9, 201918d$50,001 - $100,000
FLMVXBuyMar 22, 2019Apr 9, 201918d$50,001 - $100,000
PRNHXBuyMar 22, 2019Apr 9, 201918d$50,001 - $100,000
XSLVBuyMar 8, 2019Apr 9, 201932d$50,001 - $100,000
XSLVBuyMar 8, 2019Mar 22, 201914d$50,001 - $100,000
LYBBuyFeb 27, 2019Mar 7, 20198d$50,001 - $100,000
BXBuyDec 27, 2018Jan 11, 201915d$100,001 - $250,000
FDXSellDec 27, 2018Jan 11, 201915d$15,001 - $50,000
TPartial sellDec 27, 2018Jan 11, 201915d$15,001 - $50,000
BUDSellDec 27, 2018Jan 11, 201915d$50,001 - $100,000

Full history, sorting and the CSV export live in Pulse. Open Congress in Pulse.

Hear about the next filing the day it lands

A filing is only useful in the days after it appears — exactly when nobody is watching the disclosure sites. Follow John Hoeven in Pulse and you get an email as soon as their next report is parsed: the trades in it, both dates, and how long they sat on it.

See plans All members and how the ranking works

Entries are at the first open AFTER the disclosure date — the earliest any copier could act. The member's own entry was up to 45 days earlier. Disclosed amounts are bands, not sizes; every position is sized at your chosen % of portfolio, which is not how the member sized it. Option purchases are copied as the underlying shares. A filing discloses no strike and no expiry, so an option cannot be mirrored — buying the stock is the closest a reader could get. It is 1.6% of all disclosed buys, but for some members it is a quarter to a half of everything they file, so their figure describes copying the filing rather than what the position itself did. Dividends are treated as reinvested (adjusted closes). Fees and taxes are not modeled. Positions are sized from equity at the time of each entry, so gains compound into later position sizes and most of the account sits in cash between filings. Read the drawdown next to the exposure figures: a portfolio that is mostly cash shows a small whole-portfolio drawdown even when its holdings fell hard. Absolute returns are model outputs, not achievable returns. Past disclosures are no promise of future filings — members stop trading, leave office, or file late in batches.