{
"generated": "2026-08-04T18:26:17Z",
"direction": "short",
"weights": {
"trend": 0.35,
"rel_strength": 0.15,
"volume": 0.15,
"fundamentals": 0.15,
"analyst": 0.1,
"patterns": 0.1
},
"count": 10,
"description": {
"_about": "Each item in `symbols` is one ranked candidate; the fields below explain its shape.",
"rank": "1-based position in this list (best first).",
"symbol": "Ticker.",
"sector": "Sector from the liquid universe.",
"in_target_sector": "True if the sector is in today's strong sectors for long (sectors.green) / weak sectors for short (sectors.red).",
"score": "0-100 overall quality = weighted mean of subscores (see top-level `weights`); missing subscores drop out and the remaining weights renormalize.",
"subscores": {
"trend": "0-1: fraction of trend/momentum/crossover checks passed (EMA stack, ADX>30, RSI band, ROC, MACD, higher-highs, fresh cross, ...).",
"rel_strength": "0-1: fraction of relative-strength checks passed (beats SPY 5/10/20d, beats sector 10d, RS line at high, sector top-3). Short = 1 minus the long value.",
"volume": "0-1: fraction of volume-confirmation checks passed (rel-vol>2, up-vol beats down, OBV new high, surge day, last up beats down).",
"fundamentals": "0-1: mean of bounded valuation/quality pieces (DCF upside, P/E band, net margin, ROE, net-debt/EBITDA). Short = 1 minus the long value.",
"analyst": "0-1: mean of consensus target upside, overall rating/5, and a recent upgrade-minus-downgrade nudge. Short = 1 minus the long value.",
"patterns": "0-1: bullish share of detected chart patterns (long) or bearish share (short)."
},
"price": "Latest quote.",
"dcf_upside_pct": "FMP DCF fair value vs price, percent (can be noisy/inflated).",
"adx": "ADX(14) trend strength.",
"avg_dollar_vol": "Average daily dollar volume (liquidity); also the short tie-break.",
"reasons": "Up to 4 human-readable signals behind the ranking."
},
"symbols": [
{
"rank": 1,
"symbol": "INSM",
"sector": "Health Care",
"in_target_sector": true,
"score": 76.7,
"subscores": {
"trend": 1.0,
"rel_strength": 1.0,
"volume": 0.75,
"fundamentals": 0.76,
"analyst": 0.4,
"patterns": 0.0
},
"price": 98.9182,
"dcf_upside_pct": -287.0,
"adx": 21.70959430874476,
"avg_dollar_vol": 370783600.0,
"reasons": [
"Price below SMA50",
"Weak RSI (<45)",
"Lags SPY/sector",
"Negative momentum"
]
},
{
"rank": 2,
"symbol": "BG",
"sector": "Consumer Staples",
"in_target_sector": true,
"score": 74.1,
"subscores": {
"trend": 1.0,
"rel_strength": 1.0,
"volume": 0.75,
"fundamentals": 0.527,
"analyst": 0.49,
"patterns": 0.0
},
"price": 107.44,
"dcf_upside_pct": 7.7,
"adx": 23.66306675734112,
"avg_dollar_vol": 173500731.8,
"reasons": [
"Price below SMA50",
"Weak RSI (<45)",
"Lags SPY/sector",
"Negative momentum"
]
},
{
"rank": 3,
"symbol": "ORA",
"sector": "Utilities",
"in_target_sector": true,
"score": 70.4,
"subscores": {
"trend": 1.0,
"rel_strength": 1.0,
"volume": 0.5,
"fundamentals": 0.595,
"analyst": 0.395,
"patterns": 0.0
},
"price": 99.705,
"dcf_upside_pct": -242.5,
"adx": 54.91807981182236,
"avg_dollar_vol": 93965892.8,
"reasons": [
"Price below SMA50",
"Weak RSI (<45)",
"Lags SPY/sector",
"Negative momentum"
]
},
{
"rank": 4,
"symbol": "ASND",
"sector": "Health Care",
"in_target_sector": true,
"score": 69.9,
"subscores": {
"trend": 0.857,
"rel_strength": 1.0,
"volume": 0.75,
"fundamentals": 0.604,
"analyst": 0.458,
"patterns": 0.0
},
"price": 244.112,
"dcf_upside_pct": -2168.5,
"adx": 17.927109422878594,
"avg_dollar_vol": 166575412.96,
"reasons": [
"Price below SMA50",
"Weak RSI (<45)",
"Lags SPY/sector",
"Negative momentum"
]
},
{
"rank": 5,
"symbol": "BKH",
"sector": "Utilities",
"in_target_sector": true,
"score": 68.8,
"subscores": {
"trend": 1.0,
"rel_strength": 1.0,
"volume": 0.5,
"fundamentals": 0.535,
"analyst": 0.331,
"patterns": 0.0
},
"price": 71.85,
"dcf_upside_pct": -199.7,
"adx": 15.078799929659285,
"avg_dollar_vol": 66196175.900000006,
"reasons": [
"Price below SMA50",
"Weak RSI (<45)",
"Lags SPY/sector",
"Negative momentum"
]
},
{
"rank": 6,
"symbol": "NI",
"sector": "Utilities",
"in_target_sector": true,
"score": 67.6,
"subscores": {
"trend": 1.0,
"rel_strength": 0.75,
"volume": 0.5,
"fundamentals": 0.529,
"analyst": 0.591,
"patterns": 0.0
},
"price": 44.45,
"dcf_upside_pct": -41.2,
"adx": 20.372787371195216,
"avg_dollar_vol": 198518213.34,
"reasons": [
"Price below SMA50",
"Weak RSI (<45)",
"Lags SPY/sector",
"Negative momentum"
]
},
{
"rank": 7,
"symbol": "NWE",
"sector": "Utilities",
"in_target_sector": true,
"score": 67.3,
"subscores": {
"trend": 0.857,
"rel_strength": 1.0,
"volume": 0.5,
"fundamentals": 0.587,
"analyst": 0.599,
"patterns": 0.0
},
"price": 69.5183,
"dcf_upside_pct": -121.7,
"adx": 16.269121194957272,
"avg_dollar_vol": 33325345.300000004,
"reasons": [
"Price below SMA50",
"Weak RSI (<45)",
"Lags SPY/sector",
"Negative momentum"
]
},
{
"rank": 8,
"symbol": "WWD",
"sector": "Energy",
"in_target_sector": true,
"score": 66.9,
"subscores": {
"trend": 0.857,
"rel_strength": 1.0,
"volume": 0.75,
"fundamentals": 0.401,
"analyst": 0.468,
"patterns": 0.0
},
"price": 375.45,
"dcf_upside_pct": -55.6,
"adx": 20.745623478820114,
"avg_dollar_vol": 288302869.4,
"reasons": [
"Price below SMA50",
"Weak RSI (<45)",
"Lags SPY/sector",
"Negative momentum"
]
},
{
"rank": 9,
"symbol": "ETR",
"sector": "Utilities",
"in_target_sector": true,
"score": 65.6,
"subscores": {
"trend": 0.857,
"rel_strength": 1.0,
"volume": 0.5,
"fundamentals": 0.532,
"analyst": 0.516,
"patterns": 0.0
},
"price": 108.86,
"dcf_upside_pct": -88.4,
"adx": 21.14529481535822,
"avg_dollar_vol": 383757152.04,
"reasons": [
"Price below SMA50",
"Weak RSI (<45)",
"Lags SPY/sector",
"Negative momentum"
]
},
{
"rank": 10,
"symbol": "COCO",
"sector": "Consumer Staples",
"in_target_sector": true,
"score": 64.2,
"subscores": {
"trend": 0.857,
"rel_strength": 1.0,
"volume": 0.75,
"fundamentals": 0.257,
"analyst": 0.411,
"patterns": 0.0
},
"price": 65.315,
"dcf_upside_pct": -0.8,
"adx": 23.04673688917162,
"avg_dollar_vol": 84227000.00000001,
"reasons": [
"Price below SMA50",
"Weak RSI (<45)",
"Lags SPY/sector",
"Negative momentum"
]
}
]
}