Skip to content

Market Rotation

The daily market-rotation screen produces a post-US-close brief that explains one- to three-month sector ETF product flows, identifies broad and subsector rotations, drills into matching USA stock industries, and returns zero to five liquid stock candidates.

Deterministic Go code owns data joins, calculations, exclusions, classifications, rankings, and history comparisons. The LLM owns concise interpretation only.

The source is TradingView’s Sector ETFs page via table ID etfs_funds.sector_etfs. The rotation scorer restricts aggregates to US-listed, USD-denominated equity ETFs.

The screen excludes foreign listings, non-USD funds, non-equity funds, leveraged or inverse products, and single-stock ETFs from sector aggregates. Eligible thematic ETFs are mapped into economic sectors when recognizable, with an unmapped thematic fallback bucket.

For each sector, the screen precomputes combined AUM, one-month and three-month ETF product flows, normalized flow percentages, flow acceleration, breadth, broad versus subsector agreement, positive and negative contributors, and history state. The sector flow list is ordered by an equal-weight blend of one-month and three-month flow as a percentage of AUM.

These are ETF product flows, not direct stock-level institutional flows.

The strategy classifies opportunities into three lanes:

  • Broad-sector flow and performance confirmed.
  • Independent subsector rotation.
  • Performance-led industry without flow confirmation.

Flow disagreement reduces confidence but does not automatically eliminate strong industry performance.

A qualified candidate must come from one of the top three sorted industry signals and have USD pricing, market capitalization of at least $2B, price of at least $5, daily dollar turnover of at least $20M, positive one-week, one-month, and three-month performance, positive return acceleration, and no disqualifying one-day spike.

The screen must not fill a candidate quota when no setup qualifies.

Use screen_daily_market_rotation with persist_history and max_stock_candidates.

The compact response contains sector flow summaries, rotations, performance-led industries, stock candidates, rejection counts, lost confirmations, data-quality notes, and narration instructions. OpenClaw must preserve returned ordering and must not recompute or rerank results.