Prior `150...199` range caught 161/162/163/165/166/167/168/169
which are LOF (open-end fund traded on-exchange but priced by
1-day NAV, not intraday ticks). Routing LOF codes through
ETFClient pulled stale/wrong-shape data from the Sina sz endpoint.
Explicit-deny LOF prefixes; preserve legacy range for everything else.
P0 from 2026-05-19 code review.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Real-time OTC fund and gold tracker for the macOS notch. Three tabs:
- 持仓: live intraday estimates from 天天基金, hero card with
total value / today P&L / cumulative P&L, per-row 当日 + 累计.
- 黄金: SHFE 沪金 realtime + daily K-line + 伦敦金 reference.
- 添加: search 26k+ public funds via 东方财富 suggest API.
No API keys, no Python, no servers. All data comes from public
endpoints (天天基金, 东方财富, 新浪财经).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>