Official portrait of Rep. Mac Thornberry (R-TX)
Official portrait: unitedstates/images (public domain; source GPO Member Guide)

Rep. Mac Thornberry (R-TX)

House · Republican (most recent term) · TX-13 · in Congress 1995–2021 · Bioguide ID T000238

Party history: R 1995–2021. Source: term data in unitedstates/congress-legislators (CC0); party shown is as recorded per term there.

Estimated net worth (from public disclosures)

EstimateReport yearLowMidHigh
(a) Estimated net worth at the earliest available report (2013); the member entered office earlier, in 19952013−$687,993−$228,997$229,999
(b) Latest net worth estimate2019−$395,994$207,002$809,998
(c) Estimated gain / loss, nominal dollars, 2013 → 2019 (6 years spanned)2013–2019−$625,993+$435,999+$1,497,991

Gain Low = latest Low − earliest High; Gain High = latest High − earliest Low (widest possible spread); Mid = latest Mid − earliest Mid.

Reliability flags (net worth): none for these two endpoints. Included in the recommended dollar-gain ranking.

Net worth by report year (mid; Low–High)
Report yearAssets (mid)Liabilities (mid)Net worth midLow … HighStatus / flags
2013$521,004$750,000−$228,997−$687,993 … $229,999computed
2014$471,505$375,000$96,504−$226,990 … $419,999computed
2015$1,014,006$750,001$264,004−$377,989 … $905,998computed
2016$998,002$750,001$248,002−$368,995 … $864,998computed
2017$997,504$750,001$247,503−$379,992 … $874,998computed
2018$957,003$750,001$207,002−$395,994 … $809,998computed
2019$957,003$750,001$207,002−$395,994 … $809,998computed
Read this first. Members report asset values only as ranges (e.g. “$15,001 – $50,000”), never exact dollars. Every figure below is an estimate computed from range midpoints, not a measured return. Figures cannot be interpreted as investment performance, and they do not show wrongdoing or skill. Methodology and limitations are at the end and in the project README. Sources: public financial disclosure reports filed with the Clerk of the U.S. House of Representatives and/or the Secretary of the Senate (Senate eFD), linked below.
Avg. annual change (geometric, est.)+13.3%
Simple average of years+16.7%
Years estimated5
Best / worst single year2015 +79%
2018 -3%

Reliability flags: 2/5 years trading-dominated; 1 year(s) driven by income/one position/range artefact.

Sensitivity band for the average (all ranges at floor vs. all at ceiling, same holdings both years): +14.8% to +12.6%. 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

-10%0%79%20142015201620182019

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. gainSame-position bandStrict envelopeTraced coverageStatus / flags
2013→2014$488,503$471,505$43,406$56,004$65,001 +7.2%+6.4% … +7.6%-95% … +109%94%counted; many new/exited positions
2014→2015$463,504$831,004$502$8,000$8,000 +79.4%+74.4% … +91.5%-32% … +191%98%counted; single position drives the result (range jump)
2015→2016$981,503$998,002$1,902$32,500$16,001 +0.2%+0.1% … +0.2%-78% … +78%97%counted; many new/exited positions
2016→2017$248,002$231,502$902$24,002$48,502 +3.6%+0.9% … +4.5%-111% … +118%25%excluded; not eligible: traced coverage 25% < 60%; many new/exited positions
2017→2018$989,504$957,003$100$0$0 -3.3%-3.7% … -2.4%-76% … +70%99%counted
2018→2019$957,003$957,003$100$0$0 +0.0%+0.0% … +0.0%-74% … +74%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 yearDoc IDTypeFiledSchedule A rowsRows with unparsed valueSource (official filing) / SHA-256
201310001574House annual5/9/20147010001574.pdf
98e234cfbeacdb61852c3452c093a84ce611a98ee12c261628a6e80ebcaa369e
201410005536House annual5/14/201514010005536.pdf
e58ab0bea6422cc10cf4ed2019d590335c66d1b4f9770d0b8d36d867b90dfeb1
201510010344House annual7/13/201611010010344.pdf
e0724ab9f1d1faa9a3aafba3451ea863c34088264a81d82b12008e158ce55948
201610016340House annual5/15/20175010016340.pdf
c1839e8702312f0860b46bb4b659eb5547610255afa323df0a03c05b4d7d871a
201710022857House annual6/14/201810010022857.pdf
fa11ab3c68e26ce180ebf31311671ad8e66e861ad348603e6dcc99af2b35db2a
201810028127House annual6/13/201910010028127.pdf
0656e95a5f213ec97ffc1dbf9e6956174502b16ae05b4c9785ca59dd9fd01eda
201910037453House annual8/13/20206010037453.pdf
ef985eeb3fca58bd4beec468112deeba3b77cd2dbbd948f4dfa66bc80179c51e

