Syntic
← All skills
Market & MacroFreeCommunityv1.0.0

market-breadth-analyzer

Use when the user asks if a rally is broad-based, wants a quantitative market breadth score, an advance-decline/breadth-thrust read, or an equity exposure level from breadth data.

About this skill

Use when the user asks if a rally is broad-based, wants a quantitative market breadth score, an advance-decline/breadth-thrust read, or an equity exposure level from breadth data.

SKILL.md

market-breadth-analyzer.SKILL.md

Place it in your Syntic skills folder. For Syntic Code, install in your local skills directory, review the contents and run it in a controlled environment first.

SKILL.md
---
name: market-breadth-analyzer
description: Use when the user asks if a rally is broad-based, wants a quantitative market breadth score, an advance-decline/breadth-thrust read, or an equity exposure level from breadth data.
category: Market & Macro
version: 1.0.0
tools: []
---

# Market Breadth Analyzer

Quantify market breadth health with a data-driven, 6-component 0-100 score, measuring how broadly the market is participating in a rally or decline. 100 = maximum health/broad participation, 0 = critical weakness.

## When to Use
- "Is the market rally broad-based?" / "How healthy is market breadth?"
- User wants to assess market participation rate, advance-decline indicators, or breadth thrust
- User wants to know if the market is narrowing (fewer stocks participating)
- User wants an equity exposure level based on breadth conditions

## Difference from Chart-Based Breadth Analysis
This produces a fully reproducible, quantitative 0-100 score from data directly, rather than a qualitative read of a chart image — use it when the user wants a number and a repeatable process rather than visual pattern recognition.

## 6-Component Scoring System
| # | Component | Weight | Key Signal |
|---|---|---|---|
| 1 | Breadth Level & Trend | 25% | Current 8MA level + 200MA trend direction + 8MA direction modifier |
| 2 | 8MA vs 200MA Crossover | 20% | Momentum via MA gap and direction |
| 3 | Peak/Trough Cycle | 20% | Position in the breadth cycle |
| 4 | Bearish Signal | 15% | Backtested bearish-signal flag |
| 5 | Historical Percentile | 10% | Current reading vs. full historical distribution |
| 6 | S&P 500 Divergence | 10% | Multi-window (20-day + 60-day) price-vs-breadth divergence |

If any component lacks sufficient data (e.g. no peak/trough markers detected), exclude it and redistribute its weight proportionally among the remaining components — note both the original and the effective weights used.

## Health Zone Mapping
| Score | Zone | Equity Exposure | Action |
|---|---|---|---|
| 80-100 | Strong | 90-100% | Full position; growth/momentum favored |
| 60-79 | Healthy | 75-90% | Normal operations |
| 40-59 | Neutral | 60-75% | Selective positioning, tighten stops |
| 20-39 | Weakening | 40-60% | Profit-taking, raise cash |
| 0-19 | Critical | 25-40% | Capital preservation, watch for a trough |

## Methodology
Use web_search / knowledge_base_search to pull the underlying breadth dataset — roughly 2,500 daily rows of S&P 500 price, raw breadth index, 200MA and 8MA breadth readings, trend flags, bearish-signal flags, and peak/trough markers, plus an aggregate summary (average peak/trough levels, counts, analysis period). Flag if the data looks more than ~5 days stale.

Score each of the six components per the table above, combine into the composite 0-100 score with any weight redistribution applied, and classify into a health zone. When prior readings are available, characterize the trend as improving, deteriorating, or stable.

## Output
Present: the composite score and health zone, the strongest and weakest components, the recommended equity exposure level, key breadth levels to watch, any data-freshness warning, and — when available — the improving/deteriorating/stable trend read.

Install

Syntic App

  1. 1Create a dedicated folder for this skill in your local skills library.
  2. 2Place SKILL.md into that folder.
  3. 3Restart Syntic and invoke this skill on matching tasks.

Syntic Code (CLI)

  1. 1Save SKILL.md in your local Syntic Code skills directory.
  2. 2Keep related files in the same skill folder.
  3. 3Run in a safe environment and validate outputs.