✓
vm-asset-class
Eligible asset class.
assetClass:equity
+4
✗
vm-50-150-uptrend-confirmation
Intermediate trend does not confirm.
priceAbove50Sma:true | sma50Slope:down
+20
✓
vm-liquidity
Liquidity clears threshold.
avgDollarVolume:159605300.00
+13
✗
vm-200ma-uptrend-confirmation
Price is below the 200 SMA.
sma200DistancePct:-2.6%
+9
✗
vm-rs-rank
Relative strength is weak.
rank:64.00
+9
✓
vm-forward-pe
Forward valuation is inside the ceiling.
forwardPe:16.01
+9
✓
vm-business-quality-gate
Quality proxies are acceptable.
roe:20.4% | margin:20.6% | revGrowth:-2.6%
+5
✓
vm-buy-near-moving-average
Price is near a relevant moving average.
sma20DistancePct:10.3% | sma50DistancePct:0.7%
+7
✗
vm-earnings-growth
Earnings growth is below 10% threshold.
earningsGrowthYoY:1.7%
+4
✗
vm-pullback-entry
Pullback is outside the preferred entry band.
percentFromHigh:36.18
+3
~
vm-peg-below-1-5
PEG unavailable.
+5
~
vm-peg-below-1-0-best
PEG unavailable.
+4
~
vm-dcf-supported
DCF inputs unavailable (need OCF, shares, price).
price:27.19
+4
~
vm-revenue-consistency
Revenue history unavailable (need 2+ annual periods).
+2
✓
vm-event-safety
No high-impact event blocker.
hasHighImpactEvent:false
+2
✓
vm-event-disqualifier
No high-impact event blocker.
hasHighImpactEvent:false
-30
✓
vm-avoid-buying-extended
Price is not excessively extended.
sma20DistancePct:10.3%
-30
✗
vm-discount-context-macro
No clear macro discount context detected.
rsRank:64.00 | salesQQPct:3.7% | epsNext5YPct:-2.1%
✗
vm-discount-context-cyclical
No cyclical discount pattern detected.
salesQQPct:3.7% | epsQQPct:1.0% | epsNext5YPct:-2.1%
✗
vm-structural-decline
Structural decline risk — analysts forecast negative 5-year EPS growth (-2.1%). Eroding competitive position, not a cyclical dip.
epsNext5YPct:-2.1% | revPeriodsAvailable:0.0%
-20