scripts/verify_official.py locates each fund's latest N-CSR/N-CSRS/10-K/10-Q via EDGAR full-text search (full fund-name phrase first, then ticker + name words, then bare ticker), extracts the fund's Financial Highlights tables (both Vanguard-style and Victory-style layouts, calendar and non-calendar fiscal years, M/D/YY and month-name headers), matches the share class by per-share distribution series + NAV magnitude, and compares per period window against the local Yahoo CSVs (frozen copies for stale tickers). Per-symbol JSONs + SUMMARY.md land in reports/xcheck_official/; results are cached per fund. Run on the 29 curated funds: 8 ok (exact to 3dp, e.g. VTSAX 2021-2026H1), 1 mismatch (CVSIX FY2009: local 1.104 vs official 0.81 - the Yahoo 2008-12-18 row of 0.292 looks spurious), 3 weak-match (uncovered doc formats, e.g. Leuthold), 17 not-found (mostly ETF families whose 10-K layouts aren't covered yet).
6 lines
143 B
JSON
6 lines
143 B
JSON
{
|
|
"symbol": "efa",
|
|
"name": "iShares MSCI EAFE ETF",
|
|
"verdict": "not-found",
|
|
"detail": "no candidate filing contained this fund (6 tried)"
|
|
} |