Tom Malinowski’s disclosed stock trades — and what copying them returned

Tom Malinowski (House) has disclosed 196 stock trades under the STOCK Act, from Mar 5, 2021 to Aug 26, 2021101 buys and 95 sells, read straight from the official filings. The median gap between a trade and the public finding out was 379 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 Tom Malinowski’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 (Mar 8, 2021Aug 11, 2026). Fees on, position sizes equal — a filing never discloses the real amount, only a band.

Copy-return, total+69.3%
S&P 500 over the same window+117.6%
Difference-48.3%
Annualized over 5.4 years+10.2% vs +15.4% -5.2% a year against the index
Deepest fall along the way-33.3%
Positions that closed ahead40%
Disclosed buys / actually copied101 / 85

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 Tom Malinowski’s own return — the disclosure lag means a copier never got their entry price.

Most-traded tickers

YEXT (13) · CDNA (13) · AMRC (13) · EQIX (12) · DASH (10) · PCRX (9) · FIVN (8) · ANIK (8) · K (7) · PTON (7)

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
YEXTBuyDec 8, 2020Aug 26, 2021261d$1,001 - $15,000
YEXTBuyJun 4, 2019Aug 26, 2021814d$1,001 - $15,000
TCOBuyFeb 12, 2020Aug 26, 2021561d$1,001 - $15,000
POSTPartial sellJan 28, 2019Aug 26, 2021941d$1,001 - $15,000
PEPPartial sellJul 12, 2019Aug 26, 2021776d$15,001 - $50,000
KPartial sellOct 29, 2019Aug 26, 2021667d$15,001 - $50,000
KPartial sellJun 27, 2019Aug 26, 2021791d$1,001 - $15,000
SJMPartial sellFeb 28, 2019Aug 26, 2021910d$15,001 - $50,000
SJMPartial sellNov 15, 2019Aug 26, 2021650d$1,001 - $15,000
FIVNSellJan 27, 2020Aug 26, 2021577d$1,001 - $15,000
EQIXPartial sellJun 19, 2019Aug 26, 2021799d$1,001 - $15,000
DASHBuyJan 15, 2021Aug 26, 2021223d$15,001 - $50,000
DOMOBuyMar 6, 2019Aug 26, 2021904d$15,001 - $50,000
CDNABuyDec 7, 2020Aug 26, 2021262d$1,001 - $15,000
CDNAPartial sellOct 9, 2020Aug 26, 2021321d$1,001 - $15,000
CDNABuyDec 29, 2020Aug 26, 2021240d$1,001 - $15,000
CDNAPartial sellJan 8, 2021Aug 26, 2021230d$1,001 - $15,000
ANIKPartial sellJul 29, 2019Aug 26, 2021759d$1,001 - $15,000
ANIKPartial sellOct 29, 2019Aug 26, 2021667d$1,001 - $15,000
ANIKBuyFeb 27, 2020Aug 26, 2021546d$1,001 - $15,000
AMRCBuyMar 9, 2021Aug 26, 2021170d$15,001 - $50,000
AMRCPartial sellJan 7, 2021Aug 26, 2021231d$1,001 - $15,000
AMRCBuyDec 18, 2020Aug 26, 2021251d$1,001 - $15,000
AMRCPartial sellOct 16, 2020Aug 26, 2021314d$1,001 - $15,000
YEXTBuyNov 14, 2019Aug 26, 2021651d$1,001 - $15,000
YEXTBuyFeb 19, 2019Aug 26, 2021919d$15,001 - $50,000
VIOTBuyApr 2, 2019Aug 26, 2021877d$1,001 - $15,000
TPRPartial sellSep 24, 2019Aug 26, 2021702d$15,001 - $50,000
TRHCBuyNov 13, 2019Aug 26, 2021652d$1,001 - $15,000
QSRBuyOct 4, 2019Aug 26, 2021692d$15,001 - $50,000
QSRBuyOct 30, 2019Aug 26, 2021666d$1,001 - $15,000
PROFBuyJan 27, 2020Aug 26, 2021577d$1,001 - $15,000
POSTPartial sellFeb 5, 2019Aug 26, 2021933d$1,001 - $15,000
POSTPartial sellNov 29, 2019Aug 26, 2021636d$15,001 - $50,000
PTONPartial sellOct 24, 2019Aug 26, 2021672d$1,001 - $15,000
PTONBuyNov 21, 2019Aug 26, 2021644d$15,001 - $50,000
PCRXBuyJan 25, 2021Aug 26, 2021213d$1,001 - $15,000
ONTOSellApr 30, 2020Aug 26, 2021483d$1,001 - $15,000
NEWRBuyDec 17, 2019Aug 26, 2021618d$1,001 - $15,000
MSTRPartial sellJul 11, 2019Aug 26, 2021777d$1,001 - $15,000
VIVOPartial sellSep 16, 2020Aug 26, 2021344d$1,001 - $15,000
MACBuyMay 31, 2019Aug 26, 2021818d$1,001 - $15,000
KPartial sellJul 8, 2019Aug 26, 2021780d$1,001 - $15,000
KPartial sellFeb 11, 2019Aug 26, 2021927d$15,001 - $50,000
SJMPartial sellAug 29, 2019Aug 26, 2021728d$1,001 - $15,000
INSTSellJan 6, 2020Aug 26, 2021598d$15,001 - $50,000
FIVNSellJan 24, 2020Aug 26, 2021580d$1,001 - $15,000
DASHPartial sellDec 22, 2020Aug 26, 2021247d$1,001 - $15,000
DOMOBuyMar 20, 2019Aug 26, 2021890d$15,001 - $50,000
DMTKBuyJan 11, 2021Aug 26, 2021227d$1,001 - $15,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 Tom Malinowski 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.