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

Singapore — End-of-Day Verdict

EOD 2026-09-04 (SGT settled close)

Recommendations

1 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 Bank32.27SELL 50%32.2731.3032.17 (-0.3%)31.84 (-1.3%)33.59 (+4.1%)Bank the winner while it is still a winner. OCBC is the one position on this book with a real (25.93) and it is up 24.4% at 32.27, but tonight the signal that carried it broke down: conviction collapsed in a single session and the row prints an RSI divergence at RSI 71.8 on a 52-week breakout that has stopped confirming. The 12-week view is still constructive (33.59, +4.1%), which is precisely why this is a half-trim rather than an exit -- take the profit that deterioration is threatening and keep the other half working with a raised stop. ADR-0012 profit-take: ARMED (real Avg_Cost 25.93, Gain_ATR 10.93 >= 3.0, T12_Progress 96.07 >= 90) and FIRED on TWO ticks -- (a) RSI_DIV present alongside PROFIT_ARMED, (b) conviction = -38pts, well past the -20 threshold. Tick (c) does NOT fire: Est_12W 33.59 > 1.02 x 32.27 = 32.92, forward view alive. Tick (d) does not fire. 2 ticks -> profit_take_2 = 50%. G1 softening does NOT apply (signal is BreakoutUp_52W at cv46, not a fresh cv>=80 print) and tick (b) fires regardless of G1 in any case. Valuation amplify is NEUTRAL: MoS_FV -0.775 is not <= -3 so no tier bump, and the name is not UNDERVALUED so no down-tier -- the 50% stands on the signal alone. SG-7 satisfied: this is the ONLY sg holding with a genuine Avg_Cost, so it is the only name on which a profit-take may legitimately fire; the other 14 PROFIT_ARMED flags remain spurious (Avg_Cost NA). SG-8 does NOT suppress this card: the prior stalled O39 sell chain (08-05 -> 08-21, never executed) was formally WITHDRAWN on 09-02, so there is no pending de-risk being re-published -- this is a fresh origination on evidence that did not exist yesterday. Realized gain ~Son (25.93 -> 32.27). Remaining held with the stop raised 30.81 -> 31.30. Honest counterpoint on the record: not executing the earlier O39 trims (28.28/29.82 area) MADE money as the name ran to 32.27, and the counterfactual grader scores optional_trim as 'saved' n=54 -- but those were optional restraint on a still-strengthening name, whereas tonight's conviction collapse is the deterioration those holds were explicitly waiting for. 12wk 33.59 exceeds the DCF anchor 32.21, annotated not modified -- and for a bank the residual-income anchor (Bank_FV 17.75, FV_method ResInc) governs rather than the DCF column, which is unreliable for financials on this book (it prints 0.36 for U11). · news
J36Jardine Matheson58.42BUY — QUEUED @58.0758.0756.7458.46 (+0.7%)58.91 (+1.4%)60.53 (+4.2%)The first genuinely cheap new entry this book has been able to fund in weeks. Jardine Matheson is the only name on the scan that is both UNDERVALUED on intrinsic value (margin of safety +0.42, EPV 102.27 against a 58.42 close) and passes the quality screen outright -- and it prints a stable four-snapshot BUY at RSI 33 after a hard de-rate, so we are paying oversold prices for it rather than chasing. Entry is a limit 0.6% under the close, risk is capped 2.3% away at 56.74, and the 12-week view is +4.2%. Funded by tonight's OCBC trim rather than by adding leverage. Fusion: raw cv68 + val_adj +8 (MoS +0.4240 x 20, UNDERVALUED with Quality_Pass True) + bias 0 = adj 76. QUALITY GATE PASSED -- the only new-entry candidate tonight that clears it, which is what knocks out Z74 despite its higher Buy_Rank. Scorecard: MeanRevUp_LowerBand|buy has NO graded cell on this book -- bias 0 applied, stated not adjusted; this is an unproven family here. Stability: BUY on all four 09-04 snapshots -> versus AVOID cv50 at the 09-03 EOD, which RESOLVES the 09-03 same-session flip-flop that excluded it then. No chase: eD -0.26 with the close near the session high, so it queues as a GTC limit at the model's own Buy Limit @ 58.07 rather than buying at market; entry range 57.73-58.41 (+/-0.25 x ATR 1.3438). CURRENCY: J36 is USD-quoted on SGX (fairvalue Price_Currency = USD) while the book and its are SGD -- sizing assumes ~1.28 SGD/USD (the rate the Event Horizon uses for the C07 dividend). ASSUMPTION STATED because no FX column exists in the scan. Sizing: model ask 0.6918 x 200,000 x 0.20 = Sx1.25 UNDERVALUED modifier = S; capped by S ~= US -> 323. -> at the 100-share lot = US ~= SCAVEATS ON THE RECORD: (1) close 58.42 is BELOW the EMA200 63.77 with Momentum_Score 29 -- this is a counter-trend mean-reversion catch, not a trend entry, and it is bounded by the 56.74 stop rather than by trend support; (2) revenue is shrinking (Rev_Growth -4.4%, Growth_Used -5.58%) so the EPV rests on trailing NOPAT; (3) the 12wk band is very wide [48.79-78.00] at 80% coverage. Valuation context (not a dated catalyst): a Jan-2026 Yahoo DCF piece put fair value at USwith the stock then at US; it has since de-rated ~20% to 58.42, consistent with the +8 val_adj. The USdividend went ex 2026-08-20 -- already past, so no ex-div trap on a 09-07 fill, the exact arithmetic that misread C07 on 09-01. News classified 'none found' for 09-03/09-04. · news
D05DBS Group Holdings78.65HOLD78.8276.7678.43 (-0.5%)77.90 (-1.2%)81.21 (+3.0%)DBS qualifies on the numbers and is deliberately NOT being bought tonight. The signal is real -- adj 76, Buy_Rank #2, on the book's second-best graded buy family -- but it is already 29% of the portfolio, it is running hot (RSI 70 with a momentum divergence), and the entry is a stop ABOVE today's close, which means paying up. Most importantly we do not currently know the true position size, because last night's add appears to have executed and the holdings file has not been updated. Adding a third consecutive tranche on top of an unrecorded fill is how a book ends up unintentionally overweight one name. Mechanically D05 WINS the adj-76 tie against J36 on the Buy_Rank tiebreak (#2 vs #3); that mechanical tiebreak is OVERRIDDEN here, with reasons: (1) BLOCKING RECONCILE -- the 09-03 ADD 100 @77.93 gtc_stop had execute_on 09-04 and today OPENED at 78.30, above the 77.93 stop, so it triggered at the open and is presumed FILLED ~78.30, yet input/sgportfolio.json still reads 6,900; the position is either 6,900 or 7,000 and the sizing arithmetic differs, so per SG-8 the card is withheld and a single sync flag is emitted instead of a third stacked add. (2) SG-4 -- 'bank cores: hold through extension, add only on a pullback'; RSI 70.16 with RSI_DIV and a buy-stop 0.17 ATR ABOVE the close is exactly the extension-chase SG-4 forbids. (3) Both near-term estimates sit BELOW the action price (1wk 78.43 = -0.5%, 4wk 77.90 = -1.2%); only the 12wk (+3.0%) is positive, the same three-caveat shape flagged on 09-03. (4) is fully committed to the higher-quality entry that clears the valuation gate. Stop raised 75.91 -> 76.76 on the held 6,900. RE-ARM: reconcile the fill, then a non-extended BUY-ADD reprint (RSI < 68, eD <= 0) re-qualifies it.
D05DBS Group Holdings78.65QUEUE TRIGGERED @77.9377.9376.7678.43 (+0.6%)77.90 (-0.0%)81.21 (+4.2%)Reconcile line for the 09-03 buy-stop. A buy-stop at 77.93 with the session OPENING at 78.30 triggers immediately at the open, so this is presumed FILLED at ~78.30 (session low 77.94 never traded below the stop). input/sgportfolio.json still reads 6,900 -- record it TAKEN ('trade buy sg D05') or SKIPPED ('trade skip sg D05'). ADR-0019 human-book reconcile; blocks tonight's D05 card. Separately, the older 08-31 ADD 300 @77.20 was formally closed as not_executed on 09-01 in the ledger even though the memory kept flagging it -- treating it as CLOSED, not stale, and dropping it from the unreconciled list.
Z74Singtel4.52WATCH4.524.454.53 (+0.2%)4.56 (+0.9%)4.46 (-1.3%)Singtel is the loudest buy signal on the book tonight and is being declined anyway. It fails the fundamental quality screen, and its own 12-week projection points slightly LOWER than today's price -- a strong technical print on a name the valuation layer says is fully priced and going nowhere. Buy_Rank #1 at cv78, adj 75 (78 -3 +0) clears the conviction floor, but the QUALITY GATE is a HARD block on NEW entries and Z74 is flat : Quality_Pass False, F_Score 5, Composite_Rank 10.5, GROWTH_PRICED_IN at MoS -0.5987. Second, independent refusal: Est_12W 4.46 vs a 4.52 close = -1.33%, a negative forward view on a buy candidate. Third: the FailedBreakdown_Up_20D family has no graded buy cell here, and universal L1 explicitly discounts FailedBreakdown chases (~0.25 hit, stop-first ~60% on the parent book). Three independent grounds, all pointing the same way. RE-ARM: a Quality_Pass flip to True on the next fairvalue refresh, or a positive Est_12W.
BUOUFRASER L&C TRUST0.92HOLD0.920.960.92 (+0.0%)0.92 (+0.0%)0.93 (+1.1%)The loudest sell print on the book, refused -- and the fundamentals are the reason. Frasers L&C is trading below its stop and screening as a breakdown, but the trust itself is improving: portfolio occupancy up to 96.2%, logistics occupancy 99.7%, rental reversions +36.4%, gross revenue +2.8%. The unit is oversold at RSI 26 and the forward view still points UP. Selling Sof an improving asset into an oversold print, days before a rate event that is more likely to help REITs than hurt them, is not a risk reduction. SG-2 requires stop-break AND a negative 12-week view: leg 1 PASSES (0.915 vs the 0.96 carried stop, -4.69%), leg 2 FAILS (Est_12W 0.93 = +1.64%). Sell_Rank #1 at cv74 on BreakdownDown_20D, whose sell cell is n=2 and report-only -- no bias applied, stated not adjusted. Valuation cannot originate this: MoS -5.81 clears the SG-3 amplify trigger (read magnitude, ignore the miscalibrated REIT band) but amplify-only needs a qualifying signal-based sell to attach to, and SG-2 refuses it. Event Horizon puts the whole S-REIT sleeve on 'tighten-trail' for the 09-04 NFP leg that SGX prices Mon 09-07 -- the prescription is trail, not exit. Stop held 0.96; the model's own 0.89 sell-stop is BELOW the carried level and was not adopted (never lower a stop). · news
J69UFRASERS CPT TR2.14HOLD2.142.182.14 (+0.0%)2.14 (+0.0%)2.19 (+2.3%)Sell_Rank #2 refused on the same test as the rest of the REIT sleeve. SG-2 leg 1 PASSES (2.14 vs the 2.18 stop, -1.83%), leg 2 FAILS (Est_12W 2.19 = +2.34%). The engine wants an 80% reduction -- a near-full exit of S -- on a unit that is oversold at RSI 34.4 with a positive forward view. Scorecard: FailedBreakout_Down_20D|sell is the book's largest graded cell at n=73 and remains a coin-flip (hit_1w 0.507, hit_4w 0.384, bias 0) -- 73 samples say this exact label carries no edge on this book, which is the empirical core of SG-2. Valuation is blind here (NA row, no MoS), so nothing to amplify with even if a sell qualified. Horizon: 'tighten-trail' S-REIT leg into the 09-07 NFP repricing. Stop held 2.18; model 2.09 not adopted (lower).
A17UCapitaLand Ascendas REIT2.38HOLD2.382.422.38 (+0.0%)2.40 (+0.8%)2.45 (+2.9%)Fails before SG-2 is even reached. Adj 57 (60 -3 on the RallySell_BearTrend|sell cell, actionable at n=9, hit_1w 0.333) is 8 points BELOW the 65 floor, so the candidate never becomes eligible; SG-2 leg 2 would fail anyway (Est_12W 2.45 = +2.94%). The position is S -- trimming 80% of it books Sand is not a risk decision at any price. Worth recording that this name has now whipsawed cv85 (09-02, Sell_Rank #1) -> cv38 (09-03) -> cv60 (09-04) across three sessions, which is the continuing evidence for the 'one-bar family flip should not produce a Sell_Rank' finding. MoS -7.72 clears SG-3's amplify trigger but has no qualifying sell to attach to. Stop held 2.42.
HMNCAPITALAND and ASCOTT STAPLE U0.85HOLD0.850.880.85 (+0.0%)0.85 (+0.0%)0.87 (+2.4%)Adj 31 sits 34 points below the floor -- the weakest sell print on the book and not a candidate. SG-2 leg 1 passes (0.85 vs 0.88, -3.41%) but leg 2 fails (Est_12W 0.87 = +2.35%). Position S; an 80% trim books SBreakdownDown_52W|sell is n=1 (hit 0.0), report-only, no bias applied. Stop held 0.88.
S63ST Engineering10.48HOLD10.5110.4910.4510.39Still the book's most likely next disposal, and still not one tonight. Both L2 legs are met on the letter for a THIRD session -- close 10.48 below the 10.51 stop (-0.29%) and Est_12W 10.39 = -0.86%, negative -- but the breach NARROWED again (09-02 -0.19%, 09-03 -0.76%, tonight -0.29%), which is drift around the stop, not a decisive break. Refused on three grounds: (a) the standing numeric re-arm is a settled close below 10.40 and 10.48 misses it by eight cents; (b) the engine asks for nothing -- NO TRADE cv0, Portion 0, no Sell_Rank, NoTrade_Reason verbatim 'Consensus conflict + low conviction'; (c) -0.86% sits inside the estimator-resolution problem and would not clear a -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 SStop held 10.51 (no model stop printed).
U11United Overseas Bank42.01HOLD42.0141.2741.99 (-0.0%)41.91 (-0.2%)41.64 (-0.9%)Largest position at Sand the negative-forward-view watch has EASED, not tightened. Est_12W 41.64 vs a 42.01 close = -0.88%, materially improved from -2.28% on 09-03, and the close sits comfortably ABOVE the 41.27 stop, so L2 leg 1 fails and no exit case exists -- the same conclusion as 08-31 (when the de-risk card was withdrawn), 09-02 and 09-03. Signal is FailedBreakdown_Up_20D WATCH at cv63 with Trend_Score 78. Horizon: bank leg 'hold-through' for the 09-04 NFP that SGX prices Mon 09-07. Stop held 41.27; model 40.88 not adopted (lower).
PORTFOLIOSingapore MainWATCHn/an/an/a44th cycle, EOD 2026-09-04 settled close (18:00 SGT anchor; volume advanced 25/26, closes moved 18/26). 1 ACQUIRE + 1 DISPOSE + 0 ANTICIPATE -- the first non-empty DISPOSE in EIGHT cycles, and the book's first two-sided verdict in weeks. DISPOSE: O39 SELL 50% on a fired ADR-0012 profit-take, 2 ticks, +24.4% realized on the only holding with a real. ACQUIRE: J36 BUY queued @58.07, the first UNDERVALUED + Quality_Pass new entry the book has been able to fund, and the resolution of the 08-31 'QUALIFIED - UNFUNDED' card -- the trim is what funds it. Withheld: D05 (adj 76, wins the tiebreak, blocked on an unreconciled fill + SG-4 extension); Z74 (adj 75, Buy_Rank #1, hard quality-gate block + negative 12wk). Sell side refused for an EIGHTH consecutive cycle on the REIT sleeve -- all four prints fail SG-2, two of them on the 65 floor before leg 2 is reached. Seven stop breaches, all REIT/property, all with POSITIVE 12-week views; no stop lowered anywhere, two raised. : buys ~Sagainst Spowder -- before the Sof trim proceeds even settle. BLOCKING: D05 09-03 buy-stop presumed filled at the open, holdings still 6,900.

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.