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 3 Sept 2026, 17:00:00 GMT+8

SG Off-the-Radar — End-of-Day Verdict

EOD 2026-09-03 (sgotr)

Recommendations

0 to acquire · 1 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
O39OCBC Bank31.92SELL 25%31.9230.8132.04 (+0.4%)32.79 (+2.7%)41.12 (+28.8%)We are banking another quarter of the OCBC position and letting the rest ride on a slightly higher stop. The holding is up 11.5% on a 28.63 cost, and the momentum warning that prompted yesterday's trim is still showing - price making new highs while momentum lags. Our rule says a matured gain plus a sign of deterioration means taking some off, so we sell 200 of the and keep 600. The bank is performing strongly - record second-quarter profit up 22%, first-half profit up 13% to S19bn, wealth income at a record and now 41% of the group - and our 12-week view is still 28.8% above today's price, which is why this stays a minimum-size trim rather than an exit. Valuation is neutral to the decision and a full news check across the last two sessions found nothing that changes the case. Operational nuance: ADR-0012 profit-take, ARMED (Gain_ATR 5.93 = (31.92-28.63)/0.5547; Avg_Cost 28.63 hand-verified against input/sgotrportfolio.json and unchanged by the 09-03 partial fill; T12 span non-inverted) + ONE Tier-1 tick: (a) RSI_DIV present on the row. HONESTY FLAG - this is the SAME RSI_DIV that fired the 09-02 trim, not a new code; tick (a) is written as a state test ('any other Exit_Warning code on the same row'), not a freshness test, so it re-fires. The inert PROPOSED lessons R4 ('a fired tick is spent') and P2 (require arm persistence or a Tier-2/3 warning before trimming a name with a strong live 12wk view) would each have made this a trail-raise instead; both remain unpromoted after six weekly blocks. Ticks (b)/(c)/(d) NEGATIVE: conviction (-6, needs -20), Target_12Week 41.12 >> 1.02 x close 32.56, not NO TRADE. G1 does not rescue it - the softening is family-scoped to BreakoutUp_*/MomentumContinuation_* and this is PullbackBuy_VWAP; G2/G3 govern the valuation-elevate path only. Minimum tier profit_take_1 = 30% -> -> 200 on the SG 100-lot (effective 25.0%). No valuation bump (MoS -0.750 is neither <=-3 nor UNDERVALUED); SGO-3 voids the Quality_Pass=False and suppresses the DCF anchor annotation on this IsFinancial row. NOT escalated: the 09-03 FTSE STI review passed with no constituent change and US NFP 09-04 is stance hold-through. Trail RAISED 30.80 -> 30.81 (2.0x ATR chandelier 31.92 - 1.1094 = 30.8106); trails never fall. Estimates use f = 0.138, the MEASURED calib_1w - graded buys crossed 10 (now 16), so L5's f=0.30 fallback stands down for the first time since the ADR-0014 reset. Prior fill reference: the 09-02 verdict executed 09-03 at 32.18 vs a 31.85 close-reference, a +1.04% favourable gap. · news
D05DBS Group Holdings77.95HOLD77.9376.5978.78 (+1.1%)83.98 (+7.8%)92.28 (+18.4%)We are holding DBS and adding nothing - and tonight, for the first time in a week, that is because the signal itself has weakened rather than because the position is simply too big. The buy signal downgraded from strong to ordinary and its conviction fell sharply in a single session, leaving it just below the bar we require to commit new money. Separately the holding is still 60.1% of the portfolio against a 60% single-name ceiling, so there was no room to add in any case. We keep the protective stop where it is, 1.8% below today's close, and wait. The bank remains in good shape - record first-half profit, a rising dividend - and our 12-week view is 18.4% above today's price, so this is patience, not doubt. Operational nuance: Action downgraded STRONG BUY - ADD -> BUY - ADD, conviction (a 17-point single-session drop), signal rotated PullbackBuy_VWAP -> MomentumContinuation_Up. val_adj -3 (MoS_FV -0.6302 x 5), scorecard_bias 0 (MomentumContinuation_Up|buy is n=4, report-only, hit_1w.25 / hit_4w.333 - had it been actionable it would have pushed D05 further below the floor) -> adj 64, ONE POINT under the 65 floor. This is the binding constraint tonight; the cap is now the secondary block, an order reversal from 09-02. max_position_pct 60.0 (sg.ini): S / NAV S = 60.14%, headroom -Sand tonight's O39 sale raises cash without changing NAV so it opens none. Entry_Distance_ATR -0.02 means the close sits essentially AT the model entry - for once the no-chase rule would NOT have blocked it, so the miss is purely on conviction. Exit_Warning RSI_DIV is present but INERT: D05 is NOT armed (Gain_ATR 1.77 < 3.0, T12_Progress_Pct 84.47 < 90), so no ADR-0012 path opens. Position +2.35% (+S) on the 76.1606 blended basis. Stop HELD at 76.59 - the row's Stop_Price is 75.91 and no chandelier applies (not armed), both below the carried level, and a trail never falls. SGO-3: Quality_Pass=False non-binding (IsFinancial, FV=ResInc); DCF anchor annotation suppressed. 1wk estimate uses f = 0.138 (measured calib_1w; graded buys crossed 10). · news

Outcome & track record

Accuracy at the time of this record.

40 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. See the decisions →
0.138 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.