Trading Calendar
The Trading Calendar shows all upcoming events for the next 90 days across your portfolio and watchlist symbols — mirroring the Desktop-App widget "📅 Trading Calendar". Quarterly ex-dates typically fall ~75–90 days after the previous ex-date, which is why the window was extended.
Event Types
- 🔔 Earnings — next quarterly report (from Fundamentals).
- 💰 Ex-Dividend — last day to receive the upcoming dividend.
- 💵 Dividend Payment — payment date.
- ⏰ Option Expiry — expiry of your active option positions
(with contracts, type and strike).
- 🎄 Holiday — NYSE holidays 2026/2027 (no trading).
Urgency Colors (days to event)
- 🔴 < 5 days — Critical (act now).
- 🟠 5 – 14 days — Warning (prepare).
- 🟡 15 – 30 days — Watch.
- 🟢 31 – 90 days — Info.
Filters
- All / Earnings / Dividends / Expirations / Holidays — by event type.
- Portfolio only — hides watchlist-only entries
(holidays remain visible).
Source Badges
- Portfolio — symbol has an active position (stocks or options).
- WL — symbol is in one of your watchlists.
Auto-Refresh
Reloads automatically every 60 seconds; a manual Refresh button is available. The symbol column links to the company page under Research → Companies.
Data Sources
- Earnings:
fundamentals.next_earnings_date— populated by the
fundamentals refresh from Yahoo Finance (yfinance). Before 2026-05-26 the source was FMP, but the FMP free tier blocked the required endpoints, so the pool refresh switched to yfinance. No API key required.
- Dividends:
dividend_calendar— auto-synced from Yahoo Finance,
including a projection of the next ex-date when the history does not yet contain a future entry.
- Expirations: active positions (
positions.expiry). - Holidays: static NYSE table (2026 + 2027) on the backend.
- Refresh schedule: daily at 03:30 UTC (cron job `
pool_refresh`).
The `source column in the fundamentals table now reads yfinance`.