Learn🧭 User JourneyAlert Engine: 50+ Rules Auto-Flagging Each Stock
🧭 User Journey6 min read

Alert Engine: 50+ Rules Auto-Flagging Each Stock

7 categories × 50+ rules: valuation, risk, credit, technical, momentum, dividend, quality. Auto-flagged red / yellow / green issues per stock — read reds first, greens as confirmation.

💡

TL;DR: Alerts are the auto-scanner in Row 3 of the Investment Dashboard. 50+ rules across 7 categories — valuation, risk, credit, technical, momentum, dividend, quality — run nightly and flag anomalies in red / yellow / green. Read reds first, greens as confirmation, yellows as judgement calls.

Concepts

How Are Alerts Generated?

Alerts aren't written by an analyst nor inferred ad hoc by an AI. They come from a rule engine. Each rule is an explicit condition:

  • "P/E above 1-year P95 → Red: Valuation extreme"
  • "Sharpe Ratio < 0 → Red: Risk-adjusted return negative"
  • "Altman Z > 2.99 → Green: Credit safe zone"
  • "Piotroski F = 9 → Green: Strong financial quality"

Every stock runs the full scan once daily, collects every triggered rule, and sorts them by severity (Red → Yellow → Green).

The 7 Alert Categories

CategoryMeaningExample
ValuationIs the current price reasonable?P/E at historical top, P/B too high
RiskHistorical volatility and drawdownMax drawdown too deep, annualized vol extreme
CreditBankruptcy riskAltman Z in caution zone, KMV DD too short
TechnicalPrice-pattern signalsRSI severe overbought, KD golden cross
MomentumTrend strength60-day momentum top quartile, consecutive up days
DividendDistribution stabilityYield percentile too low / too high
QualityComposite financial healthPiotroski F nine-of-nine vs many failed

Red / Yellow / Green Meanings

  • Red: Severe signal, needs immediate attention. Strict thresholds, low false-positive rate.
  • Yellow: Worth noting but not urgent. Often "moderate deviation" or "needs other indicators to confirm."
  • Green: Positive signal, confirmation that "this aspect of the stock is solid."

Important: Red ≠ "don't buy" and green ≠ "do buy." Alerts are clue gathering, not investment instructions.

Hands-on: Reading It on CTSstock

Open any stock (/analysis/tw/2330), scroll to Row 3 "Alerts."

Layout:

  • Three columns (red, yellow, green), each showing up to 3 items sorted by severity
  • Click any message to jump to the detailed anchor in the corresponding deep page (e.g. clicking "P/E at P95" jumps to the Valuation tab)
  • Messages include concrete numbers (e.g. P/E = 32.5, P95 = 30) so you can gauge trigger strength

Three Usage Patterns

Pattern 1: Red-flag scan (30s)

Look at the red column only. If 3 reds spread across 2+ categories (e.g. "Valuation extreme" + "Drawdown too deep"), multiple dimensions are unhealthy — reduce position.

Pattern 2: Red-vs-green hedged read (1 min)

Cross-read red and green together:

  • Red "P/E at P85 (high)" + Green "Piotroski F = 9, strong quality" → "Expensive but high-quality" — depends on whether you'll pay the premium for quality
  • Red "Sharpe < 0" + Green "Altman Z safe zone" → "Poor short-term return but low bankruptcy risk" — may suit long-term holders

Pattern 3: Cross-stock comparison (3 min)

Read alerts on 3 candidate stocks side-by-side. The one with most greens and fewest reds wins. But beware: total alert count isn't a quality metric — high-volatility stocks naturally trigger more rules regardless of merit.

FAQ

Q: Are alerts real-time or daily?

Daily (one full scan after market close). Intraday signals (e.g. an intraday breakout) aren't covered by the alert system; for those, use the "Anomaly Signals" page.

Q: Are there false positives?

Yes. Thresholds are intentionally lenient (e.g. P/E P95 triggers "extreme," not P80) to reduce noise. But some rules will inherently misfire — "Max drawdown -30%" fires red on any stock that just experienced a big decline, but during 2008 or 2020 nearly every stock would trigger. Always read alerts with market context in mind.

Q: Where's the full rules list?

The complete table (53 rules with conditions, thresholds, severity, copy) lives in tasks/alerts_rules.md in the project repo. Users see only the triggered messages, not the rule table itself.

Q: Can I customize the rules?

Not currently — rules are centrally maintained. We may add "subscribe to alerts" for watchlist stocks, but personal rule customization isn't planned: rule quality requires backtesting validation, and ad-hoc custom rules tend to introduce noise rather than insight.


Done reading? Try it hands-on

Practice with CTSstock tools to deepen your understanding

View stock alerts