This website is for educational purposes only and does not constitute investment advice. Always do your own research and assess your own risk tolerance before making investment decisions.

SG End-of-Day Verdict 9 Sept 2026, 17:00:00 GMT+8

SG Mid/Small Cap — End-of-Day Verdict

EOD 2026-09-09

Recommendations

0 to acquire · 0 to dispose

TickerNameCloseActionAction Price Where to act — a buy-limit on a pullback or a buy-stop above resistance, not the current price. Sanity-check vs Close: on a held name, an action price stranded above the close means the queued level was set when the stock was higher — stale, awaiting reprice. Stop The risk-defined exit, set below the entry for a long (~1.2–1.8×ATR). A held long whose Stop sits at/above the Close is already below its stop — a stale box awaiting reprice. 1wk Model estimate of the likely price at this horizon — a forward projection, not a guarantee, and separate from the trade's Action Price or Stop. Where the ML estimator is enabled these are per-ticker calibrated forecasts (~80% coverage band) that are refreshed periodically and can drift between refreshes; otherwise they're interpolated from the signal's swing target. Confirm against the settled close. 4wk Model estimate of the likely price at this horizon — a forward projection, not a guarantee, and separate from the trade's Action Price or Stop. Where the ML estimator is enabled these are per-ticker calibrated forecasts (~80% coverage band) that are refreshed periodically and can drift between refreshes; otherwise they're interpolated from the signal's swing target. Confirm against the settled close. 12wk Model estimate of the likely price at this horizon — a forward projection, not a guarantee, and separate from the trade's Action Price or Stop. Where the ML estimator is enabled these are per-ticker calibrated forecasts (~80% coverage band) that are refreshed periodically and can drift between refreshes; otherwise they're interpolated from the signal's swing target. Confirm against the settled close. Rationale
PCTPC Partner Group3.14NO ACTIONn/an/a3.88PC Partner is still the only name in this book with a constructive twelve-week outlook, now +23.6%, and it rose another 3.3% today. But the cheapness case has quietly gone: the shares have run 8.3% since our valuation was last taken and now trade ABOVE the earnings-power anchor that defined 'cheap'. Treat it as a momentum name the scan will not let us trade, not a bargain. OPERATIONAL: NO TRADE cv0, NoTrade_Reason 'Liquidity gate failed' - daily range 3.82% vs the 3.00% SG cap, FOURTH consecutive overshoot (09-04 3.07%, 09-07 3.96%, 09-08 3.29%, tonight 3.82%). Turnover S = 79x the S floor; range_to_atr 1.10 - an ordinary bar by its own volatility, clears the US 2.0x and HK 3.0x gates comfortably. Cumulative +8.28% missed since its last bullish print (WATCH cv62, 09-03 close 2.90) to tonight's 3.14. T12 raised 3.66 -> 3.88. RSI 63.8 and rising. VALUATION CAVEAT NOW INVERTED: FV_per_share is the 3.006 EPV anchor and the 3.14 close sits +4.5% ABOVE it - the UNDERVALUED / MoS +0.035 label was priced off the 09-03 close (2.90) and is effectively stale-to-negative tonight (see Systemic finding 4); the 31.88 DCF is a 38%-growth outlier, never headroom. HAD IT CLEARED (geometry derived from the 09-03 printed signal, since the gated row prints no entry/stop/target): entry 3.14 (3.11-3.17), stop 3.11, 1wk 3.21 (f=0.30 per L5), 4wk 3.37, 12wk 3.88. RE-ARM: settled BUY/STRONG BUY at adj >=65, preferably PullbackBuy_VWAP or MomentumContinuation - L1/MSCAP-1 bar a FailedBreakdown_Up_20D chase even at >=65. NEWS CAUTION: SGD 0.10 cash dividend, ex-date 2026-09-16 = 3.2% of close, ~4 trading sessions out - a fill near that date takes a mechanical gap the engine reads as a breakdown; size/stop for it or wait until after 09-16. · news
AWXAEM Holdings9.32NO ACTIONn/an/a8.66AEM put in the strongest session on the book, up 4.5%, on a genuinely improving business - a big first-quarter ramp, raised full-year guidance and a reinstated dividend. We still would not buy it here: the model's own twelve-week view is BELOW today's price, and the shares are priced far beyond what the earnings support, so the quality screen blocks a new position outright. A good business we are not being paid to own. OPERATIONAL: NO TRADE cv0, 'Liquidity gate failed' - range 4.18% vs the 3.00% cap on S turnover = 570x the S floor, range_to_atr 1.08 (an ordinary bar). Biggest mover of the window; +7.13% across four sessions without ever printing a signal. RSI 43.1 -> 46.1 -> 47.0 -> 53.7 over the window. T12 improved 7.95 -> 8.66 but is still -7.1% vs the 9.32 close. GROWTH_PRICED_IN, MoS_FV -9.167 -> val_adj -10 (clamped), Quality_Pass FALSE - the quality gate hard-blocks new entries (fusion Step 6), so merit and gate agree tonight even though the gate is what actually removed it. NEWS confirms the backdrop, changes nothing actionable: 2025 revenue +5.0% to S; 1Q2026 revenue +36% to S with net margin 12.3% vs 3.9%; FY2026 guidance S-510M on an anchor AI/HPC customer ramp; dividend reinstated after three years; analysts now modelling ~S for 2026. QUOTE CAUTION: a search result cites a Sclose 'last Friday' vs our scan's 8.70 - the scan close is authoritative (L4); same search-quote unreliability already logged for 8AZ (fifth occurrence). RE-ARM: needs Quality_Pass to turn True AND a non-negative T12 AND a settled bullish print at adj >=65 - none of the three is close. · news
E28Frencken Group2.51NO ACTIONn/an/a1.80Frencken rose a third straight session and our bearish call on it from last Friday is now wrong by roughly 9%. The shares still look expensive against the industry after a very large run, but nothing in tonight's scan gives us a reason to buy or sell, and we own none, so we record the miss and stand aside. OPERATIONAL: NO TRADE cv0, 'Liquidity gate failed' - range 4.38% vs the 3.00% cap. The gate LABEL flipped back to liquidity tonight after printing the consensus reason on an equally-failing 3.66% range last night; the underlying block never changed, only the consensus classification did (root cause now identified - see Systemic finding 2, engine.py:710-712 overwrites an already-set NoTrade reason). The 09-04 AVOID FailedBreakout_Down_20D cv74/adj 69 at 2.30 - the highest conviction this book has ever produced - is now WRONG BY +9.13% (2.30 -> 2.51 in three sessions) and was withdrawn on a gate rather than reversed on merit. Recorded as wrong, not dropped. FAIR_VALUE MoS -0.972 -> val_adj -5; MSCAP-2 recurs for a FIFTH session - treat the FAIR_VALUE band as neutral and lean on the MoS sign, not the x5 magnitude. T12 1.80 = -28.3%. No new dated news: FY2025 revenue +8.9% / net profit +5.4%, higher final dividend, flat H1-2026 revenue guided with higher profit; 36.8x P/E vs 27.1x industry. RE-ARM: n/a - would need a bullish-family print at adj >=65 with a non-negative T12. · news
5DDMicro-Mechanics (Holdings)2.65NO ACTIONn/an/a2.22Micro-Mechanics produced one of only two signals on the whole book tonight, and it is a sell signal on a name we do not own - so there is nothing to do. A good business at a full price with a weakening twelve-week outlook; we keep watching rather than buying. OPERATIONAL: AVOID FailedBreakout_Down_20D cv62, val_adj -4 -> adj 58 - SEVEN POINTS BELOW the 65 floor and bearish in a long-only book at (SGM-4b: a bearish print confirms an empty buy pool, it never populates one). It only reappeared because turnover scraped back over the floor at S = 1.03x - the signal is not oscillating, the GATE is (cv67 on 09-07 at S, cv0 on 09-08 at S, cv62 tonight). One thin session from vanishing again; motivating case for gate hysteresis in Systemic finding 1(a). T12 2.22 = -16.2% vs the 2.65 close. FAIR_VALUE MoS -0.761 -> -4 (MSCAP-2; that haircut alone is the difference between adj 58 and 62). Quality_Pass True, F-Score 9. News: none found (most recent dated item remains a Feb-2026 SGD 0.03 dividend). RE-ARM: n/a on the long side - would need a bullish-family print at adj >=65 with a non-negative T12.
8AZAztech Global0.56NO ACTIONn/an/a0.32Aztech screens cheap on the numbers and passes our quality checks, but the chart is still broken and the model's twelve-week view sits more than 40% below today's price - the worst forward outlook on the book. Cheap is not a reason to buy a falling business; we stay out. OPERATIONAL: AVOID FailedBreakout_Down_20D cv55, val_adj +5 -> adj 60 - FIVE POINTS BELOW the 65 floor and bearish in a long-only book at. Third revival of this sequence ->. T12 0.32 vs the 0.565 close = -43.4%, worst on the book; Rev_Growth -30.4%; RSI 27.7. UNDERVALUED MoS +0.272, Quality_Pass True gives the +5 credit - SGM-5 exactly: a QPass-True discount never originates a position absent a bullish chart and liquidity clearance. RE-ARM UNCHANGED: Target_12Week must turn NON-NEGATIVE **and** a settled bullish print at adj >=65 - valuation alone will not do it. Search quotes for this ticker remain unreliable for this book (known data defect, fifth occurrence) - trust the scan close.
S71Sunright0.40NO ACTIONn/an/a0.23Sunright is the cheapest name in the book on paper and the least ownable in practice. It fell 4.8% today on about Sof trading - a price that barely exists - and its twelve-week outlook is more than 40% below the current level. Valuation watchlist only; we will not put capital into a stock this thin. OPERATIONAL: NO TRADE cv0, 'Liquidity gate failed' - DOUBLE FAIL: turnover S = 3.7% of the S floor (thinnest print of the window by a wide margin) AND range 3.75% vs the 3.00% cap. -4.76% session, the worst on the book, on that volume - a print, not a price. UNDERVALUED MoS +0.559, Quality_Pass True, maximum val_adj +10 - and it buys nothing (SGM-5). T12 0.23 = -42.5% vs the 0.400 close. Uninvestable at any conviction; retained on the valuation watchlist only. RE-ARM: would need sustained turnover above the S floor AND a non-negative T12 AND a settled bullish print at adj >=65 - all three are far away.
AI - SG Mid/Small CapNO ACTIONn/an/an/aNo trades tonight. The book stays fully in cash at SOnly two names generated any signal at all today and both were sell signals on stocks we do not own, so there was nothing to buy and nothing to sell. The wider small-cap tape rose again - a fourth straight session - which means sitting in cash cost us something rather than protecting us, and that is recorded as a cost rather than used as an excuse to lower our standards. OPERATIONAL: NO ACTION - 0 ACQUIRE + 0 DISPOSE + 0 ANTICIPATE. All 11 universe members (MSCAP-3: trim/exit and add-to-held permanently N/A). Signal output: 5DD AVOID cv62 -> adj 58 and 8AZ AVOID cv55 -> adj 60, BOTH bearish and BOTH sub-floor; nine rows NO TRADE cv0. No bullish carrier anywhere, so no adjusted conviction exists to rank and the 65 floor is never reached; no BUY - ANTICIPATE print, so the 4th slot is empty. UNIVERSE +0.97% equal-weighted on the day and +2.47% across the 09-04 -> 09-09 window = ~S of foregone equal-weight participation on the S seed. SGM-2 DOES NOT APPLY a FOURTH session running - the all-cash posture was a cost, not a risk-avoidance win. The floor was NOT lowered (SGM-3); the range-cap harm is escalated in Systemic finding 1. TRUE GATED SET IS SEVEN NAMES {AWX 4.18%, E28 4.38%, PCT 3.82%, M14 3.30%, S71 3.75%+S, I07 6.02%, 575 4.31%} vs the FIVE the CSV reports - root cause identified tonight: engine.py:710-712's post-conviction NoTrade gate OVERWRITES an already-set liquidity reason whenever consensus is Indeterminate/Conflicted and score < 40, which is always true for a gated row (Systemic finding 2). Ten of eleven names carry a negative 12wk estimate; 558 exactly flat at 0.0%; PCT the only positive at +23.6%. Valuation FRESH by time (FetchedAt 2026-09-03, 6 days) but MISLEADING on PCT, which has run +8.3% since the fetch and now closes ABOVE its EPV anchor (Systemic finding 4). Scorecard: 224 entries, ZERO graded, calib_1w null, cells {} - 45 EOD entries since inception with no position ever opened, so no cell can reach the actionability floor; f=0.30 mandatory per L5. Learnings ACTIVE block 53 days old; SEVEN PROPOSED blocks (07-25..09-05) pending and NOT applied. Step 8a NOT run (batch directive).

Outcome & track record

Accuracy at the time of this record.

0 Graded decisions Past recommendations old enough to score against what actually happened (target hit / stopped out / closed). This is the evidence base — the bigger the number, the more history behind the calls. Click to inspect every one.
0.000 1-week calibration How much of the eventual 4-week move typically shows up in the first week (0 = almost none, 1 = most of it). Use it to read the 1-week estimates: a low number means prices drift toward the target slowly, so don't over-read a soft week-1.
50 Published records How many dated end-of-day verdicts exist for this book — the length of the public track record you can browse in the Archive below.

This website is for educational purposes only and does not constitute investment advice. Always do your own research and assess your own risk tolerance before making investment decisions.