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

Singapore — End-of-Day Verdict

EOD 2026-09-07 (SGT settled close)

Recommendations

1 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
V03Venture Corporation16.91BUY — QUEUED @16.9116.9116.7416.93 (+0.1%)16.90 (-0.1%)16.86 (-0.3%)Venture Corporation is the strongest buy print on the book tonight -- Buy_Rank #1, conviction 78 and strengthening through the close -- and it is the only new-entry candidate that clears the hard quality screen (F-Score 6, Quality_Pass True) while trading above all of its moving averages with the highest momentum reading in the portfolio. The company is debt-free with S11bn of cash and has just raised its interim dividend 20% to S (ex-date 31-Aug, already past, so there is no dividend drop waiting to hit a new buyer). The attraction is the shape of the risk rather than the size of the prize: the stop sits barely 1% below the entry against a 3% objective, which is the tightest defined risk available on this book. OPERATIONAL: adj 76 = raw 78 + val_adj -2 (MoS -0.3895 x 5, GROWTH_PRICED_IN) + bias 0. Risk objective Target_Price 17.42 (+3.0%), distinct from the 4wk estimate. Entry range 16.85-16.97 (+-0.25 x ATR 0.2553); eD 0.00 so this is at the model entry, no chase. Queued as a GTC limit rather than taken at market because the is contingent (see below) and V03 has traded below 16.91 on 11 of the last 12 sessions, so a limit at the model entry is a high-probability fill. THREE CAVEATS ON THE RECORD: (1) all three model horizons are flat-to-negative -- 1wk +0.12%, 4wk -0.06%, 12wk -0.30% -- so the estimator forecasts no 12-week upside and the 17.42 objective sits ABOVE the entire three-week trading range (16.64-16.97); (2) the identical FailedBreakdown_Up_20D BUY fired on this same name at 16.88 on 08-31 (cv71, Buy_Rank #2) and delivered +0.2% over five sessions while its own Est_12W drifted 17.21 -> 16.86, so tonight is a louder label on a materially identical setup; (3) FailedBreakdown_Up_20D|buy has ZERO graded samples on this book (bias 0 stated, not adjusted) and universal L1 explicitly discounts FailedBreakdown chases (~0.25 hit, ~60% stop-first on the parent book). CONTINGENT: sized = Sagainst of Sthat assumes BOTH 09-04 cards executed today (J36 out at SO39 in at S). If the O39 trim was NOT executed, confirmed is only Sand this order must be cut to. Reconcile input/sgportfolio.json before the 09-08 open. Est_12W 16.86 exceeds DCF_per_share 9.54 -- annotated, not modified. No V03 event inside the horizon window (09-17 NODX, stance none). · news
J36Jardine Matheson59.26QUEUE FILLED @58.0758.0756.74n/an/an/aThe Jardine Matheson buy order placed on Thursday filled today. The stock traded down to 57.96 -- through our 58.07 limit -- before rallying to close at 59.26, so the position is already about 2% in profit on the day it was bought. Nothing about the case has changed: it remains the only genuinely cheap, quality-screened name the book could afford. OPERATIONAL: session low 57.96 < 58.07 limit -> PRESUMED FILLED at 58.07, = US ~= Sat ~1.28 SGD/USD. Close 59.26 = +2.05% vs fill. UNRECONCILED (ADR-0019, managed_by human): input/sgportfolio.json carries no J36 row at all -- record it TAKEN ("trade buy sg J36") or SKIPPED ("trade skip sg J36"). Stop HELD at 56.74 (the card stop). Tonight J36 prints AVOID cv71 with a model Stop_Price of 59.26 that EQUALS the close -- a degenerate short-side stop on an AVOID label, NOT applied to a long-only book. Est_12W 61.41 vs the 59.26 close = +3.6%, forward view alive and improved from the fill. Queue is now closed; the 2026-09-09 expiry is moot.
O39OCBC Bank31.88SELL 500 FILLED @32.1432.1431.3031.74 (-1.2%)31.57 (-1.8%)33.27 (+3.5%)Thursday night's decision to bank half the OCBC position executed at this morning's open around 32.14, realising roughly Sof gain -- about +24% on the shares sold, on the one holding in this book with a genuine. The remaining half is still working: the stock closed at 31.88, conviction has recovered rather than deteriorated further, and the 12-week view remains alive, so there is no case for taking the second half. The trailing stop stays where it is. OPERATIONAL: market-at-open fill ~32.14 (session open and high were both 32.14, low 31.73) vs the 32.27 anchor reference = -0.40% slippage. Realised 500 x (32.14 - 25.93) = S, +23.95%. UNRECONCILED (ADR-0019): input/sgportfolio.json still reads -- record it TAKEN ("trade sell sg O39") or SKIPPED. ADR-0012 RE-CHECK TONIGHT ON THE REMAINING 500: still ARMED (Avg_Cost 25.93 real, Gain_ATR 10.40, T12_Progress 95.82, +22.93%) but NOT FIRED -- (a) no other Exit_Warning code, PROFIT_ARMED now prints alone (the RSI_DIV that fired 09-04 has cleared, RSI 65.5); (b) conviction, UP not down; (c) Est_12W 33.27 > 1.02 x 31.88 = 32.52, forward view alive; (d) not NO TRADE. Zero ticks -> no second trim. The mandated armed-but-not-fired trail-raise is MOOT this session because the price FELL 32.27 -> 31.88: the carried 31.30 already sits 1.0x ATR below the close and the model Stop_Price 30.13 and the 2.0x-ATR chandelier 30.74 both print BELOW it. Stop HELD 31.30, not lowered. Note O39 now prints PullbackBuy_VWAP with a Buy Limit @31.27 and eD -1.07 -- extended, HOLD cv53, not a buy candidate, and SG-4 forbids chasing bank-core extension in any case.
Z74Singtel4.56WATCH4.564.56 (+0.0%)4.58 (+0.4%)4.49 (-1.5%)Singtel again prints a solid buy signal and again we pass. The model itself expects the shares to be lower in twelve weeks than they are today, and buying a name the forecast does not believe in is not a swing trade. The long-run valuation case is genuinely attractive and we keep it on the watch list, but we want the forward view to turn positive first. CORRECTION ON THE RECORD: the 09-04 entry blocked Z74 on the hard quality gate, stating Quality_Pass = False. That was a read error, not a data change -- the same sg_fairvalue_T0.csv (FetchedAt 2026-08-31) shows Z74 Quality_Pass = TRUE (F_Score 5, Composite_Rank 10.5). The quality gate does NOT block Z74 and never did. The refusal tonight rests on the two grounds that were always valid: (a) Est_12W 4.49 vs a 4.56 close = -1.54%, a negative forward view on a buy candidate, materially worse than V03's -0.30%; (b) L1 discounts FailedBreakdown chases and the family has NO graded cell on this book. Adj 70 = raw 73 + val_adj -3 + bias 0 -- it clears the 65 floor and would have been the second acquire on forward view alone. Re-arm: a positive Est_12W print. Horizon: FTSE ST September review 09-21, weight-only, stance none. · news
BN4Keppel11.79WATCH11.7411.0911.78 (+0.3%)11.81 (+0.6%)11.51 (-2.0%)Keppel flipped to a buy signal on the closing print and lands on the single best-performing signal family this book owns, but it fails the quality screen outright and the model expects it lower in three months. Two independent refusals, so no order. OPERATIONAL: new entry -> the HARD quality gate applies and Quality_Pass = False (F_Score 6, Composite_Rank 13.0, Quality_Rank 14 -- the worst in the buy pool), which blocks new entries outright. Independently: adj 52 = raw 62 + val_adj -10 (MoS -2.9966 x 5 = -15, clamped) + bias +10 (BreakoutUp_20D|buy, n=6, hit_1w 1.00 -- the book's ONLY positive actionable buy cell), which is BELOW the 65 floor even with the maximum favourable bias applied. Also a single-print flip (WATCH -> -> BUY 62) with no stability, and Est_12W 11.51 vs an 11.79 close = -2.4%. Worth flagging that the book's best cell and its hardest gate pointed in opposite directions here; the gate wins because it is a hard gate. Re-arm: Quality_Pass flipping True on the next fairvalue refresh AND a multi-print BUY.
BUOUFRASER L&C TRUST0.92HOLD0.920.960.92 (+0.0%)0.92 (+0.0%)0.94 (+2.2%)Frasers Logistics is the loudest sell signal on the book and we are declining it for the ninth cycle running. The trust is trading below our stop, but the model still sees the price HIGHER in twelve weeks, the units are oversold at RSI 31, and the underlying business is improving -- occupancy 96.2%, logistics assets 99.7% let, rental reversions +36.4%. Selling S of an improving asset into weakness, days before a rate event that would help it, is not risk reduction. OPERATIONAL: SG-2 requires stop-break AND a negative 12wk. Leg 1 PASSES (0.92 vs the 0.96 stop, -4.17%); leg 2 FAILS (Est_12W 0.94 vs 0.92 = +2.2%). Adj 78 = raw 78 + bias 0 (FailedBreakout_Down_20D|sell, n=73, hit_1w 0.507 -- seventy-three samples of a coin flip, the empirical core of SG-2). MoS -5.81 clears the SG-3 amplify trigger but amplify-only needs a qualifying signal-based sell to attach to and there is none. Label was unstable intraday (S-RED 74 -> HOLD 60 -> S-RED 70 -> HOLD 60 -> SS-RED 78). Horizon puts the whole S-REIT sleeve on tighten-trail for 09-11 CPI, 09-16 FOMC and 09-18 BoJ -- the prescription is trail, not exit. Stop HELD 0.96. · news
A17UCapitaLand Ascendas REIT2.39HOLD2.392.422.39 (+0.0%)2.41 (+0.8%)2.48 (+3.8%)Ascendas REIT prints a strong sell label for the third session running, but the model still projects the units 4% higher in twelve weeks and the whole position is worth under S -- an 80% trim would book Sand reduce nothing. Holding. OPERATIONAL: SG-2 leg 1 PASSES (2.39 vs the 2.42 stop, -1.24%); leg 2 FAILS (Est_12W 2.48 vs 2.39 = +3.8%, the largest positive forward view in the sell pool). Adj 71 = raw 71 + bias 0. Position = Simmaterial at any price. MoS -7.72 would amplify if a qualifying sell existed; none does. Whipsaw history continues: cv85 (09-02) -> 38 (09-03) -> 60 (09-04) -> 71 tonight. Horizon: tighten-trail. Stop HELD 2.42.
J69UFRASERS CPT TR2.15HOLD2.152.182.15 (+0.0%)2.16 (+0.5%)2.19 (+1.9%)Frasers Centrepoint has held the same sell label all day without varying, which reads as a stuck print rather than fresh information, and the model still sees the units higher in twelve weeks. We are not cutting S of an oversold retail REIT on a label whose historical hit rate here is a coin flip. OPERATIONAL: SG-2 leg 1 PASSES (2.15 vs the 2.18 stop, -1.38%); leg 2 FAILS (Est_12W 2.19 vs 2.15 = +1.9%). Adj 71 = raw 71 + bias 0 (the n=73 / 0.507 cell). Identical STRONG SELL - REDUCE cv71 on all five snapshots including the prior EOD -- zero intraday variation. Valuation is NA on this row so val_adj is 0 and the gate is off. RSI 38.25. Position = SHorizon: tighten-trail. Stop HELD 2.18.
N2IUMapletree PanAsia Com Tr1.24HOLD1.241.311.25 (+0.8%)1.26 (+1.6%)1.28 (+3.2%)Mapletree PanAsia carries the deepest stop breach on the book, but the label flickered on and off twice during the session and the model projects the units more than 3% higher in twelve weeks. A sell signal that cannot hold for two consecutive prints is not a basis for cutting S. OPERATIONAL: SG-2 leg 1 PASSES (1.24 vs the 1.31 stop, -5.34%, the deepest breach); leg 2 FAILS (Est_12W 1.28 vs 1.24 = +3.2%). Adj 71 = raw 71 + bias 0. Label flip-flopped AVOID 57 -> AVOID 63 -> SS-RED 71 -> AVOID 57 -> SS-RED 71 -- a one-bar family flip at the closing print producing a Sell_Rank, the exact pattern flagged as a standing systemic finding. MoS -0.24 does not reach the SG-3 amplify trigger. Horizon: tighten-trail (09-18 BoJ hike is the live risk for this name). Stop HELD 1.31.
HMNCAPITALAND and ASCOTT STAPLE U0.85HOLD0.850.880.85 (+0.0%)0.86 (+1.2%)0.87 (+2.4%)CapitaLand Ascott prints a sell label at a conviction so low it does not reach our action threshold, on a Sposition, with the model still projecting the units higher. No action. OPERATIONAL: adj 33 = raw 33 + bias 0 -- fails the 65 floor before SG-2 leg 2 is even reached (which it would also fail: Est_12W 0.87 vs 0.85 = +2.4%). Stop break -3.41%. Position = SHorizon: tighten-trail. Stop HELD 0.88.
S63ST Engineering10.40HOLD10.4010.5110.39 (-0.1%)10.37 (-0.3%)10.31 (-0.9%)ST Engineering is the closest thing this book has to a live exit case and it missed the trigger by one cent for a fourth session. The shares are below our stop, all three model horizons are now negative, and the weakness is clean -- the August dividend was paid on 04-Sep and went ex weeks ago, so this is real price decay, not a payout artefact. The engine still asks for nothing, so we hold and watch one more session. OPERATIONAL: L2 both legs met on the letter for a FOURTH consecutive cycle. Leg 1: close 10.40 vs the 10.51 stop = -1.05% -- and the breach has now DEEPENED past 1% for the first time (09-02 -0.19%, 09-03 -0.76%, 09-04 -0.29%, tonight -1.05%). Leg 2: Est_1W 10.39 (-0.10%), Est_4W 10.37 (-0.29%), Est_12W 10.31 (-0.87%) -- ALL THREE negative, stronger than 09-04 when only the 12wk was. Close is below EMA20 10.57 and EMA50 10.59, above EMA200 10.02. REFUSED on two grounds, and deliberately NOT on a third: (a) the book's own standing numeric re-arm is a settled close BELOW 10.40 and it closed AT 10.40 (session low 10.39) -- moving that goalpost after the fact is the discipline failure this book criticises elsewhere; (b) the engine asks for nothing -- NO TRADE cv0, Portion 0, no Sell_Rank, NoTrade_Reason verbatim "Consensus conflict + low conviction". MoS -10.50 would amplify one tier under SG-3 the moment a qualifying sell exists. Position = SRE-ARM, UNAMBIGUOUS AND FINAL: a settled close at 10.39 or below with Est_12W still negative arms the L2 exit -- and per L3/SG-1 it must then be ACTED ON at the next open, not deferred a fifth time. Stop HELD 10.51.
D05DBS Group Holdings78.47HOLD78.4776.7678.34 (-0.2%)77.86 (-0.8%)80.59 (+2.7%)DBS cooled from a buy signal to a hold today, which resolves last night's withheld add without us having to decide anything -- the name simply stopped asking. The stop moves nowhere and the position stands. OPERATIONAL: BUY - ADD cv73 at the 09-04 EOD -> HOLD cv46 -> -> 53 tonight. No longer in the buy pool, so the 09-04 withholding is moot rather than carried. RSI cooled 70.16 -> 68.63 and the RSI_DIV warning has cleared (Exit_Warning now PROFIT_ARMED alone -- spurious per SG-7, Avg_Cost is NA). Est_12W 80.59 vs the 78.47 close = +2.7%, forward view alive. STILL UNRECONCILED from 09-03 (ADR-0019): the ADD 100 @77.93 gtc_stop is presumed filled at ~78.30 and input/sgportfolio.json still reads 6,900 -- record it TAKEN or SKIPPED. Largest position at ~S. Stop HELD 76.76 (model prints 76.53, below the carried level). Horizon: 09-11 CPI and 09-16 FOMC bank leg, both hold-through.
PORTFOLIOSingapore MainWATCHn/an/an/a45th cycle. One acquisition, no disposals. The book bought Venture Corporation on a queued limit at the model entry -- the strongest and only quality-screened buy print available -- while declining the entire REIT sell sleeve for a ninth consecutive cycle because every one of those names, though below its stop, is still projected higher in twelve weeks. Both of Thursday's orders executed today: the Jardine Matheson buy filled at 58.07 and closed 2% up, and the OCBC half-trim banked about SOPERATIONAL: anchor output/sg_signals_20260907_180013.csv (settled close verified -- volume advanced 25/26 rows, closes moved 17/26). Sell side: BUOU/A17U/J69U/N2IU all pass SG-2 leg 1 on stop-break and all FAIL leg 2 on positive Est_12W (+2.2%, +3.8%, +1.9%, +3.2%); HMN fails the 65 floor at adj 33. O39 re-checked and ARMED but NOT FIRED (zero ticks). S63 misses its L2 re-arm by one cent for a fourth cycle. is the live risk: the V03 order is sized against Sof that assumes both 09-04 fills, and the book is UNRECONCILED on three items (J36 buy, O39 sell, and the 09-03 D05 buy-stop). L8: executes at the 09-08 open.

Outcome & track record

Accuracy at the time of this record.

126 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.