Rep. Kathy Castor (D-FL)
House · Democrat (most recent term) · FL-14 · in Congress 2007–present · Bioguide ID C001066
Party history: D 2007–present. 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 2007 | 2013 | $2,170,046 | $3,549,023 | $4,928,000 |
| (b) Latest net worth estimate | 2025 | $7,945,056 | $19,897,528 | $31,850,000 |
| (c) Estimated gain / loss, nominal dollars, 2013 → 2025 (12 years spanned) | 2013–2025 | +$3,017,056 | +$16,348,505 | +$29,679,954 |
Gain Low = latest Low − earliest High; Gain High = latest High − earliest Low (widest possible spread); Mid = latest Mid − earliest Mid.
Note: earlier annual report(s) for 2012 exist but could not be used for net worth (scanned/not computable), so the 'earliest' figure is the earliest computable one.
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 |
|---|---|---|---|---|---|
| 2012 | not available | validated OCR of a scanned filing: Schedule A is usable, but Schedule D (liabilities) is not parsed from scanned filings, so net worth is not computed | |||
| 2013 | $3,549,023 | $0 | $3,549,023 | $2,170,046 … $4,928,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 | $4,053,522 | $0 | $4,053,522 | $2,505,045 … $5,602,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2015 | $3,954,522 | $0 | $3,954,522 | $2,427,043 … $5,482,000 | computed |
| 2016 | $6,236,018 | $0 | $6,236,018 | $2,981,037 … $9,491,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2017 | $6,516,518 | $0 | $6,516,518 | $3,191,035 … $9,842,000 | computed |
| 2018 | $6,296,518 | $0 | $6,296,518 | $3,001,037 … $9,592,000 | computed |
| 2019 | $7,150,018 | $0 | $7,150,018 | $3,453,035 … $10,847,000 | computed |
| 2020 | $9,831,524 | $0 | $9,831,524 | $5,246,049 … $14,417,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2021 | $11,644,526 | $0 | $11,644,526 | $6,443,051 … $16,846,000 | computed; 2 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2022 | $10,073,526 | $0 | $10,073,526 | $5,356,051 … $14,791,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2023 | $13,801,026 | $0 | $13,801,026 | $6,736,053 … $20,866,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2024 | $15,078,526 | $0 | $15,078,526 | $7,577,052 … $22,580,000 | computed; 3 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2025 | $19,897,528 | $0 | $19,897,528 | $7,945,056 … $31,850,000 | 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.
2022 -13%
Reliability flags: 5/12 years trading-dominated; OCR-derived: 1/12 year(s) use validated OCR of scanned filings; 11 unparsed value(s).
Sensitivity band for the average (all ranges at floor vs. all at ceiling, same holdings both years): +13.3% to +12.2%. 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 |
|---|---|---|---|---|---|---|---|---|---|---|
| 2012→2013 | $1,605,514 | $3,246,519 | $43,410 | $690,037 | $171,505 | +72.6% | +56.8% … +110.9% | -88% … +233% | 68% | counted; OCR-derived (scanned filing; validated, see method) - years 2012; many new/exited positions |
| 2013→2014 | $3,376,521 | $3,855,020 | $49,762 | $449,524 | $121,503 | +5.9% | +2.2% … +14.3% | -90% … +102% | 97% | counted |
| 2014→2015 | $3,946,022 | $3,790,518 | $51,011 | $152,010 | $16,001 | -6.1% | -7.2% … -3.6% | -85% … +73% | 99% | counted |
| 2015→2016 | $3,879,521 | $5,996,516 | $53,810 | $1,269,508 | $563,506 | +37.8% | +2.3% … +53.4% | -101% … +177% | 98% | counted |
| 2016→2017 | $6,020,016 | $6,244,016 | $102,912 | $1,027,042 | $945,516 | +4.1% | +0.4% … +15.7% | -122% … +130% | 99% | counted; many new/exited positions |
| 2017→2018 | $6,484,017 | $6,191,016 | $89,808 | $216,014 | $48,003 | -5.7% | -5.8% … -5.7% | -111% … +99% | 100% | counted |
| 2018→2019 | $6,067,014 | $6,810,514 | $83,855 | $3,061,536 | $2,311,528 | +1.3% | +0.4% … +1.5% | -149% … +152% | 96% | counted |
| 2019→2020 | $7,117,517 | $9,073,523 | $106,266 | $5,539,057 | $5,549,518 | +29.1% | +21.2% … +31.6% | -162% … +220% | 100% | counted; high turnover (buys+sells > 100% of opening value); many new/exited positions |
| 2020→2021 | $9,078,020 | $11,354,024 | $64,612 | $1,068,558 | $220,505 | +16.4% | +11.9% … +29.1% | -98% … +131% | 96% | counted |
| 2021→2022 | $10,128,516 | $9,052,020 | $127,758 | $715,036 | $313,003 | -13.3% | -13.5% … -12.8% | -109% … +82% | 89% | counted; many new/exited positions |
| 2022→2023 | $1,515,006 | $7,426,014 | $26,658 | $642,523 | $40,002 | +352.2% | +263.3% … +393.9% | +43% … +662% | 16% | excluded; not eligible: traced coverage 16% < 60%; many new/exited positions |
| 2023→2024 | $13,435,524 | $14,570,524 | $160,266 | $2,796,076 | $2,197,522 | +5.2% | +2.5% … +13.6% | -120% … +131% | 99% | counted |
| 2024→2025 | $14,371,023 | $19,131,526 | $117,516 | $13,088,606 | $12,845,560 | +32.3% | +10.7% … +39.4% | -185% … +249% | 98% | counted; high turnover (buys+sells > 100% of opening value); many new/exited positions |
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 |
|---|---|---|---|---|---|---|
| 2012 | 8212001 | House annual [OCR-derived] | 5/15/2013 | 56 | 0 | 8212001.pdff360eb75a9c4c14474f00af0c203dc6edf91a0e3c344e6a47f21edc776396d48 |
| 2013 | 10000930 | House annual | 5/9/2014 | 51 | 1 | 10000930.pdf9f314f84d5c2d2642d1202aa8c42538c342649dbfaddb7c6c636130fdea8816e |
| 2014 | 10010640 | House amendment | 4/29/2016 | 50 | 1 | 10010640.pdf04e0e036ddb02584406918dd0aae0662d305162e3c61e12b49330fafddfb1562 |
| 2015 | 10010421 | House annual | 5/13/2016 | 49 | 0 | 10010421.pdf258ae41983d00aa2f70edb2c993f6ad2b6409eb9b688657195469c043989ae89 |
| 2016 | 10017314 | House amendment | 5/18/2017 | 56 | 1 | 10017314.pdf40b5be05c84846c3551a7c95d63772e5e3ff32a5512dcdd90d296975847b4b69 |
| 2017 | 10020962 | House annual | 5/10/2018 | 49 | 0 | 10020962.pdf0534a7d5ec22f02d0452938bbe18724c81bf4a9ad291939be18f58d7aa3fe71d |
| 2018 | 10026093 | House annual | 5/15/2019 | 38 | 0 | 10026093.pdfae407eaa6b34dafb4d316135a69d9348a0c1a81ae8355e411d0cb7a2c1c18985 |
| 2019 | 10037307 | House annual | 8/12/2020 | 42 | 0 | 10037307.pdf031653ded888e8b8ca650c2478f4193cd2e0eb06289129a2828eaee45a5a5b81 |
| 2020 | 10043796 | House amendment | 9/27/2021 | 77 | 1 | 10043796.pdfc2c7c4607a06d8fc1849bead5b97c923af3108a1e6f4d1c754bd5ffa33e1abb0 |
| 2021 | 10047068 | House annual | 5/19/2022 | 51 | 2 | 10047068.pdff1a826aaf739924e0a15ed263db581a58b980994a3a703bc3355cbda22c6a5fa |
| 2022 | 10052732 | House annual | 5/24/2023 | 53 | 1 | 10052732.pdf06feecc1f733d2916f37ada23dd9d0dde174dc2fd5dcc5108a75e68e0fe56b8a |
| 2023 | 10059113 | House annual | 5/10/2024 | 62 | 1 | 10059113.pdf159aa0f2920d18c87e8fdeaa5861707b753f97c062fee1904efab41bd553c76e |
| 2024 | 10066133 | House annual | 5/15/2025 | 62 | 3 | 10066133.pdfb6956ba1515b5e41e617f2a34e2cff81c369c5fd96c0641e1f4c3602243ee869 |
| 2025 | 10076959 | House annual | 5/24/2026 | 71 | 0 | 10076959.pdf2be5db8d6192a86c2f9535d4f2f1d5ea1c995761c87c9aecb2b7ae40187a6cbd |
Largest movers 2021→2022
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Spouse 401K ⇒ JP Morgan Mid Cap Value I Fund [MF] | SP | held | $500,001 - $1,000,000 | $250,001 - $500,000 | $48,502 | $0 |
| Vanguard Joint Retirement ⇒ Vanguard ESG U S Stock ETF [EF] | JT | held | $500,001 - $1,000,000 | $250,001 - $500,000 | $32,002 | $0 |
| Franklin Templeton Joint Retirement ⇒ Franklin Growth Fund - Advisor Class [MF] | JT | held | $500,001 - $1,000,000 | $250,001 - $500,000 | $0 | $0 |
| IRA ⇒ T Rowe Price Blue Chip Growth [MF] | — | held | $250,001 - $500,000 | $100,001 - $250,000 | $8,000 | $0 |
| Spouse 401K ⇒ Principal Global Investors LargeCap S&P 500 Index [MF] | SP | new | — | $100,001 - $250,000 | $40,501 | $0 |
| E*Trade Brokerage Account ⇒ Global X Nasdaq 100 Covered Call ETF (QYLD) [EF] | JT | new | — | None | $112,506 | $0 |
| Franklin Templeton Joint Retirement ⇒ Franklin Rising Dividends [MF] | JT | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| E*Trade Brokerage Account ⇒ Global X S&P 500 Covered Call (XYLD) [EF] | JT | new | — | $100,001 - $250,000 | $113,004 | $0 |
Largest movers 2023→2024
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Franklin Templeton Joint Retirement ⇒ Mutual Shares Corporation Cl Z (MUTHX) [MF] | JT | new | — | $100,001 - $250,000 | $8,000 | $32,500 |
| Vanguard Joint Retirement ⇒ Vanguard ESG U.S. Stock ETF (ESGV) [EF] | JT | held | $500,001 - $1,000,000 | $250,001 - $500,000 | $0 | $207,501 |
| Spouse 401K ⇒ Principal Global Investors LargeCap S&P 500 Index (-) [OT] | SP | held | $1,000,001 - $5,000,000 | $1,000,001 - $5,000,000 | $382,502 | $215,502 |
| Vanguard Joint Retirement ⇒ Vanguard High-Yield Tax-Exempt Fund (VWAHX) [MF] | JT | held | $15,001 - $50,000 | None | $188,004 | $375,000 |
| E*Trade Brokerage Account ⇒ Global X Nasdaq 100 Covered Call ETF [EF] | JT | held | $15,001 - $50,000 | $100,001 - $250,000 | $0 | $0 |
| Franklin Templeton Joint Retirement ⇒ Franklin California High Yield Muni Fd Advisor Class | JT | held | $50,001 - $100,000 | $250,001 - $500,000 | $196,504 | $0 |
| Franklin Templeton Joint Retirement ⇒ Franklin Rising Dividends Fund Advisor Class (FRDAX) | JT | held | $100,001 - $250,000 | $50,001 - $100,000 | $0 | $0 |
| Franklin Templeton Joint Retirement ⇒ Franklin Mutual U.S. Mid Cap Value Fund - Advisor Cl | JT | held | $100,001 - $250,000 | $100,001 - $250,000 | $8,000 | $107,501 |
Largest movers 2024→2025
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Vanguard Joint Retirement ⇒ Vanguard High-Yield Tax-Exempt Fund Admiral Shares (VWALX) [MF | JT | held | $250,001 - $500,000 | $1,000,001 - $5,000,000 | $1,854,514 | $3,000,000 |
| Vanguard Joint Retirement ⇒ Vanguard Municipal Money Market Fund (VMSXX) [MF] | JT | new | — | $1,000,001 - $5,000,000 | $1,332,502 | $32,500 |
| Spouse 401K ⇒ Principal Global Investors LargeCap S&P 500 Index (-) [OT] | SP | held | $1,000,001 - $5,000,000 | $100,001 - $250,000 | $455,504 | $1,875,002 |
| Franklin Templeton Joint Retirement ⇒ Franklin California High Yield Muni Fd Advisor Class | JT | held | $250,001 - $500,000 | $1,000,001 - $5,000,000 | $1,757,504 | $0 |
| Franklin Templeton Joint Retirement ⇒ FIST Equity Income Fund - Advisor Class (FEIFX) [MF] | JT | held | $500,001 - $1,000,000 | $1,001 - $15,000 | $8,000 | $105,502 |
| Spouse 401K ⇒ Galliard Stable Return Fund C [OT] | SP | new | — | $1,000,001 - $5,000,000 | $3,622,504 | $231,003 |
| Spouse 401K ⇒ Lord Abbett Short Duration Income Class R5 (LDLTX) [MF] | SP | new | — | $500,001 - $1,000,000 | $415,002 | $48,502 |
| Franklin Templeton Joint Retirement ⇒ Franklin Growth Fund Advisor Class (FCGAX) [MF] | JT | held | $250,001 - $500,000 | $1,001 - $15,000 | $0 | $573,503 |
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).