Largest movers 2015→2016

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
TD Ameritrade ⇒ TACTICAL PLUS CLSD-END 2/17/17SPheld$1,001 - $15,000$1,001 - $15,000$0$0
TD Ameritrade ⇒ 1290 BUSINESS DEV COM OPPTYSSPexited$1,001 - $15,000—$0$8,000
Congressional Federal Credit Union—held$15,001 - $50,000$15,001 - $50,000$0$0
TD Ameritrade ⇒ 1716 HIGH 50 DIV STGY 12/18/17SPnew—$15,001 - $50,000$32,500$0
Thornberry Brothers Cattle Partnership, 33% interest—held$500,001 - $1,000,000$500,001 - $1,000,000$0$0
T3 Cattle, LLC, 33% interest—held$100,001 - $250,000$100,001 - $250,000$0$0
TD Ameritrade ⇒ MSCI BRIC ETFSPexited$1,001 - $15,000—$0$8,000

Largest movers 2017→2018

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
Congressional Federal Credit Union [BA]—held$15,001 - $50,000$1,001 - $15,000$0$0
TD Ameritrade ⇒ Direxion Zacks MLP High Income Index ETF (ZMLP)SPheld$1,001 - $15,000None$0$0
TD Ameritrade ⇒ COUNTERPOINT TACT INC (CPATX) [MF]SPheld$1,001 - $15,000$1,001 - $15,000$0$0
TD Ameritrade ⇒ Blackrock Enhanced Equity Dividend Trust (BDJ) [ST]SPheld$1,001 - $15,000$1,001 - $15,000$0$0
T3 Cattle, LLC, 33% interest [OL]—held$100,001 - $250,000$100,001 - $250,000$0$0
TD Ameritrade ⇒ S&P 500 EQUAL WEIGHT ETF (RSP) [EF]SPheld$1,001 - $15,000$1,001 - $15,000$0$0
Thornberry Brothers Cattle Partnership, 33% interest [OL] operations.—held$500,001 - $1,000,000$500,001 - $1,000,000$0$0

Largest movers 2018→2019

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
TD Ameritrade ⇒ S&P 500 EQUAL WEIGHT ETF (RSP) [EF]SPheld$1,001 - $15,000$1,001 - $15,000$0$0
Congressional Federal Credit Union [BA]—held$1,001 - $15,000$1,001 - $15,000$0$0
TD Ameritrade ⇒ COUNTERPOINT TACT INC (CPATX) [MF]SPheld$1,001 - $15,000$1,001 - $15,000$0$0
Thornberry Brothers Cattle Partnership, 33% interest [OL] operations.—held$500,001 - $1,000,000$500,001 - $1,000,000$0$0
TD Ameritrade ⇒ Blackrock Enhanced Equity Dividend Trust (BDJ) [ST]SPheld$1,001 - $15,000$1,001 - $15,000$0$0
T3 Cattle, LLC, 33% interest [OL]—held$100,001 - $250,000$100,001 - $250,000$0$0

Method (summary)

  1. 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.
  2. 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.
  3. 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).
  4. 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

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).