SG Mid/Small Cap — End-of-Day Verdict
NO ACTION (both sides) - 21st written EOD verdict since 07-03
Recommendations
0 to acquire · 0 to dispose
| Ticker | Name | Close | Action | Action 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 |
|---|---|---|---|---|---|---|---|---|---|
| — | NO ACTION | — | NO ACTION | — | — | n/a | n/a | n/a | No trade today. Every one of the eleven companies we follow in this mandate is either flagged as untradeable by our own risk checks or is flagged outright negative, so there was nothing to buy at any price and we hold no shares to sell. The basket rose 2.7% today and has now recovered more than it fell, which means our cash position has gone from saving money to costing it - we are recording that plainly rather than claiming a win. It does not change the decision: we do not lower our entry bar because cash feels idle. OPS: 21st consecutive all-cash NO ACTION; buy pool empty at source for a 5th settled close (9x NO TRADE cv0, 2x AVOID); no BUY-ANTICIPATE anywhere in the 4-snapshot window so the ADR-0012 slot is unfilled; 65 floor never reached. Basket EW +2.73% today, -4.28% vs 07-27 close (avoided ~SGD 85,600) but +7.07% vs the 07-30 low (foregone ~SGD 141,400) - SGM-2's 'free win' framing is now WITHDRAWN; SGM-3 still governs ( never lowers the floor). Deliverables #1/#2 permanently N/A per MSCAP-3. |
| PCT | PC Partner Group | 2.96 | WATCH | — | — | n/a | n/a | 3.89 | Our best idea in this mandate has now run away from us. The shares are up 16.5% from their late-July low and, on a fresh valuation run tonight, are no longer cheap - they have moved from undervalued to roughly fair, so the reason to own them is now purely that the trend is strong, not that we are being paid a discount. Our system continues to refuse the trade, and we have established tonight that it is refusing it because the daily price swings are too wide, not because the stock is hard to trade. OPS: 9th consecutive block; correctly a Fail_Spread (4.39% range vs SG's 3% cap), NOT illiquidity - turnover was S. Fresh regen flips UNDERVALUED -> FAIR_VALUE, MoS +0.024 -> -0.030, val_adj +. T12 3.89 vs 2.96 = +31.4%, still the book's only positive forward view, but it re-rated +7.8% on a +3.14% price day (procyclical, finding 4) so discount it. RSI 60.8, Quality_Pass True, F-Score 8, Rev_Growth +38.4%. RE-ARM: settled PullbackBuy_VWAP/MomentumContinuation BUY with RAW cv >= 65 clearing the spread gate - a quiet consolidation day helps, another wide-range rally day does not. |
| 8AZ | Aztech Global | 0.64 | WATCH | 0.63 | 0.76 | n/a | n/a | 0.36 (-42.9%) | The only faller in an otherwise strong session, and now actively flagged as breaking down. It screens as the cheapest name we follow, but tonight's fresh valuation shows why that is misleading: our estimate of what the business is worth fell almost as fast as the share price did, so the apparent bargain is largely the model marking down a shrinking company. It fails our quality screen outright, which blocks any new position regardless of price. OPS: NEW AVOID / BreakdownDown_20D cv68 (entry 0.63, stop 0.76, target 0.37, edATR -0.30) - it cleared the spread gate for the first time this window only because its range narrowed to 2.34%. FV_per_share 0.855 -> 0.769 and DCF 0.955 -> 0.469, so MoS +0.168 overstates the case (my 08-03 hand-reprice of +0.240 assumed static FV and was too generous). Quality_Pass False = HARD gate. RSI 20.9 is not an entry (L6). T12 0.36 vs 0.64 = -43.8%, worst in book. Dividend line item CLOSED as unverifiable - do not re-open. RE-ARM: FY2026 revenue stabilisation repairing Quality_Pass, THEN a settled favoured-cell BUY >= 65. Exactly the shape SGM-5 refuses. · news |
| M14 | InnoTek | 0.52 | WATCH | 0.52 | 0.52 | n/a | n/a | 0.30 (-42.3%) | A bearish flag we had explicitly agreed to ignore until it repeated has now repeated, so we are taking it seriously as a genuine warning rather than noise. Practically it changes nothing - this mandate is long-only and we own none of it, so there is no position to protect and no trade to place. We record it because the discipline only works if we acknowledge a condition when it fires, including when the answer stays no. OPS: FailedBreakout_Down_20D cv60 -> cv66, 2nd CONSECUTIVE print on rising volume - the 08-03 re-arm condition ('ignore until a second consecutive print') has FIRED, so this is no longer dismissible as the one-session artifact the 07-17/07-27 prints were. Entry 0.52, stop 0.52, still no Target_Price. T12 0.30 vs 0.52 = -42.3%. GROWTH_PRICED_IN MoS -1.452 (val_adj -7), Quality_Pass False, F-Score 4. SGM-4b, 5th instance: a lone AVOID confirms an empty buy pool, it never populates one. |
| 575 | ASTI Holdings | 0.13 | WATCH | — | — | n/a | n/a | 0.11 | The strongest performer in the mandate today and still not something we would buy. It is the clearest illustration of a correction we made tonight to our own record: our system blocked it today on heavier trading than the day it allowed it through, which we had been reading for weeks as a broken filter. It is not - the filter rejects days with violently wide price swings, and today's swing was nearly 10%. Separately, our valuation model is simply not credible on a stock priced in fractions of a cent. OPS: PASSED the gate 08-03 at S turnover, FAILED today at S - not a contradiction once read correctly as Fail_Spread (9.52% range on a +6.78% day). MSCAP-2 persists: GROWTH_PRICED_IN MoS -2.524 (val_adj -10) on F_Score 9 / Quality_Pass True with FV_per_share 0.036 vs a 0.126 close. T12 0.11 = -12.7%. Not a candidate in either direction; lean on MoS sign + technical, never magnitude. |
| S71 | Sunright | 0.50 | WATCH | — | — | n/a | n/a | 0.28 | The widest discount we can find anywhere in this mandate, on a stock that barely trades - roughly Schanged hands all session. It is the only name that fails both of our tradability checks at once, and even with the largest valuation tailwind available to us, the shares are projected sharply lower over twelve weeks. There is no realistic way to build or exit a position at these volumes. OPS: Fail_Both - Sturnover (below the S floor) AND a 6.06% range. Fresh MoS +0.399 -> +0.454, Quality_Pass True, val_adj +9 (largest in book), which would still only lower the required raw conviction to 56 - a level the chart has never approached. T12 0.28 vs 0.495 = -43.4%. RE-ARM: genuine turnover AND trend repair, in that order. Textbook SGM-5: cheap and weak is not a signal. |
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.