Single-binary self-hosted market watcher for stocks, ETFs, indexes, and futures: live charts, key stats, fundamentals, SEC filings, and SSE streaming.
axumdockerfinancerustself-hostedsqlitestocksvite
1-- Phase 4: a separate freshness stamp for the ETF's NAV.
2--
3-- The 30-day fund_metadata sweep (Phase 28) refreshes the slow static fields
4-- (expense ratio, category, inception, ...) and carries a NAV too, but a
5-- monthly NAV is far too stale to compute a meaningful price-vs-NAV premium —
6-- the signal the ETF quality read's "tracking" factor needs. A dedicated daily
7-- fund_nav job (Phase 4) now refreshes nav_price on its own cadence; this
8-- column records when, so the symbol page can gate the tracking factor on a
9-- fresh NAV (and drop it cleanly when the NAV is stale) without disturbing the
10-- fund_metadata_synced_at stamp the 30-day sweep owns.
11ALTER TABLE fund_metadata ADD COLUMN nav_synced_at INTEGER;