Rep. Kevin Brady (R-TX)
House · Republican (most recent term) · TX-8 · in Congress 1997–2023 · Bioguide ID B000755
Party history: R 1997–2023. Source: term data in unitedstates/congress-legislators (CC0); party shown is as recorded per term there.
Estimated net worth (from public disclosures)
| Estimate | Report year | Low | Mid | High |
|---|---|---|---|---|
| (a) Estimated net worth at the earliest available report (2013); the member entered office earlier, in 1997 | 2013 | $199,028 | $469,514 | $740,000 |
| (b) Latest net worth estimate | 2020 | $354,024 | $725,512 | $1,096,999 |
| (c) Estimated gain / loss, nominal dollars, 2013 → 2020 (7 years spanned) | 2013–2020 | −$385,976 | +$255,998 | +$897,971 |
Gain Low = latest Low − earliest High; Gain High = latest High − earliest Low (widest possible spread); Mid = latest Mid − earliest Mid.
Reliability flags (net worth): 2013: 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket. Included in the recommended dollar-gain ranking.
Net worth by report year (mid; Low–High)
| Report year | Assets (mid) | Liabilities (mid) | Net worth mid | Low … High | Status / flags |
|---|---|---|---|---|---|
| 2013 | $469,514 | $0 | $469,514 | $199,028 … $740,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2014 | $500,012 | $0 | $500,012 | $214,025 … $786,000 | computed |
| 2015 | $524,512 | $0 | $524,512 | $228,025 … $821,000 | computed |
| 2016 | $806,013 | $0 | $806,013 | $421,026 … $1,191,000 | computed |
| 2017 | $806,013 | $75,000 | $731,012 | $321,026 … $1,140,999 | computed |
| 2018 | $766,513 | $75,000 | $691,512 | $305,026 … $1,077,999 | computed |
| 2019 | $758,012 | $32,500 | $725,512 | $354,024 … $1,096,999 | computed |
| 2020 | $758,012 | $32,500 | $725,512 | $354,024 … $1,096,999 | computed |
- What this is: Net worth = Schedule A assets (each value range at its midpoint; low–high range shown) minus Schedule D liabilities (midpoints / ranges). Low = assets at range floors minus liabilities at range ceilings; Mid = midpoints; High = assets at ceilings minus liabilities at floors. Low and High are outer bounds of the reported ranges, not likely outcomes.
- What it excludes / understates: exact values (only ranges are reported); a personal residence is not reported as an asset (although a mortgage on it may be listed as a liability, which then lowers the estimate); retirement and federal accounts (e.g. Thrift Savings Plan, defined-benefit pensions) are only partly or not reported; assets of excepted/blind trusts, cash held below reporting thresholds, vehicles, household goods and most spouse/dependent items exempt from reporting are not included; liabilities on a personal residence, revolving credit under thresholds and loans to family may be omitted by filers.
- Open-ended top ranges (e.g. “Over $50,000,000”) are counted at their lower bound and flagged, so such values are understated.
- The change is a change in estimated net worth in nominal dollars (no inflation adjustment). It includes salary, gifts, inheritances, business income and re-valuation as well as investment results, and it is subject to range-bracket noise; it is not an investment return and implies nothing about conduct.
2018 -4%
Reliability flags: 1 year(s) driven by income/one position/range artefact; 1 unparsed value(s).
Sensitivity band for the average (all ranges at floor vs. all at ceiling, same holdings both years): +16.1% to +10.3%. This band is narrow because it moves both years together; the true uncertainty is larger — see the per-year “strict envelope” column and the limitations.
Estimated year-over-year change
Bars: midpoint estimate; whisker: same-position floor/ceiling band. Axis clipped to −100%…+150%. Years with insufficient traceable holdings are omitted.
| Year (t−1 → t) | Opening value (mid) | Closing value (mid) | Income (mid) | Buys (mid) | Sales (mid) | Est. gain | Same-position band | Strict envelope | Traced coverage | Status / flags |
|---|---|---|---|---|---|---|---|---|---|---|
| 2013→2014 | $180,006 | $212,006 | $3,354 | $0 | $0 | +19.6% | +19.0% … +22.2% | -109% … +148% | 61% | counted |
| 2014→2015 | $476,011 | $500,511 | $4,956 | $0 | $0 | +6.2% | +5.8% … +7.5% | -108% … +120% | 95% | counted |
| 2015→2016 | $484,012 | $757,512 | $4,356 | $0 | $0 | +57.4% | +47.9% … +91.3% | -72% … +187% | 92% | counted; single position drives the result (range jump) |
| 2016→2017 | $798,012 | $798,012 | $4,856 | $0 | $0 | +0.6% | +0.4% … +0.7% | -95% … +96% | 99% | counted |
| 2017→2018 | $806,013 | $766,513 | $4,956 | $0 | $0 | -4.3% | -4.6% … -3.4% | -97% … +89% | 100% | counted |
| 2018→2019 | $302,010 | $302,010 | $3,554 | $0 | $0 | +1.2% | +1.2% … +1.2% | -119% … +121% | 39% | excluded; not eligible: traced coverage 39% < 60% |
| 2019→2020 | $758,012 | $758,012 | $4,155 | $0 | $0 | +0.5% | +0.4% … +0.6% | -93% … +94% | 100% | counted |
Filings used
Each annual-report year uses one filing (most recently filed version among originals/amendments whose Schedule A row count is ≥ 40% of the largest). Electronic (text) PDFs are parsed. Scanned/image-only filings are OCR-read and used only if they pass the explicit validation gates described in the project README (value/income coverage, two-engine agreement, exact bracket snapping, page completeness, year-to-year position continuity); such years are labelled OCR-derived below. Scanned filings that fail validation are listed as “insufficient data – scanned”.
| Report year | Doc ID | Type | Filed | Schedule A rows | Rows with unparsed value | Source (official filing) / SHA-256 |
|---|---|---|---|---|---|---|
| 2013 | 10003374 | House annual | 6/11/2014 | 28 | 1 | 10003374.pdfa3be977e5f24f9c69776465905d4f46603e0936564479492b72856b0bfb5791d |
| 2014 | 10008720 | House annual | 10/10/2015 | 25 | 0 | 10008720.pdf965f2c86f21c56bed5299fd0eb965a7f8adda3c1733f92e70ad3d40a3d3817e8 |
| 2015 | 10012437 | House annual | 8/14/2016 | 25 | 0 | 10012437.pdf93321df06963a74769dcddb2167de1ebc22f96d704e0ed1e6d1c3085575f60d1 |
| 2016 | 10018627 | House annual | 8/14/2017 | 26 | 0 | 10018627.pdf5a0d5693719a1bf3a76b3b5dca76d9ed132b55a6bf6bac3e4c2f54a53a3bb40d |
| 2017 | 10024670 | House annual | 9/11/2018 | 26 | 0 | 10024670.pdf7220c2c6b97b917da5c6d036745064f7be18f3a10fab9fdb481019795b47a9dc |
| 2018 | 10028508 | House annual | 6/13/2019 | 26 | 0 | 10028508.pdfed2977d59e003fdc1f4df5ef573323cabaec29ab5fe3b1a193fa62dd88fafa17 |
| 2019 | 10039061 | House annual | 9/12/2020 | 24 | 0 | 10039061.pdf3ee3c6d2fac14bed04344333dbf29d5fe8364176df2dd021864a79b9a035352f |
| 2020 | 10043342 | House annual | 8/13/2021 | 24 | 0 | 10043342.pdf28be8cac510ac445c78a0b0fde1acbe4b5fb9653c9ec62cbbdc1641c88aeda63 |
Largest movers 2016→2017
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Blackrock 529 College Advantage Plan OH [MF] | DC | held | $1,001 - $15,000; $1,001 - $15,000 | $1,001 - $15,000; $1,001 - $15,000 | $0 | $0 |
| DREY VIP APP Port [FN] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| Fidelity VIP APP Port [FN] | — | held | $15,001 - $50,000 | $15,001 - $50,000 | $0 | $0 |
| NW AmCent NW InvitMultCap [FN] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| NeuberAMT SHRT DUR BD [FN] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| Wells Fargo Checking Account [BA] | JT | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| Pacific Life VUL [WU] | — | held | $15,001 - $50,000 | $15,001 - $50,000 | $0 | $0 |
| JP Morgan Chase IRA - Growth Income Tier I [MF] | JT | held | $250,001 - $500,000 | $250,001 - $500,000 | $0 | $0 |
Largest movers 2017→2018
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Putnam Small Cap Value Fund A [MF] | JT | held | $15,001 - $50,000 | $1,001 - $15,000 | $0 | $0 |
| Wells Fargo Checking Account [BA] | JT | held | $1,001 - $15,000 | $1 - $1,000 | $0 | $0 |
| Putnam MM Fund A [MF] | JT | held | $1,001 - $15,000 | $1 - $1,000 | $0 | $0 |
| Blackrock 529 College Advantage Plan OH [MF] | DC | held | $1,001 - $15,000; $1,001 - $15,000 | $1,001 - $15,000; $1,001 - $15,000 | $0 | $0 |
| DREY VIP APP Port [FN] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| Fidelity VIP APP Port [FN] | — | held | $15,001 - $50,000 | $15,001 - $50,000 | $0 | $0 |
| NW AmCent NW InvitMultCap [FN] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| NeuberAMT SHRT DUR BD [FN] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
Largest movers 2019→2020
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Blackrock 529 College Advantage Plan OH [MF] | DC | held | $1,001 - $15,000; $1,001 - $15,000 | $1,001 - $15,000; $1,001 - $15,000 | $0 | $0 |
| DREY VIP APP Port/BYNMEL VIF APP Initial [FN] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| NW AmCent NW InvitMultCap [FN] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| Oppenheimer Global SECS/INVSCO OPP VI Global [FN] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| NeuberAMT SHRT DUR BD [FN] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| Wells Fargo Checking Account [BA] | JT | held | $1 - $1,000 | $1 - $1,000 | $0 | $0 |
| Pacific Life VUL [WU] | — | held | $15,001 - $50,000 | $15,001 - $50,000 | $0 | $0 |
| JP Morgan Chase Super Savings Account [BA] | JT | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
Method (summary)
- Schedule A asset rows are read from each annual report; the dollar range for each row is converted to its midpoint. Open-ended top ranges (“Over $50,000,000”) are excluded from the traced set and counted as a coverage loss.
- Positions are matched year to year by owner code (self/SP/DC/JT) + normalised asset name. A position that appears only in year t is included only if Schedule B shows a purchase of it in year t (opening value 0); a position that disappears is included only if Schedule B shows a sale (closing value 0). Otherwise it is excluded as unexplained.
- Estimated gain = (closing − opening + reported income − purchases + sale proceeds) ÷ opening, all at midpoints, for the traced positions. “Capital gains” income is not added again (it is already in value change and sale proceeds).
- A year counts only if traced opening value ≥ $50,000 and traced coverage ≥ 60% of the opening midpoint. A member is ranked only with ≥ 3 such years (exactly 2 = “limited data”, shown but unranked). Average = geometric mean of (1+yearly estimate).
Limitations
- Ranges are wide (up to a factor of 5 or more, and up to $50M+ open-ended); a holding can move between ranges without any real change in value, and stay in a range while moving materially. Yearly estimates are therefore noisy; the “strict envelope” shows the mathematical worst/best case and is typically wider than ±100%.
- Purchases and sales are only disclosed as ranges and only for transactions over $1,000; partial sales, dividend reinvestment, spousal/dependent accounts and retirement-plan funds are reported inconsistently. Excepted/blind trusts, personal residences and certain pensions are not reported at all.
- Filers sometimes change how they list assets (e.g. listing a brokerage account vs. its individual holdings), which can make positions untraceable across years; these are excluded rather than guessed.
- Asset values in an annual report are as of Dec 31 of the reporting year; the report year t−1→t covers that calendar year. Late or amended filings are used when filed; extensions can delay them.
- The text of these reports is machine-parsed from PDFs; parse errors are possible. Every number links back to the cited filing. This is not investment advice.
- Use of these filings is restricted by 5 U.S.C. § 105(c) (no unlawful, commercial or credit-rating purpose, and none for solicitation of money).
Generated 2026-10-01 by an automated pipeline. Data: Office of the Clerk, U.S. House of Representatives (disclosures-clerk.house.gov); member roster: unitedstates/congress-legislators (CC0).