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`.