Singapore — End-of-Day Verdict
30th cycle: O39 prints the board's **only** bullish actionable row (BUY - ADD cv73, BuyRank #1) and its profit-take **fires anyway** on 2 ticks — the ADD is rejected and the trim published at 30%; **B61 converts to a blocking sync flag exactly as promised**, leaving the book with ONE decision card; and the valuation layer is regenerated after going stale, moving O39's DCF anchor 25.10 → 32.21 and retiring the ⚠ annotation carried since 07-15
Recommendations
0 to acquire · 1 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 |
|---|---|---|---|---|---|---|---|---|---|
| O39 | OCBC Bank | 31.50 | SELL 30% | 31.50 | 30.05 | 31.35 (-0.5%) | 30.99 (-1.6%) | 31.59 (+0.3%) | OCBC has delivered a record half-year and the shares have run over 21% above our purchase price, but the market has now paid for that good news: our own 1-week, 4-week and 12-week projections are -0.5%, -1.6% and +0.3%, momentum is diverging at an overbought reading, and the stock trades above our estimate of what the bank is intrinsically worth. We bank roughly a fifth of the position, keep 70% invested to ride any further strength, and lift the protective stop. OPERATIONAL: ADR-0012 profit-take, ARMED on the one REAL Avg_Cost 25.9325 (SG-7 guard), Gain_ATR 7.69, T12_Progress 99.72, +21.47%. TWO ticks fire: (a) RSI_DIV returns to Exit_Warning at RSI 76.62 (cleared 08-12, back tonight); (c) dead 12wk, Target_12Week 31.59 < 1.02 x 31.50 = 32.13. Tick (b) does NOT fire (conviction ROSE; tick (d) N/A. G1 softening does NOT apply - MomentumContinuation_Up at cv73 is 7 points short of the cv>=80 precondition, and tick (c) fires regardless. G3's precondition fails at +0.3% 12wk. MECHANICALLY 2 ticks = profit_take_2 = 50%, but SG-8 CAPS THE SIZE AT THE CARRIED 30% - this is the 3rd publication (08-11 50%, 08-12 30%, tonight) with no change; re-escalating would make it ->, the exact churn systemic finding #2 named. SG-8 THRESHOLD REACHED: unexecuted at the next EOD and it converts to a blocking sync flag. THE SAME ROW IS A BUY - ADD cv73 AT BUY_RANK #1 (adj 75, the highest fused score on the book) AND THAT ADD IS REJECTED - dead-to-negative forward view, SG-4 bank-core discipline, active RSI_DIV at RSI 76.6, 47c ex-div 08-17 taking 1.49% out mechanically, and a one-print label change (HOLD cv71 at 15:00/16:00/16:30 -> BUY-ADD only at the 18:00 settle). Valuation MoS -0.774 is far from the <=-3 tier bump - no escalation. DCF ANNOTATION RETIRED: the regenerated CSV puts DCF_per_share at 32.21 (was 25.10 stale), so Target_12Week 31.59 no longer exceeds the anchor. Scorecard is honestly against the trim: MomentumContinuation_Up|BUY is +6 actionable (hit_1w 0.80, hit_4w 1.00) and the optional_trim counterfactual (n=48, median +2.80%/4wk) says restraint pays - which is why this is 30% and 70% rides on. Banked 300 x (31.50 - 25.9325) = S; residual. Trail RAISED 29.73 -> 30.05 (live 2.0xATR chandelier), then rebase to 29.58 at the 08-17 open for the 47c ex-dividend. Forfeits Sof dividend on the; residual still collects STarget_Price 36.01 is the risk objective, distinct from the 4wk estimate. · news |
| B61 | BT SEMBAWANG EST | 4.49 | HOLD | 4.49 | 4.62⚠ | 4.49 (+0.0%) | 4.49 (+0.0%) | 4.54 (+1.1%) | We have recommended reducing this position three times and it has not been acted on, so tonight we stop re-issuing the same instruction and flag it as an execution problem rather than a decision one. The holding record needs to be brought up to date before we can sensibly decide anything further on it. OPERATIONAL: SG-8 FIRES - card published 08-07, 08-11, 08-12 (3 cycles) with the monitor reporting NO change on any; the 08-12 entry stated this conversion in advance and it is executed as promised. Decision NOT reversed, size NOT re-escalated ( / 30% stands). Reconcile input/sgportfolio.json to make it actionable again. FOR THE RECORD: close 4.49 (from 4.53), 5TH consecutive session below the ex-div-rebased 4.62 stop (-2.81%), NO TRADE cv0 on all six intraday prints ('Consensus conflict + low conviction'), RSI 33.46, below EMA20 4.600 / EMA50 4.598, above EMA200 4.450. Today's MTM loss Son a Sposition. THE SCORECARD ARGUES THE EXIT WAS NEVER SOUND: NoTrade|sell is -10 at n=7 with hit_1w AND hit_4w both 0.000, and L2's negative-12wk limb FAILS (Est_12W 4.54 = +1.1% ABOVE close). Blocking is doubly correct - SG-8 on execution grounds, the scorecard on merit. Sdividend (ex 08-05) pays 08-15: Sreceivable regardless. |
| HMN | CAPITALAND and ASCOTT STAPLE U | 0.86 | HOLD | 0.86 | 0.88⚠ | 0.86 (+0.0%) | 0.86 (+0.0%) | 0.87 (+1.2%) | A small residual holding we decided to exit weeks ago and which has still not been sold. We are not re-deciding it - the instruction stands, the records simply need updating. OPERATIONAL: SG-8 sync flag, CYCLE 5. Published 08-06, 08-07, 08-11; blocked 08-12 and again tonight. = Sa de-minimis stub. Close 0.855 vs the 0.88 stop for a 7TH session (-2.84%), below EMA20 0.870 / EMA50 0.874 / EMA200 0.872. Label improved cosmetically (STRONG SELL - REDUCE cv33 -> AVOID cv50) but BreakdownDown_20D and the 7-session break are unchanged; Est_12W 0.87 (+1.2%) is dead flat. Decision NOT reversed, size NOT re-escalated ( / 100%). |
| D05 | DBS Group Holdings | 76.50 | HOLD | 76.50 | 73.70 | 76.17 (-0.4%) | 75.59 (-1.2%) | 78.28 (+2.3%) | DBS has recovered strongly through the session and carries the best 12-week outlook of any bank we own, but it is not yet giving us a buy trigger and it pays its dividend tomorrow. We wait for the shares to trade without the dividend before considering adding. OPERATIONAL: conviction RECOVERED with a monotonically strengthening intraday path (46/46/53/53/63/71); adj 68 clears the floor BUT the Action is HOLD, not BUY - ADD, so it is NOT in the buy pool - the 08-12 withdrawal set the re-arm at a cv>=65 BUY-ADD reprint post-ex. 81c EX-DIVIDEND TOMORROW 08-14 (66c ordinary + 15c capital return, CONFIRMED in the horizon file), so the earliest legitimate re-arm is the 08-14 settle on the ex-price. Est_12W 78.28 = +2.3%. STOP RAISED 73.54 -> 73.70 (live model stop), THEN REBASE TO 72.89 AT THE 08-14 OPEN or D05 prints a phantom breach on the ex-open. RE-ARM: cv>=65 BUY-ADD reprint at or below the live model entry, 08-14 or later. |
| U11 | United Overseas Bank | 41.70 | HOLD | 41.70 | 42.15⚠ | 41.67 (-0.1%) | 41.70 (+0.0%) | 42.00 (+0.7%) | UOB has slipped below our protective level for a second day and the signal has weakened, but our 12-week view on it is still positive and the shares go ex-dividend on Monday, which will mechanically account for most of the shortfall. The corporate news is good. We hold, with a clearly defined trigger that would change our mind. OPERATIONAL: 2ND consecutive stop break, 41.70 vs 42.15 (-1.07%), on the book's LARGEST position ( = S). Signal degraded HOLD cv51 -> AVOID cv41, family flipped to RallySell_BearTrend (bias -3, actionable), below EMA20 42.73, barely above EMA50 41.54, RSI 42.29. SG-2 FAILS for the 2nd session: Est_12W 42.00 is +0.7% POSITIVE and SG-2 requires stop-break AND negative 12wk. The break is 1.6% from being made moot by the 08-17 rebase to 41.27 (88c interim, CONFIRMED by horizon + search). NEWS CONFIRMS HOLD: S UOBAM sale to Allianz Global Investors announced 08-05, ~S pre-tax gain, closing 2027, plus a long-term distribution partnership. WATCH TRIGGER UNCHANGED AND ONE LIMB FROM FIRING: a close below 42.15 before 08-17 on a NEGATIVE Est_12W makes U11 the immediate lead dispose. · news |
| A17U | CapitaLand Ascendas REIT | 2.44 | HOLD | 2.44 | 2.42 | 2.44 (+0.0%) | 2.46 (+0.8%) | 2.46 (+0.8%) | Ascendas REIT went ex-distribution today, so the drop in the share price simply reflects the half-year payout leaving the stock. We have adjusted our protective level by the same amount; on that corrected basis nothing has actually broken. OPERATIONAL: PHANTOM BREACH RESOLVED. The 1H DPU of 7.482c went ex TODAY on a 2.49 close; the rebase was scheduled for the 08-13 open and WAS NOT APPLIED, which is why the monitor reports a 2.01% 'breach' at 2.44. STOP REBASED 2.49 -> 2.42 tonight - 2.44 clears it. The NO TRADE cv0 -> AVOID cv53 flip on RallySell_BearTrend is an ex-div artifact in the trend pillars, not a signal. Est_12W 2.46 = +0.8%. Same failure mode as the B61 08-05 incident; see systemic finding #5. |
| J69U | FRASERS CPT TR | 2.21 | HOLD | 2.21 | 2.18 | 2.21 (+0.0%) | 2.21 (+0.0%) | 2.26 (+2.3%) | Frasers Centrepoint Trust keeps flashing warning labels that have repeatedly proved unreliable on this book. Tonight the warning actually eased, the price is still above our protective level and our 12-week view remains positive, so there is no basis to sell. OPERATIONAL: SG-2 FAILS FOR THE 10TH TIME, and the label RETREATED - STRONG SELL - REDUCE cv69 -> AVOID cv60, and it no longer holds Sell_Rank #1. Close 2.21 is ABOVE the recorded 2.18 stop; Est_12W 2.26 = +2.3% POSITIVE. Cell is 0 (n=73, hit.507) - a coin flip. Still below all of EMA20 2.242 / EMA50 2.251 / EMA200 2.246. SG-5 rejects trusting an SG sell label on its own. Stop held 2.18. |
| S68 | Singapore Exchange | 24.97 | HOLD | 24.97 | 24.01 | 24.99 (+0.1%) | 24.83 (-0.6%) | 24.82 (-0.6%) | SGX was the steadiest holding on the board today - unchanged in price with a signal that firmed rather than faded. Our 12-week view is still fractionally below today's price, so we hold without adding. OPERATIONAL: HOLD cv63, the most stable intraday path in the book (56/56/56/63/63/63). Close 24.97, flat. Est_12W 24.82 = -0.6%, still the only held bank/exchange name with a negative forward view but improved from -1.1%. Trail held 24.01 (live model stop 23.93 - never lower a stop). Singtel Q1 update 08-18 reads across via the index. |
| 9CI | CapitaLand Investment | 2.75 | HOLD | 2.65 | 2.62 | 2.75 (+3.8%) | 2.76 (+4.2%) | 2.86 (+7.9%) | CapitaLand Investment reported half-year results today and the shares rose over 2%. Holding through the announcement was the right call. The stock has now run well ahead of where we would be willing to add, so we keep what we have and wait for a pullback. OPERATIONAL: catalyst-aware hold VINDICATED - close 2.75 (+2.2%) on 19.1m shares, 1H 2026 results CONFIRMED landed today. The engine printed BUY - ADD cv70 at 15:00, 16:00 AND 16:30 then DECAYED 20 points to HOLD cv50 at the settle - L4 (settled close authoritative) and L6 (no post-earnings gap-chase) both say do not act on the intraday spike. Entry_Distance_ATR -1.70: the close sits 1.7 ATR PAST the 2.65 model entry, the no-chase rule's exact definition of extended. Est_12W 2.86 = +4.0%, best forward view in the held property complex. WATCH for a NON-EXTENDED BUY-ADD reprint on a pullback toward 2.65. Stop 2.62. |
| S63 | ST Engineering | 10.36 | HOLD | 10.36 | 9.58 | 10.39 (+0.3%) | 10.50 (+1.4%) | 10.37 (+0.1%) | ST Engineering's half-year numbers landed today without incident - the shares finished slightly higher and our forward view has recovered from marginally negative to flat. The exit case flagged yesterday did not materialise. OPERATIONAL: catalyst-aware hold VINDICATED. Close 10.36 (+0.8%), NO TRADE cv0 on all six prints, RSI 46.11, still below EMA20 10.41 and EMA50 10.57. Est_12W 10.37 = +0.1%, UP from -0.4% - the L2 candidacy flagged on 08-12 did not trigger. Stop held 9.58. |
| C07 | Jardine C&C | 27.29 | HOLD | 27.29 | 26.38 | 27.69 (+1.5%) | 28.41 (+4.1%) | 28.36 (+3.9%) | On our intrinsic-value work Jardine Cycle & Carriage is the cheapest thing we own by a wide margin - the only holding that is simultaneously undervalued, high quality and screening as a bargain. The trading signal, however, is completely absent, so there is nothing to act on yet. OPERATIONAL: the regenerated CSV confirms C07 as the ONLY name that is UNDERVALUED + Bargain True + Quality_Pass True: MoS_FV +0.628, FV_per_share 73.39 vs a 27.29 close, val_adj +10 (the MAXIMUM). But conviction is cv0 ('Consensus conflict + low conviction'), down from cv51, after printing STRONG SELL - REDUCE cv28 at the open - there is nothing to add +10 to. Below EMA20 27.89 / EMA50 28.25 / EMA200 29.72. Held = Sstop 26.38. RE-ARM on any BUY-family reprint at cv>=55 - the +10 clears the 65 floor from there. J36 ex-div 08-20 is a correlated drag. |
| C38U | CapitaLand Integrated Comm Tr | 2.45 | WATCH | 2.48 | 2.42 | 2.45 (-1.2%) | 2.46 (-0.8%) | 2.47 (-0.4%) | CICT has faded for three straight sessions since its results and has now given back the whole signal that made it a candidate. It also fails our quality screen and looks extremely expensive against what we think it is worth. We pass. OPERATIONAL: BUY cv73 (08-11) -> BUY cv60 (08-12) -> WATCH cv34 tonight, price fading 2.50 -> 2.49 -> 2.45. Quality_Pass FALSE is a HARD BLOCK on an unheld new entry; MoS_FV -42.24 is the most extreme reading in the book -> val_adj -10 -> adj 24, FORTY-ONE points under the floor. Three independent reasons, one verdict. |
| S58 | SATS | 4.68 | WATCH | 4.74 | 4.60 | 4.67 (-1.5%) | 4.67 (-1.5%) | 5.03 (+6.1%) | SATS is not a buy today, but it remains the best-shaped company we do not own: it passes our quality screen, screens as a bargain, is not chasing a rally, and carries the strongest 12-week upside on our unheld list. Worth watching for an entry signal. OPERATIONAL: WATCH cv44 - not in the buy pool, no action. Entry_Distance_ATR +0.56 (below the model entry, NOT extended); Quality_Pass True; Bargain True; Est_12W 5.03 = +7.5%, healthiest forward view of any unheld name. NOTE the regenerated valuation is WORSE than the stale file implied: MoS_FV -2.346 gives val_adj -10, and the 08-12 card recorded 0 in error (systemic finding #4). The 08-05 buy-stop @4.85 was withdrawn 08-06 and remains unfilled. Watch for a BUY reprint. |
| F34 | Wilmar International | 3.71 | WATCH | 3.71 | — | 3.72 (+0.3%) | 3.71 (+0.0%) | 3.68 (-0.8%) | Wilmar has continued to weaken after its results and is now untradeable on our screens. It is out of contention entirely. OPERATIONAL: WATCH cv53 -> NO TRADE cv0. NoTrade_Reason verbatim: 'Liquidity gate failed'. Close 3.71, below EMA20 3.88 and EMA50 3.80. Est_12W 3.68 is -0.8% BELOW the close - a negative forward view on a prospective new entry. RE-ARM requires a cv>=80 reprint with a non-negative 12wk. |
| N2IU | Mapletree PanAsia Com Tr | 1.27 | HOLD | 1.27 | 1.27⚠ | 1.27 (+0.0%) | 1.28 (+0.8%) | 1.28 (+0.8%) | Mapletree PanAsia is sitting exactly on our protective level but has not broken it, and our 12-week view is still marginally positive. No action, but it is on the watch list. OPERATIONAL: close 1.27 EXACTLY at the 1.27 stop (0.00% breach) - touching, not broken. AVOID cv41 on RallySell_BearTrend (bias -3 actionable). Est_12W 1.28 = +0.8%, so SG-2's negative-12wk limb fails. Fails the liquidity gate in any case. Spurious PROFIT_ARMED (SG-7, no real Avg_Cost). Stop held 1.27. A decisive close below makes this a live L2 candidate. |
Outcome & track record