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

Singapore — End-of-Day Verdict

EOD 2026-09-03 (SGT settled close)

Recommendations

2 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
O39OCBC Bank31.92ADD — QUEUED @30.9530.9530.8131.89 (+3.0%)31.67 (+2.3%)33.27 (+7.5%)OCBC is the book's strongest technical print of the night - Buy_Rank #1, conviction 84, a pullback-buy setup on a bank that has already returned 28% this half and sits on a 3.6% yield with the lowest bad-loan ratio of the three local banks. We already own it at a 23% gain and want more, but only at a better price: the shares closed 3.1% above the model's own entry, so this is a good-till-cancelled limit that fills on a pullback rather than a chase. Valuation is the caution - at 1.9x book against a 1.2x ten-year norm the easy money is made, which is why the size is deliberately small. OPERATIONAL: adj 70 = raw 84, val_adj -4 (MoS -0.78), scorecard bias -10 - PullbackBuy_VWAP|buy turned ACTIONABLE tonight at n=6 hit_1w 0.000, the book's WORST buy cell, directly contradicting universal L1 (learnings-review item). Survives only because raw cv84 clears the >=75 bar the strongly-negative-bias rule imposes. Repriced from the unfilled 09-02 @30.79 queue (today's low 31.76 never reached it) per the provenance rule. eD -1.75 so no chase. Entry range 30.81-31.09. Size set by (60% of S), not conviction: model asked / SStop = tonight's raised chandelier trail 30.81, which now sits 14c BELOW the 30.95 entry - last night's one-cent entry/trail collision has resolved itself. 12wk 33.27 exceeds the DCF anchor 32.21; for a bank the residual-income model governs, but the projection does assume value beyond the discounted-cash anchor. Horizon: bank leg hold-through, but US NFP 09-04 is HIGH-confidence two-sided and lands inside the queue's life. · news
D05DBS Group Holdings77.95ADD — QUEUED @77.9377.9375.9177.78 (-0.2%)77.50 (-0.6%)81.61 (+4.7%)DBS still prints a buy on momentum continuation - Buy_Rank #2 - and unlike OCBC it is trading right at the model's trigger rather than 3% above it, so this one is actionable now via a buy-stop that only fills if the shares open firm. The forward case is the 12-week view (+4.7%) backed by a 4.4% yield and a capital-return dividend; the near term is unattractive and we are not pretending otherwise. This is a 1.4% top-up on a position we already own, sized by available cash, not a new bet. OPERATIONAL: adj 70 = raw 67, val_adj -3 (MoS -0.66), scorecard bias +6 (MomentumContinuation_Up|buy n=5 hit_1w.80/hit_4w 1.00 - the book's 2nd-best actionable buy cell). THREE CAVEATS STATED: (1) conviction fell on the closing bar alone and the family flipped out of PullbackBuy_VWAP; (2) BOTH the 1wk (77.78, -0.19%) and 4wk (77.50, -0.55%) point estimates sit BELOW the 77.93 action price - only the 12wk is positive; (3) US NFP 09-04 HIGH two-sided hits the bank leg the same session this executes. The buy-stop structure is the mitigant - it fills only on strength. Repriced from the unfilled 09-02 @75.88 limit (today's low 77.81); NOT a carry-forward of the withdrawn 08-31 @77.20. Entry range 77.68-78.18. Stop raised 75.11 -> 75.91 (model). 12wk 81.61 far exceeds the D05 DCF column 57.01, but that column is unreliable for financials on this book (it prints 0.36 for U11) so the RI anchor governs. BLOCKING: do not execute until the 08-31 D05 ADD 300 @77.20 fill question is recorded TAKEN or SKIPPED - now its THIRD stale session (ADR-0019); if it was taken, is 7,200 not 6,900 and this sizing is wrong. · news
O39OCBC Bank31.92TRAIL RAISE 30.8130.8131.8931.6733.27Our OCBC position is up 23% and has run far enough that we protect it rather than take money off the table: the stop moves up to S. The signal is still the strongest on the book, so cutting a winner here would be the wrong trade - we tighten the risk line instead. OPERATIONAL: ADR-0012 armed-but-not-fired, resolved as a MANDATORY TRAIL-RAISE, not a trim. This is the book's ONE genuinely armed position (SG-7: real Avg_Cost 25.93, Gain_ATR 10.79, T12_Progress 95.94; the other 13 PROFIT_ARMED flags are spurious on NA cost). Tick audit: (a) FIRES - RSI_DIV present; (b) NO - conviction is -6, not -20; (c) NO - Est_12W 33.27 > 1.02x31.92 = 32.56, forward view alive; (d) NO - not NO TRADE. One tick, Tier-1 code only, on a fresh bullish cv84 >= 80 Buy_Rank #1 print: G1's substance applies (PullbackBuy_VWAP is not literally on G1's family list, but every condition G1 protects is present) -> downgrade to trail-raise. Same resolution as 09-02. Trail 30.80 -> 30.81 (2.0x ATR chandelier: 31.92 - 2 x 0.5547).
C07Jardine C&C27.17HOLD26.33n/an/a27.53Jardine C&C throws the loudest sell signal on the book tonight, and we are not acting on it - because the drop that triggered it is mostly the Sdividend that came out of the price on 1 September, not deteriorating business. The shares are also the only holding our valuation work calls outright cheap, and they are still comfortably above our risk line. Selling a cheap stock on an ex-dividend mark would be a mistake. OPERATIONAL: Sell_Rank #1, cv71, bias 0 (FailedBreakout_Down_20D|sell n=73 actionable at 0, hit_4w.375). SG-2 FAILS BOTH LEGS: no stop break (close 27.17 vs stop 26.33) and Est_12W 27.53 = +1.32% positive. Ex-div Son 09-01 is ~1.03% of the close and is NOT modelled in the estimator - exactly the trap the 08-28 EOD pre-empted. Valuation is the book's only UNDERVALUED row (MoS +0.63), and under amplify-only an UNDERVALUED name's trim argues DOWN a tier, not up. Stop raised 26.28 -> 26.33 (model). Position = S.
J69UFRASERS CPT TR2.13HOLD2.18n/an/a2.18Frasers Centrepoint keeps printing sell signals and we keep declining them. The trust is deeply oversold, its forward view is still positive, and this family of sell signals has been wrong more often than right on this book. We hold and watch the Sline. OPERATIONAL: Sell_Rank #2. adj 58 = raw 61 - 3 (RallySell_BearTrend|sell actionable -3, n=9, hit_1w.333) - BELOW the 65 floor before SG-2 is even reached. SG-2 leg 1 passes (2.13 vs 2.18, -2.29%) but leg 2 FAILS: Est_12W 2.18 = +2.35%. RSI 30.4. 17th consecutive refusal on this name. Position = SStop held 2.18 - not lowered.
N2IUMapletree PanAsia Com Tr1.22HOLD1.31n/an/a1.25Mapletree PanAsia is the deepest break of a stop on the book, but the sell signal is weak, the trust is heavily oversold, and the 12-week view is still positive. The rate repricing driving this is something our event calendar tells us to trail through, not sell into. OPERATIONAL: Sell_Rank #3. adj 58 - below the 65 floor. SG-2 leg 1 passes (1.22 vs 1.31, -6.87%, deepest breach tonight) but leg 2 FAILS: Est_12W 1.25 = +2.46%. BreakdownDown_52W|sell is n=1 - report-only, no evidence. RSI 28.3. Horizon puts this name on the S-REIT tighten-trail list, not exit. Position = SStop held 1.31.
A17UCapitaLand Ascendas REIT2.37HOLD2.42n/an/a2.42Last night this name flashed the strongest sell signal on the book; one session later that signal has collapsed by more than half. That is exactly why we did not act on it. The position is also too small to be worth trading. OPERATIONAL: cv85 (09-02) -> cv38 tonight, a 47-point collapse in one session - DIRECT VINDICATION of the 09-02 refusal and confirming evidence for systemic finding #4 (a one-bar family flip at the closing print should not produce Sell_Rank #1). adj 38, 27 points under the floor. SG-2 leg 2 FAILS: Est_12W 2.42 = +2.11%. MoS -7.72 is the 2nd deepest on the book and would amplify a sell - but amplify-only means there must be a qualifying signal to amplify, and there is none. Position = Sbelow any sensible SGX execution size. Stop held 2.42.
HMNCAPITALAND and ASCOTT STAPLE U0.85HOLD0.88n/an/a0.88A weak sell signal on a Sposition with a positive forward view. Not worth acting on. OPERATIONAL: Sell_Rank #5, adj 31 - 34 points under the floor. SG-2 leg 1 passes (0.85 vs 0.88) and leg 2 FAILS: Est_12W 0.88 = +3.53%, the most positive forward view among the refused names. Position = SStop held 0.88.
S63ST Engineering10.43NO ACTION10.5110.4410.4010.35ST Engineering is the one name on the book that now ticks both of our exit conditions - it has closed below our risk line two sessions running and its 12-week view has turned slightly negative. We are not selling yet: the break is shallow, the signal engine is asking for nothing, and the business just posted record results. But this is the most likely next disposal and we have set a firm trigger. OPERATIONAL: L2 legs both met ON THE LETTER - stop break 10.43 vs 10.51 (-0.76%, 0.36 ATR, DEEPENED from 09-02's -0.19%/0.09 ATR and now a 2nd consecutive session below stop) AND Est_12W 10.35 = -0.77% negative. REFUSED on three grounds: (1) the 09-02 EOD set an explicit numeric re-arm - a settled close below ~10.40 - and 10.43 misses it by 3 cents; (2) the engine asks for nothing: NO TRADE cv0, Portion 0, no Sell_Rank, NoTrade_Reason verbatim 'Consensus conflict + low conviction'; (3) -0.77% sits inside the estimator resolution problem flagged as systemic finding #3 and would not clear the proposed -1.5% materiality band either. MoS -10.50 would amplify a sell if one existed; none does. RE-ARM UNCHANGED: a settled close below 10.40 with Est_12W still negative arms the L2 exit on a Sposition. Stop held 10.51 - not lowered.
U11United Overseas Bank41.74HOLD41.2741.7041.6540.79UOB carries the weakest 12-week outlook on the book, but it is trading comfortably above our risk line, so there is nothing to do. This is the book's largest position at roughly Sand it stays under close watch. OPERATIONAL: Est_12W 40.79 vs close 41.74 = -2.28%, the only reading on the book that would clear a -1.5% materiality band. But L2 leg 1 FAILS - no stop break (41.74 vs 41.27) - exactly as on 08-31 when the de-risk card was withdrawn and on 09-02. Stop held 41.27, not lowered. Position = S.
PORTFOLIOSingapore MainWATCHn/an/an/a43rd cycle. 2 ACQUIRE + 0 DISPOSE + 0 ANTICIPATE, both acquires on the bank leg. The night's headline is a scorecard regime change: PullbackBuy_VWAP|buy crossed the sample floor at n=6 with hit_1w 0.000 and is now the book's WORST actionable buy cell at -10, directly contradicting universal L1 which was imported from the US book (hit ~0.86 there). O39 survives it only on raw cv84. Sell side refused for the 7TH consecutive cycle - all five sell prints fail SG-2, four of them on the floor before leg 2 is reached. A17U's cv85 -> cv38 collapse vindicates the 09-02 refusal. 7 stop breaches (N2IU -6.87%, B61 -6.06%, BUOU -4.17%, HMN -3.41%, J69U -2.29%, A17U -2.07%, S63 -0.76%). NO STOP LOWERED ANYWHERE; three raised (O39 30.80->30.81, D05 75.11->75.91, C07 26.28->26.33). Both 09-02 queues expired UNFILLED (O39 needed 30.79, low 31.76; D05 needed 75.88, low 77.81) and were repriced to tonight's live rows per the provenance rule. : buys Svs S -, Sresidual. BLOCKING: D05 08-31 fill unreconciled for a 3rd session (ADR-0019). Step 8a learnings review NOT run.

Outcome & track record

Accuracy at the time of this record.

124 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.229 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.