How to read a Periodic Transaction Report (PTR)

A field-by-field walkthrough of the disclosure form members of Congress use to report stock trades — including the amount ranges, the asset codes, and the five traps that produce wrong conclusions.

· 10 min read · By Insider Option

If you want to work with Congressional trading data rather than read someone else's summary of it, you need to be able to read the source document. That document is the Periodic Transaction Report, and it is a deceptively simple form that produces a remarkable number of wrong conclusions.

This is a field-by-field guide, followed by the traps.

Where PTRs live

Both are free. The Senate's electronic filings are far easier to work with; the House's scanned PDFs are the reason automated Congressional trade data has an irreducible error rate.

The header

The transaction table

Each row is one transaction.

Owner

Who holds the account: SP for spouse, DC for dependent child, JT for joint, and blank or self for the member. This field is essential and routinely ignored. A large fraction of the most discussed Congressional trading is spousal — the filing is under the member's name because the law requires it, not because the member placed the order.

Asset

Free text naming the security, ideally with a ticker in brackets. In practice you will encounter the same issuer written many different ways across filings, plus options described in prose, plus assets that are not securities at all. There is no controlled vocabulary. This is where automated pipelines lose accuracy.

Common asset type codes include ST for stock, OP for options, CS for corporate securities, MF for mutual funds, GS for government securities, and PS for partnership interests. If you are studying stock trading specifically, you wantST and OP.

Transaction type

Purchase (P), Sale (S), Exchange (E). Sales are sometimes further marked as partial. Note that unlike SEC Form 4, there is no code distinguishing a discretionary trade from a mechanical one — the form simply does not capture that.

Date

The transaction date. Compare it to the filing date to compute the actual reporting lag, which is often the most interesting derived field on the whole form. Members who consistently file at day 44 are behaving differently from those who file at day 5.

Amount

A range, never a number. The bands are:

Note how the bands widen. The top brackets are so wide as to be nearly uninformative, and the higher brackets are generally only available for the member's own accounts — spousal and dependent-child amounts are capped at a lower top band on some forms, which distorts aggregate dollar comparisons between members and their spouses.

Filing status and comments

A free-text field. Read it. This is where you find explanations of late filings, notes that a trade was made by a third-party manager without the member's knowledge, and clarifications of ambiguous asset names.

That "managed account" note is genuinely important: if a member's trades are executed by an adviser with full discretion, the trade carries no informational content about what the member knew. Any serious analysis should exclude them, and most public datasets do not.

The five traps

1. Treating the filing date as the transaction date

Produces a systematic bias of up to 45 days in any performance calculation. Always use the transaction date for "what did they get", and the filing date for "what could I have acted on" — they answer different questions and mixing them is how impossible-looking track records get published.

2. Double-counting amendments

An amended PTR frequently restates the original rather than adding to it. Naive aggregation counts the trade twice. Key on the filing ID and reconcile amendments explicitly.

3. Summing range midpoints and reporting the result as a fact

Everyone does this because there is no alternative, but the output is an estimate with enormous error bars, especially once top-bracket trades are involved. "Member X traded $12.4m" derived from midpoints is not a measurement. Report ranges, or at minimum say what you did.

4. Ignoring the owner field

Attributing a spouse's professional trading to a member's legislative knowledge is a category error, and it drives a lot of misleading coverage.

5. Assuming absence means inactivity

No PTR can mean no trades — or a late filing, a failed OCR parse in whatever dataset you are using, or trades entirely in exempt assets. Mutual funds, ETFs, and Treasuries are not reportable in the same way, so a member could be highly active in markets with a nearly empty PTR history.

What the PTR cannot tell you, ever

Understanding these limits is what separates using this data well from overreading it. If you want the parsed, ticker-resolved version of all of this, our Congress tracker does the work — and how to track Congress stock trades compares every available approach, including building it yourself.

This post is for informational purposes only and is not legal or investment advice. See our disclaimer.

Frequently asked questions

What is a Periodic Transaction Report?
A Periodic Transaction Report, or PTR, is the form members of the US Congress file to disclose securities transactions over $1,000. It is required by the STOCK Act within 45 days of the transaction and is published publicly by the House Clerk and the Senate Office of Public Records.
Why do PTRs show dollar ranges instead of exact amounts?
Because the STOCK Act only requires disclosure within bands, such as $15,001 to $50,000. Congress wrote the reporting requirement that way, so the exact size of any trade is not public information.
Does a PTR filed under a member's name mean the member made the trade?
Not necessarily. Trades by a member's spouse or dependent children are filed under the member's name. The owner field on the form indicates whether the transaction was the filer's, their spouse's, or a joint or dependent-child account.
What is the penalty for filing a PTR late?
A $200 late-filing fee, which the relevant ethics committee can waive. Late filings are common and the penalty is widely regarded as too small to deter them.

Keep reading