Kevin Meneses
Back to articles

I Gave Claude 5,000 Stocks and Congress’s Trading Data. One Ticker Beat Them All.

Originally published on medium.com

StocksClaude CodeAlgorithmic TradingTradingFinance
I Gave Claude 5,000 Stocks and Congress’s Trading Data. One Ticker Beat Them All.

Every few months, someone builds a new “Pelosi stocks” tracker. Same format every time: scrape the STOCK Act disclosures, sort by dollar amount, publish a list. Congress bought AAPL again. Shocking.

That’s not a signal. That’s noise wearing a suit.

I wanted to know if there was an actual edge hiding under the noise. So I connected Claude to EODHD’s MCP server and ran a real screen: thousands of stocks, congressional trading data, and a momentum filter on top. Not a hypothetical. Real tickers, real prices, real dates.

Four of the five names it surfaced were forgettable. One of them wasn’t.

If you’re:

  • building AI-powered research tools,
  • tired of “insider buying” content that never checks if the trade actually worked,
  • or just curious what happens when you point an LLM at raw market data instead of a headline,

keep reading.

The problem with “Congress trading” content

Most congressional trading trackers have one job: tell you what got bought. None of them ask the harder question, which is whether the purchase happened to line up with the stock actually moving.

I ran the numbers on one case that makes this obvious. A member of Congress (through a family trading account) bought both LTH (Life Time Group Holdings) and CHRW (C.H. Robinson) in the same window, late July 2026.

LTH went from $31.34 to $44.72. Up 42.7%.

CHRW went from $191.27 to $143.83. Down 24.7%.

Same disclosure filing. Same political “signal.” Opposite outcomes.

That’s the trap. A politician buying a stock tells you someone with a family office and probably a financial advisor made a trade. It tells you nothing about direction, timing, or whether the position is already three weeks stale by the time you read about it on a tracker site.

Congress buying isn’t the signal. Congress buying plus momentum is.

Congressional disclosures are a filter, not a strategy. On their own they’re just a list of names, half of them mega-caps that everyone already owns.

The real question is narrower: which of these purchases happened while the stock was already moving, not after the fact.

That reframe changes the whole screen. Instead of asking “what did Congress buy,” you ask “what did Congress buy that the market had already started pricing in.” One is gossip. The other is a filterable, backtestable condition.

Building the screen with EODHD’s MCP server

EODHD’s MCP server exposes congressional trading data, historical prices, and technical indicators as tools an LLM can call directly. That means Claude can pull a disclosure, check the price history around it, and calculate support/resistance levels in the same conversation, without me writing custom scraping or glue code.

Here’s the shape of the screen, in plain Python using EODHD’s REST endpoints (the same data the MCP tools pull from):

import requests
API_TOKEN = "YOUR_API_KEY"
BASE = "https://eodhd.com/api"
# Step 1: pull recent congressional purchases
trades = requests.get(
    f"{BASE}/congressional-trading",
    params={
        "api_token": API_TOKEN,
        "disclosure_date_from": "2026-07-01",
        "transaction_type": "purchase",
        "limit": 50,
    },
).json()
# Step 2: for each ticker, pull the price window around the purchase
def price_change(ticker, start, end):
    prices = requests.get(
        f"{BASE}/eod/{ticker}",
        params={"api_token": API_TOKEN, "from": start, "to": end, "fmt": "json"},
    ).json()
    return (prices[-1]["close"] - prices[0]["close"]) / prices[0]["close"]
# Step 3: keep only positive, meaningful momentum
candidates = []
for trade in trades:
    change = price_change(trade["ticker"], "2026-06-01", "2026-08-20")
    if change > 0.05:
        candidates.append((trade["ticker"], change))

That’s the whole filter, mechanically. The part that actually matters is step 3: throwing out every purchase that isn’t backed by real price movement. Most of them get thrown out.

The buy-point layer

Finding momentum isn’t enough to act on. You still need an entry, a stop, and a target. For that I used classic pivot points from EODHD’s support/resistance endpoint, recalculated on the last trading day:

levels = requests.get(
    f"{BASE}/technical/{ticker}",
    params={"api_token": API_TOKEN, "function": "pivot", "method": "classic"},
).json()
entry_zone = levels["support_1"]
stop = levels["support_2"]
target = levels["resistance_2"]

This is the piece most “Congress trading” content skips entirely. A pivot-based entry gives you a mechanical rule: buy near support 1, stop below support 2, target resistance 2 within a four-week window. It’s not a guarantee. It’s a repeatable process instead of a vibe.

