TL;DR
U.S. members of Congress are required to disclose their stock trades within 45 days under the STOCK Act. This creates a publicly available dataset of trades made by people with access to non-public legislative information. While the data has a built-in delay, it can still generate actionable signals when combined with other sources.
What Is the STOCK Act?
The Stop Trading on Congressional Knowledge Act -- known as the STOCK Act -- was signed into law in April 2012. It requires members of Congress, their spouses, and dependent children, along with certain senior congressional staff, to publicly disclose securities transactions within 45 days of the trade date. The law also explicitly prohibits members from using non-public information gained through their official positions for personal financial gain.
The motivation was straightforward. For years, academic research and investigative journalism had raised concerns that members of Congress were trading on information they received in closed-door briefings, committee hearings, and legislative negotiations -- information unavailable to the general public. A 2004 study by Ziobrowski, Cheng, Boyd, and Ziobrowski found that U.S. senators' stock portfolios outperformed the market by a significant margin, consistent with an informational advantage.
Before the STOCK Act, members were already subject to insider trading laws in theory, but enforcement was murky. The act made the rules explicit: congressional trading on material non-public information is illegal, and every trade must be disclosed on a public filing within 45 days.
What it covers: purchases and sales of stocks, bonds, commodities futures, and other securities exceeding $1,000 in value. What it does not cover: transactions in diversified mutual funds, U.S. Treasury securities, and certain government bonds. These exemptions exist because diversified funds do not give a member the ability to trade on specific legislative knowledge about individual companies.
The law was passed with bipartisan support and nearly unanimous votes in both chambers. In 2013, however, Congress quietly amended the act to remove the requirement that senior staff post their disclosures online in a searchable database. The filings are still required, but accessing them became harder. For members of Congress themselves, the online disclosure requirement remains in place.
Where to Find the Data
Congressional trade disclosures are public records, but accessing them in a usable format takes some effort. There are two official sources and several third-party aggregators.
Senate disclosures are filed through the Electronic Financial Disclosures (EFD) system at efdsearch.senate.gov. You can search by senator name, filing date, or transaction date. The filings are available as PDFs and sometimes as scanned images of handwritten forms. Searching is functional but limited -- there is no bulk download option or public API.
House disclosures are filed through the Clerk of the House at disclosures.house.gov. The search interface is similar to the Senate's: you can filter by member name, state, filing year, and report type. Like the Senate system, the filings are typically PDFs. Some are typed, some are scanned handwritten documents, and the formatting varies considerably from member to member.
For anyone trying to build a systematic dataset, parsing these PDFs at scale is painful. The filings lack a consistent machine-readable format. Field labels change across years, some filings have missing tickers, and handwritten entries require optical character recognition that frequently fails.
Third-party aggregators have done the work of parsing these filings into structured data. The most widely used include:
- Capitol Trades (capitoltrades.com) -- provides a searchable database of congressional trades with ticker symbols, transaction types, amounts, and filing dates. Free tier available with some limitations.
- Quiver Quantitative (quiverquant.com) -- aggregates congressional trading data alongside other alternative datasets. Offers an API for programmatic access.
- OpenSecrets (opensecrets.org) -- maintained by the Center for Responsive Politics. Provides financial disclosure data alongside campaign finance records. More focused on transparency than trading applications.
These aggregators typically provide the data in CSV or JSON format via APIs, which is far more practical for algorithmic use than parsing raw PDFs. slmaj pulls from aggregated sources automatically as part of its data pipeline, so you do not need to configure this manually.
What the Disclosures Contain
Each filing includes a set of required fields, though the level of detail varies.
Member name. The name of the member of Congress (or spouse/dependent) who made the trade. Spouse and dependent transactions are disclosed on the member's filing.
Transaction date. The date the trade was executed. This is the actual date the buy or sell order was filled, not the date the filing was submitted.
Asset description. A text description of the security. For stocks, this typically includes the company name and ticker symbol (e.g., "Apple Inc. (AAPL)"). For options, bonds, and other instruments, the description is often less standardized and may lack a ticker entirely.
Transaction type. Whether the trade was a purchase (P), sale (full) (S), sale (partial) (S-P), or exchange (E). Some filings also include "receipt" for inherited or gifted securities.
Amount range. This is the most significant limitation of the data. Exact dollar amounts are not disclosed. Instead, the filer selects a range: $1,001-$15,000, $15,001-$50,000, $50,001-$100,000, $100,001-$250,000, $250,001-$500,000, $500,001-$1,000,000, $1,000,001-$5,000,000, or $5,000,001-$25,000,000. For a trade reported as "$15,001-$50,000," the actual amount could be anywhere in that range -- a difference of more than 3x.
Filing date. The date the disclosure was submitted to the House Clerk or Senate EFD system. The gap between transaction date and filing date is the disclosure delay.
There are notable gaps. Options trades sometimes lack strike prices and expiration dates. Bond trades may omit CUSIP numbers. Transactions in private placements and limited partnerships are described in free-text fields that are difficult to parse programmatically. And because the amount is a range rather than an exact figure, you cannot calculate precise position sizes or portfolio weights from the disclosures alone.
The 45-Day Delay Problem
The STOCK Act requires disclosure within 45 days. That is the legal deadline, and many members file close to it. A trade executed on January 1 might not appear in the public record until February 15 -- or later, if the member files late and pays a nominal fine.
For algorithmic trading, this delay is the single biggest limitation of the dataset. In fast-moving markets, a 45-day-old trade is often stale information. If a senator bought NVDA shares in early January based on information about an upcoming government contract, the stock may have already moved significantly by the time the trade becomes public in mid-February.
However, the delay is not always fatal. Several factors work in favor of the data despite the lag.
Many members file faster than required. Analysis of filing patterns shows that a meaningful percentage of disclosures arrive within 15-30 days of the trade date, not the full 45. Some members file within a week. Monitoring filings in real time -- rather than waiting for periodic batch downloads -- can capture these early filers and reduce the effective delay.
Patterns of repeated buying are more informative than single trades. If three different members of the Senate Armed Services Committee all purchase shares of the same defense contractor within a two-week window, that cluster of activity may still be meaningful even if each individual filing arrives 30 days later. The signal is in the pattern, not the individual data point.
Some sectors move slowly. A 45-day delay is devastating for momentum trades in volatile tech stocks. But for positions in utilities, industrials, or infrastructure companies tied to multi-year legislative cycles, six weeks of delay is less problematic. The legislative process itself moves slowly, and the informational advantage members hold often relates to policy developments that play out over months, not days.
Late filers create their own signal. Members who consistently file at the last minute -- or who file late and pay the $200 penalty -- are potentially more interesting than prompt filers. Late filing could indicate a desire to minimize the time the market has to react before the member's position is fully established. Whether this is intentional or simply a result of administrative negligence is debatable, but the pattern is observable in the data.
Do Congressional Trades Actually Outperform?
The academic evidence is mixed and has evolved over time.
The most cited research comes from Ziobrowski and colleagues. Their 2004 paper, "Abnormal Returns from the Common Stock Investments of the United States Senate," analyzed Senate trading from 1993 to 1998 and found that senators' stock portfolios beat the market by approximately 12% per year. A follow-up study in 2011 examined House members and found outperformance of roughly 6% annually, smaller than the Senate but still statistically significant.
These findings were a significant factor in the passage of the STOCK Act. The argument was simple: if senators are consistently beating the market by double digits, they are likely trading on non-public information.
Post-STOCK Act, the picture is less clear. Several analyses suggest that the informational edge has narrowed since the disclosure requirements took effect. One interpretation is that increased scrutiny has deterred the most egregious insider trading. Another is that the edge still exists but is harder to measure because disclosure itself causes price movements that partially close the gap before researchers can study it.
More recent data tells a nuanced story. Individual members who sit on powerful committees -- Finance, Armed Services, Intelligence, Energy and Commerce -- still appear to make trades that outperform the broader market. Rank-and-file members without committee leadership roles show less evidence of outperformance. This is consistent with the theory that the edge comes from access to specific non-public information, which varies by committee assignment and seniority.
It is important to be honest about what the data does and does not show. Congressional trading data is not a guaranteed source of alpha. It is a noisy signal with a significant delay, and any historical outperformance may not persist into the future. The most defensible use of this data is as one input among many, not as a standalone trading strategy.
How Trading Bots Use This Data
There are three common approaches to incorporating congressional trading data into algorithmic strategies, each with different tradeoffs.
1. Copycat signals. The simplest approach: when a member of Congress discloses a stock purchase, buy the same stock. When they disclose a sale, sell or short. This is easy to implement and easy to understand. The problem is that the 45-day delay means you are often buying well after the move has occurred. Copycat strategies tend to underperform in backtests once realistic entry timing is accounted for, particularly in volatile sectors where prices move quickly.
2. Sentiment aggregation. Rather than copying individual trades, aggregate net buying and selling activity across all members of Congress as a sector-level or market-level indicator. If 15 members are buying healthcare stocks and only 2 are selling over a 60-day window, that net bullish positioning may indicate legislative tailwinds for the sector. This approach is more robust to the delay problem because it uses the data as a directional indicator rather than a timing signal. It works best for sector rotation and medium-term allocation decisions.
3. Confirmation signal in an ensemble. Use congressional trading data as one feature among many in a machine learning model. The model does not rely on congressional data alone -- it combines it with technical indicators, fundamental data, macroeconomic signals, sentiment analysis, and other alternative data sources. Congressional trades become a confirming or contradicting factor that adjusts the model's confidence in a trade. This is the approach slmaj uses. You can see the full list of data inputs on the data sources page and learn more about the signal pipeline on the how it works page.
The ensemble approach handles the delay problem most gracefully. If congressional buying activity confirms a signal that already exists from other, more timely sources, the 45-day-old data still adds value by increasing the model's conviction. If congressional data contradicts every other signal, it may indicate that the other signals are missing something -- or that the congressional data is simply stale. The model learns these patterns from historical data and weighs each input accordingly.
Ethical Considerations
Using publicly available congressional trading data for your own investment decisions is entirely legal. The data is public specifically because the STOCK Act intended it to be used by citizens to hold their representatives accountable. There is no legal restriction on using it for trading purposes.
The more contentious ethical question is whether members of Congress should be trading individual stocks at all. Critics argue that the combination of access to non-public information and the power to influence legislation creates an inherent conflict of interest that disclosure alone cannot solve. A member who holds shares in a defense contractor and then votes on a defense spending bill has a financial interest in the outcome, regardless of whether they disclose the position.
Several bills have been introduced to address this. The TRUST Act and the Ban Congressional Stock Trading Act would prohibit members from trading individual stocks during their time in office, requiring them to divest into blind trusts or broad-market index funds. As of early 2026, none of these proposals have been enacted, though they continue to receive bipartisan support in polling. Both parties have introduced versions, and the issue remains politically active.
From a practical standpoint, the current system is a compromise: members can trade, but they must disclose, and the public can use that disclosure data however they see fit. The transparency mechanism is imperfect -- the 45-day delay, the amount ranges instead of exact figures, and the PDF filing format all reduce the data's utility -- but it exists and it is available.
Limitations and Caveats
Congressional trading data is a useful signal, but it has real limitations that you should understand before giving it weight in any strategy.
- 45-day disclosure delay. The legal deadline is 45 days, and many members file close to it. By the time a trade is public, the market may have already moved. This delay is the most significant limitation of the dataset.
- Amount ranges, not exact figures. You know that a member bought "between $50,001 and $100,000" of a stock, but not whether it was $51,000 or $99,000. This makes it impossible to calculate precise position sizes or portfolio weights.
- Not all trades are disclosed. Diversified mutual funds, U.S. Treasury securities, and certain government bonds are exempt. Trades below the $1,000 threshold are also exempt. Some members have been found to file late or miss filings entirely, though this has decreased since enforcement was tightened.
- Small sample size. There are 535 voting members of Congress (435 House, 100 Senate). Not all of them trade actively. In any given quarter, you might have a few hundred disclosed trades across all members -- a small dataset from which to draw statistically robust conclusions.
- Past patterns may not persist. The outperformance documented in academic studies was measured during a period when disclosure requirements were weaker and enforcement was lighter. The STOCK Act may have reduced the informational edge, and increased public attention may further deter the most advantageous trades.
- This is one signal among many. Congressional trading data should not be used as a standalone strategy. It is most effective as a confirming input within a broader model that includes technical, fundamental, and macroeconomic data.
Frequently Asked Questions
Yes. Congressional financial disclosures are public records made available under the STOCK Act. There is no legal restriction on using this publicly available information to inform your own investment decisions. The data was made public specifically for transparency purposes.
The academic evidence suggests an edge existed historically, with studies showing Senate portfolios outperforming by approximately 12% annually before the STOCK Act. Post-2012, the edge appears to have narrowed. As a standalone signal, the data is noisy and delayed. It is most effective when combined with other data sources in an ensemble model.
Disclosures are filed on a rolling basis as members make trades. There is no fixed publication schedule. New filings appear on the Senate EFD system and the House Clerk website as they are submitted. Third-party aggregators like Capitol Trades and Quiver Quantitative typically process new filings within 24 hours of their appearance on the official sites.
Yes. slmaj ingests congressional trading data from aggregated sources as part of its standard data pipeline. The data is used as one input among 25 sources in the ML ensemble. You do not need to configure or maintain this data feed manually. See the data sources documentation for the full list of inputs.