Be aggressive, or play defense?
A dashboard that grades the S&P 500, Dow, Nasdaq, and Russell 2000 from 0 to 100 every trading day. Valuation, sentiment, and trend go in. One number comes out: how much risk to take right now.
Open the live dashboard ↗One number, three postures.
The score answers one question: how much risk the market is paying you to take today. Where it lands sets the posture.
Expensive and euphoric. Trim back before the crowd does.
Fairly valued. Hold the line; no edge in either direction.
Cheap and unloved. Time to add risk while everyone else is scared.
How the score is built.
How stretched price is against its long-run average: the premium over the 50-month moving average, ranked as a historical percentile.
CNN's Fear & Greed Index, smoothed over 30 days, so a single panicky or euphoric session doesn't swing the call.
Where price sits against its moving averages, a check that the tape agrees with the valuation read.
score = 0.65 · premium_percentile + 0.35 · fear_greed_30dhigher = richer + greedier = more conservative
The live instrument.
Each index gets its own page: the gauge, the score and price history, and a log of every signal crossing. It recomputes on its own every weekday after the close.
Under the hood.
A Python job pulls the prices and sentiment and recomputes the scores on a schedule (GitHub Actions, weekdays at 5pm ET). The front end just reads the saved history and draws it. No server to babysit.