Building your own screener? EODHD’s MCP server gives Claude direct, structured access to congressional trades, price history, and technical indicators, no scraping required. Start with EODHD’s API here

The golden rules for finding the real gem

Five candidates passed the basic filter. Only one, LTH, actually deserved the “golden gem” label. Here’s what separated it from the other four, as a checklist you can reuse:

1. Count the filings, not the dollars. A single $50K purchase means nothing. LTH had six separate purchase filings from the same account in nine days. That’s not a hunch, it’s a pattern of accumulation. If you only see one filing, keep scrolling.

2. Measure the move in the same window as the buying, not after. Don’t check “did the stock go up eventually.” Check whether it moved while the insider was actively buying. LTH ran 42.7% during the exact stretch of its six purchases. That overlap is the tell.

3. Check RSI before you get excited. A 14-day RSI above 70 means you’re chasing a stock that already ran too far. LTH sat at 57.6, room to keep climbing without being stretched. Anything already deep in overbought territory should get downgraded, even if the price chart looks exciting.

4. Look for a clean pivot level, not a choppy one. ENTG had a real insider purchase and real short-term movement, and it still failed this test: no stable support level, a spike followed by a fast reversal. If the support/resistance levels from the last few sessions are jumping around wildly, there’s no reliable entry to build a rule around.

5. Run a negative control before you trust the pattern. Before believing LTH was the real thing, I checked CHRW, bought by the same account in the same week. It dropped 24.7%. Same insider, same disclosure type, opposite result. If your golden gem can’t survive being compared against a same-source purchase that failed, the pattern isn’t as strong as it looks.

Run those five checks against any congressional purchase and most of them get eliminated before you ever open a trading platform. That’s the point. The screen isn’t meant to produce seven names every time. Some weeks it should produce zero.

What the screen actually found

Out of dozens of congressional purchases checked against price history, five passed the momentum filter. Here’s all five, because the misses are as instructive as the hit.

LTH, Life Time Group Holdings. The daughter of Rep. April McClain Delaney bought this stock six separate times between July 22 and July 31. Not one disclosure. Six. That’s a cluster, not an event. In the same window, LTH ran from $31.34 to $44.72, a 42.7% move, with a 14-day RSI of 57.6 (healthy, not overbought). Pivot support sits at $44.48, resistance at $44.92-$45.13. This is the one that actually earns the “hidden gem” label: a real accumulation pattern lined up with a real breakout.

PYPL, PayPal. Bought by Sen. John Boozman’s household account on July 30. PayPal moved from $44.07 to $62.30 in the same window, up 41.4%. The surprising part isn’t the trade, it’s that a name this large moved this much without most people noticing.

GOOG, Alphabet. Rep. Josh Gottheimer bought both share classes (GOOGN and GOOGM) within the same week in late July. Up 6% since, which is modest compared to LTH but confirms the pattern: a double purchase in one week is a stronger tell than a single buy.

FWONK, Liberty Media. Same Delaney family account, three purchases between July 22 and July 29. Up 5.9%. A smaller cluster, smaller move, same shape as LTH but earlier in the cycle.

ENTG, Entegris. Also bought by the Delaney account, single purchase on July 30. This one is the cautionary tale: it spiked to $163 by mid-August, then dropped back to $144 within days. High volatility, no clean support level to anchor an entry. Congress bought it. The chart says be careful anyway.

Five candidates. One golden gem, three reasonable follow-ups, one warning sign. That ratio is closer to reality than any list claiming “7 hidden gems” from a single afternoon of screening.

Worth saying plainly: this is a methodology demonstration, not investment advice. Pivot levels and momentum filters are tools for building a repeatable process, not a promise about what LTH or any of these tickers do next.

Three takeaways

  • Congressional buying alone is not a signal. It’s a filter that removes almost nothing on its own.
  • Layering momentum on top turns a list of names into a testable condition: buy where the disclosure and the price agree.
  • Most candidates still fail. Five out of dozens checked passed the filter, and one of those five (ENTG) turned into a warning rather than an opportunity.

Want to build this exact screen? EODHD’s free tier includes congressional trading data, historical prices, and technical indicators, everything used in this article. Get started with EODHD here

More at kevinmeneses.com.

Looking for technical content for your company? I can help — LinkedIn · kevinmenesesgonzalez@gmail.com