Today's recommendations
0 to acquire · 2 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 |
|---|---|---|---|---|---|---|---|---|---|
| J36 | Jardine Matheson | 58.31 | SELL 50% | 58.31 | 56.74 | n/a | n/a | 46.03 (-21.1%) | We are selling half of Jardine Matheson because its trend has broken and has not repaired. The shares closed lower again at S, still under all four of the moving averages we track (20-, 50-, 100- and 200-day), and the model's three-month view sits about 21% lower at S; the stock screens as cheap on intrinsic value, which is why we cut half rather than all of it. Ops: supersedes the four unexecuted 09-08..09-11 J36 cards (withdrawn - they were written execution=market_open, which the auto-executor does not accept; S3). Tier held at 50% per W4 (card unfilled, basis unchanged); label softened STRONG SELL - REDUCE cv71 x2 -> AVOID cv50 but the gate-immune trend exit (below EMA200 63.44 + negative 12wk) stands and the close made a lower low vs origination (T3 carry). PROFIT_ARMED is a false arm (R2/W5: 12wk 46.03 < cost 58.07). Printed Stop_Price 60.93 sits ABOVE the close - rejected (W6); stop held 56.74. Full exit only on a settled close below 56.74 (L2). · news |
| Z74 | Singtel | 4.46 | SELL 30% | 4.46 | 4.45 | n/a | n/a | 4.46 (+0.0%) | We are cutting 30% of Singtel because the position is now losing money and has closed below the risk line we set. The shares settled at S, under our Sline and 1.3% below our Scost, the model has gone back to 'no trade' on conflicting readings, and its three-month view is flat at S - no forward reason to keep full size. Ops: RE-BASED from a profit-take to a risk de-risk - the prior PROFIT_ARMED + tick (c) basis is void (W5/R2: Gain_ATR -0.80, 12wk 4.46 < cost 4.52). Tier held at 30% (W4), lot-rounded. Not a full exit: L2 needs a negative 12wk and it is flat (0.0%); close still above the 4.45 model stop the position was bought on (09-04 card). Residual 43,300 stop re-based 4.50 -> 4.45 per W10 (over-ratcheted watermark, price closed between); a settled close below 4.45 is the full-exit trigger. Supersedes the four unexecuted 09-08..09-11 Z74 cards (withdrawn, market_open). · news |
| D05 | DBS Group Holdings | 77.66 | HOLD | 77.66 | 76.65 | 77.87 (+0.3%) | 79.34 (+2.2%) | 88.60 (+14.1%) | We are holding DBS in full: conviction strengthened from, the shares closed up at Sabove their 20-day average, and the three-month view is about 14% higher at S. With the US Fed deciding on 16-17 September we hold through the event rather than trade into it. Ops: W10 re-base - the 77.93 watermark sat above the engine's own stop for four sessions and produced a nightly breach alarm overridden every night; stop re-based to the live printed Stop_Price 76.65 (1.2x ATR headroom, ~U5's 1.25x floor 76.61). Exit trigger: settled close below 76.65 (also below EMA20 76.77). No add: HOLD label is not the buy pool and D05 is ~60% of NAV. · news |
| O39 | OCBC Bank | 31.85 | HOLD | 31.85 | 31.11 | 31.96 (+0.3%) | 32.74 (+2.8%) | 38.91 (+22.2%) | We are holding OCBC: it is up about 11% on cost, conviction rose from, and the three-month view is roughly 22% higher at S, so nothing argues for taking profit. Ops: ADR-0012 armed (Gain_ATR 7.24) with zero fire ticks -> trail path; chandelier 30.96 = printed stop 30.96, both below the 31.11 watermark, so the stop stays 31.11. Sub-scale rump (0.48% of NAV, V3) - no further ladder trims. Hold through FOMC 09-16. · news |
Outcome & track record
How accurate the calls have been.
Signal-type track record How each signal *type* has performed across ALL of this book's past decisions — not a per-stock note. 'bias' is the conviction nudge (+/-) applied to a fresh signal of that type; n = sample size, hit_1w = share that hit the 1-week target. Reliable cells earn a boost; weak ones a haircut.
How each signal type has performed across this book's past decisions (aggregate, not per-stock) — and the conviction nudge it earns.
- BreakoutUp_20D (buy): 5 past trades, 60% hit the 1-week target → +2 conviction nudge.
- NoTrade (PROFIT_ARMED) (sell): 5 past trades, 40% hit the 1-week target → -2 conviction nudge.
- PullbackBuy_VWAP (buy): 5 past trades, 60% hit the 1-week target → +2 conviction nudge.
Portfolio & signals
Every name we scanned, and where it stands.
| Ticker | Name | Close | Signal The chart pattern the engine detected on this name. Hover a signal for its one-line definition; click it for the full setup/trigger rules, the trade box it produces, and the newsletter issue that teaches the underlying concept. | Action | Conv | 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. |
|---|---|---|---|---|---|---|---|---|
| D05H | DBS Group Holdings | 77.66 | FailedBreakdown_Up_20D | HOLD | 71 | 77.87 (+0.3%) | 79.34 (+2.2%) | 88.60 (+14.1%) |
| O39H | OCBC Bank | 31.85 | FailedBreakdown_Up_20D | HOLD | 71 | 31.96 (+0.3%) | 32.74 (+2.8%) | 38.91 (+22.2%) |
| J36H | Jardine Matheson | 58.31 | FailedBreakout_Down_20D | AVOID | 50 | n/a | n/a | 46.03 (-21.1%) |
| Z74H | Singtel | 4.46 | NoTrade | NO TRADE | 0 | n/a | n/a | 4.46 (-0.0%) |
| U11 | United Overseas Bank | 42.33 | AnticipationUp_VCP | BUY - ANTICIPATE | 100 | 42.97 (+1.5%) | 46.36 (+9.5%) | 42.50 (+0.4%) |
| S59 | SIA ENGR | 3.10 | RallySell_BearTrend | AVOID | 69 | 3.10 (+0.0%) | 3.09 (-0.3%) | 2.81 (-9.4%) |
| 9CI | CapitaLand Investment | 2.65 | FailedBreakout_Down_20D | AVOID | 62 | n/a | n/a | 2.53 (-4.5%) |
| C07 | Jardine C&C | 27.26 | FailedBreakdown_Up_20D | WATCH | 44 | 27.38 (+0.4%) | 28.19 (+3.4%) | 25.12 (-7.9%) |
| BN4 | Keppel | 11.33 | FailedBreakdown_Up_20D | WATCH | 34 | 11.38 (+0.4%) | 11.73 (+3.5%) | 11.27 (-0.5%) |
| S58 | SATS | 3.87 | BreakdownDown_20D | AVOID | 33 | 3.76 (-2.8%) | 3.28 (-15.2%) | 2.83 (-26.9%) |
| G07 | Great Eastern | 20.13 | BreakdownDown_20D | AVOID | 24 | 19.71 (-2.1%) | 17.76 (-11.8%) | 21.48 (+6.7%) |
| B61 | BT S'WANG EST | 4.38 | NoTrade | NO TRADE | 0 | n/a | n/a | 3.84 (-12.3%) |
| S68 | Singapore Exchange | 22.91 | NoTrade | NO TRADE | 0 | n/a | n/a | 22.03 (-3.8%) |
| S63 | ST Engineering | 10.22 | NoTrade | NO TRADE | 0 | n/a | n/a | 9.07 (-11.3%) |
| U13 | UOI LTD | 8.52 | NoTrade | NO TRADE | 0 | n/a | n/a | 8.41 (-1.3%) |
| V03 | Venture Corporation | 16.79 | NoTrade | NO TRADE | 0 | n/a | n/a | 16.52 (-1.6%) |
Archive
Earlier end-of-day records.
- 14 September 2026 0 acquire / 2 dispose EOD 2026-09-14 (sgotr)
- 11 September 2026 0 acquire / 2 dispose EOD 2026-09-11 (sgotr)
- 10 September 2026 0 acquire / 2 dispose EOD 2026-09-10 (sgotr)
- 9 September 2026 0 acquire / 2 dispose EOD 2026-09-09 (sgotr)
- 8 September 2026 0 acquire / 2 dispose EOD 2026-09-08 (sgotr)
- 7 September 2026 1 acquire / 0 dispose EOD 2026-09-07 (sgotr)
- 4 September 2026 2 acquire / 1 dispose EOD 2026-09-04 (sgotr)
- 3 September 2026 0 acquire / 1 dispose EOD 2026-09-03 (sgotr)
- 2 September 2026 0 acquire / 1 dispose EOD 2026-09-02 (sgotr)
- 1 September 2026 0 acquire / 0 dispose EOD 2026-09-01 (sgotr)
- 28 August 2026 0 acquire / 0 dispose EOD 2026-08-28 (sgotr)
- 26 August 2026 1 acquire / 1 dispose EOD 2026-08-26 (sgotr)
- 25 August 2026 1 acquire / 0 dispose EOD 2026-08-25 (sgotr)
- 24 August 2026 0 acquire / 0 dispose EOD 2026-08-24 (sgotr)
- 21 August 2026 0 acquire / 3 dispose EOD 2026-08-21 (sgotr)
- 19 August 2026 0 acquire / 0 dispose EOD 2026-08-19 (sgotr)
- 18 August 2026 1 acquire / 3 dispose EOD 2026-08-18 (sgotr)
- 17 August 2026 0 acquire / 3 dispose NO ACQUISITIONS + 3 DISPOSE + 1 QUEUE WITHDRAWAL. No name in the book clears the 65 conviction floor as a buy, so the ACQUIRE bucket is an affirmative NO ACTION and the ANTICIPATE slot stays empty. The 08-14 S68 GTC @Sis WITHDRAWN: it never filled while SGX ran to S (+5.1% above the limit) and conviction collapsed, tripping the ADR-0012 auto-withdraw two sessions early; adj 49 after val_adj -9 leaves it 16 points under the floor. SGX's business is fine (H1 net revenue +7.6%, dividend raised to 11c) - this is a price and signal-quality rejection, and it re-arms on a fresh PullbackBuy_VWAP at raw cv >= 74. Closest miss is S63 ST Engineering at adj 64, one point short, and separately ineligible for the anticipate slot with only required ANTICIPATE prints - the missing 08-14 print was erased by the liquidity-gate misfire, but a print that does not exist cannot be inferred. THREE TRIMS, all held, all 30%: J36 JARDINE MATHESON - @Son §9 sustained non-buy now at N=6, with the 12-week view falling every session to -12.9% and the close 3% below its 200-day average; the full-exit clause did NOT fire (close 62.18 vs the 61.76 line) so it stays live on the remaining, and UNDERVALUED MoS +0.38 holds the tier at the 30% floor rather than escalating. O39 OCBC - @Son ADR-0012, armed at Gain_ATR 4.27 (+10.2%) with a THIRD consecutive momentum divergence at a rising RSI 78.9 and price 39.7% above EMA200; read the 24c dip correctly - the 47c dividend went ex TODAY, so like-for-like the shares ROSE and conviction rose : this is a trim on extension, not deterioration. G07 GREAT EASTERN - @Son ADR-0012, the most armed position in the book at Gain_ATR 8.34 (+24.5%) with a fresh divergence at RSI 81.9, selling into a dividend run ahead of the 08-19 ex-date; the same row simultaneously prints BUY - ADD at adj 68, and the add is suppressed by SGO-5 on both of its conditions at once (RSI > 75 and entry above the close) - the mandatory profit-take wins the collision. Net realised +Son Sof proceeds. HOLDS: D05 7,700 with the trail HELD at 74.59 because the printed stop came in lower and a trail never steps down - conviction has decayed -> 46 with divergence at RSI 72, which would be tick (b) but D05 is NOT armed, so it is a watch item; S58 60,200 with the trail raised to 4.61 as conviction recovered. Zero trail erosion book-wide. THE REAL FINDING IS NOT RISK, IT IS IDLENESS: the book sits at 50.3% cash and these trims take it to 51.5%, against a no_chase_queue counterfactual reading [cost] at a median withheld +5.24% 1wk / +11.04% 4wk across n=24 - two independent measurements of the same defect, entries priced too far below market and capital that never. Systemic: the liquidity gate is inverted or spike-bounded, not a low-volume floor - it blocked the two largest turnovers in the book on 08-14 and a 1.68m-share name today while passing a 111k-share name, and it cost the anticipate slot by erasing S63's second print.
- 14 August 2026 1 acquire / 3 dispose 1 ACQUIRE (QUEUED) + 3 DISPOSE. ACQUIRE: S68 SGX - QUEUE buy-limit @ SGTC, expires 08-19. The book's first printed STRONG BUY in eleven sessions - PullbackBuy_VWAP, the L1-favoured family, at conviction 99 and Buy_Rank 1, adj 90 after val_adj -9, clearing the 65 floor by 25 points. This is exactly the setup yesterday's entry said the book was waiting for, and no lower bar was used to find it. It is QUEUED rather than bought because the close ran 1.97 ATR (4.0%) past the model entry, outside the provenance band; the limit is the engine's own printed Order_Type, repriced each session per SGO-5. Sized at / S (14.4% of book) after a 0.75x modulator for OVERVALUED_VS_RI MoS -1.84. Stated openly: the no_chase_queue counterfactual reads [cost] across n=23, so this book's queues historically do not fill - the resolution is disciplined repricing and a 3-session expiry, not abandoning the no-chase rule. DISPOSE: O39 OCBC TRIM @ S - ADR-0012 profit-take, armed at Gain_ATR 4.34 (+11.04%) with a second-consecutive RSI_DIV at a RISING RSI 77.9 on another 52-week high; G1 now misses by 22 conviction points (58 vs the 80 bar) where it missed by seven yesterday, and the engine itself downgraded BUY-ADD to HOLD. Third rung of a ladder that leaves - 36% of the original - riding a still-positive 31% 12wk path. J36 JARDINE MATHESON TRIM @ S - §9 N-consecutive now at N=5 with the 12wk falling every session to -12.3% and the close beneath every moving average; the PROFIT_ARMED remains a false positive on a losing position and the escalation clause did NOT fire (close 62.34 vs 61.76, though the low pierced it a third time), so the full-exit clause stays live on the remaining. UNDERVALUED MoS +0.38 holds the tier at the 30% floor. G07 GREAT EASTERN TRIM @ S - ADR-0012 tick (d) fires on the second consecutive NO TRADE, the exact fire yesterday's card named as pending; SGO-4 does not shield it because both prints are genuine consensus-conflict reads, corroborated by a momentum pillar collapsed to 24 against trend 78 at RSI 78.5. Realised +21.5% on the slice - the book's best. Net realised +S; trims free Sand the queued buy is fully self-financed out of a S cash pile. D05's ex-div stop pre-adjustment from yesterday is VALIDATED - the printed 75.40 would have been breached on today's 81c mark-down alone. Zero trail erosion book-wide; two of five stops raised. Systemic: the LIQUIDITY GATE IS MISFIRING - it blocked S63 on 13.3m shares (+5.8%) and Z74 on 56.9m shares (+4.7%), the two largest turnovers in the book, while correctly blocking U13 at.
- 13 August 2026 0 acquire / 2 dispose 0 ACQUIRE + 2 DISPOSE. Exactly one row cleared the actionable bar - O39 BUY - ADD cv73 at Buy_Rank 1, adj 69 - and it was SUPPRESSED per SGO-5 on both conditions at once (RSI 76.62 > 75 AND Entry_Price 31.67 >= Close 31.50) plus the no-flip-flop rule, the book having sold of O39 at this morning's open. DISPOSE: O39 OCBC TRIM @ S - ADR-0012 profit-take, armed at Gain_ATR 3.96 (+10.02%) with tick (a), a fresh RSI_DIV at RSI 76.6 on a new 52-week high 38% above EMA200; G1 misses by seven conviction points (73 vs the 80 bar). Banks S / Srealised and keeps behind a trail raised to 30.22 - the second rung of a de-risking ladder -> 2,900) that leaves half the original position riding a still-positive 30% 12wk path. J36 JARDINE MATHESON TRIM @ S - the first cut, on §9 'N consecutive NoTrade/Conflicted' at N=4 with the 12wk falling every session to -11.6%; the PROFIT_ARMED is a false positive on a losing position and the escalation clause did NOT fire (close 61.93 vs 61.76, though the day's low pierced it for the first time), so the full-exit clause stays live on the remaining, ex-div-adjusted to 61.11 on 08-20. UNDERVALUED MoS +0.38 holds the tier at the 30% floor; books a Sloss. G07 is the most armed position in the book (Gain_ATR 6.92) but NOT fired - no tick qualifies, so trail-raise 21.11 -> 21.33 only. D05 holds 7,700 into tomorrow's 81c ex-div with the stop lifted to a dividend-adjusted 74.59; S58's headroom narrowed to 1.7%, the tightest in the book. Four of five stops raised; zero trail erosion. Trims free Staking to S and to 52.7% - materially under-, awaiting a genuine PullbackBuy setup rather than a lower bar. Systemic: the engine emitted BUY - ADD and PROFIT_ARMED on the SAME O39 row - it recommended adding to a position its own exit layer had armed.
- 12 August 2026 0 acquire / 2 dispose 0 ACQUIRE + 2 DISPOSE. The buy pool is EMPTY - no bullish actionable Action anywhere in the snapshot, Buy_Rank NaN book-wide, anticipate slot empty; best near-miss is C07 at adj 61 (UNDERVALUED +10) and it is only a WATCH. DISPOSE: O39 OCBC TRIM @ S - ADR-0012 profit-take, armed at Gain_ATR 3.47 (+8.94%) with tick (b), a 38-point conviction collapse from the 08-07 STRONG BUY - ADD cv90 breakout to today's HOLD cv52 failed-breakdown, read through the 08-11 liquidity-gate blank per SGO-4; banks S / Srealised and keeps behind a 29.73 trail, the record 1H result holding the tier at the minimum 30%. G07 Great Eastern TRIM @ S - the 08-11 fire RE-ISSUED after the auto-executor silently skipped its market_open execution type despite G07 opening at exactly the card's 22.40; banks S / Sand keeps, trail 21.02 -> 21.11. D05 holds into Thursday's 81c ex-div (stop held at 73.54, not armed on the true blended cost); S58 stop raised to 4.59 with only 2.5% of headroom left; J36 holds 1,700 with the escalation clause live - its PROFIT_ARMED is a false positive on a losing position and the day's low missed the 61.76 stop by two cents. Systemic: the executor DOUBLE-FILLED the carried D05 GTC, buying for Sagainst an authorised 1,500 - a 2x unauthorised position increase with no error raised.
- 11 August 2026 1 acquire / 1 dispose 1 ACQUIRE + 1 DISPOSE. ACQUIRE: D05 DBS STRONG BUY - ADD cv90 BreakoutUp_20D, Buy_Rank 1 - the standing GTC limit @ Sis CARRIED UNCHANGED to its 08-13 expiry (missed today's low by 11 cents); the reprice to the live Sentry is SUPPRESSED by SGO-5 at RSI 75.27 > 75. DISPOSE: G07 Great Eastern TRIM @ ~S (ADR-0012 profit-take, genuinely armed at Gain_ATR 6.00 + a fresh RSI_DIV tick; G1 does not shield a name that has printed cv0 for 14 sessions), banking Sand retaining behind a 21.02 trail. O39 queue @29.82 WITHDRAWN on a second consecutive miss then a liquidity-gate blanking -> mandatory trail-raise 28.51 -> 29.73, with G1 correctly blocking the trim on the book's strongest breakout. J36 holds under its 08-06 escalation clause; S58 stop 4.56 -> 4.58; S68 still no re-arm.
- 7 August 2026 2 acquire / 0 dispose 2 ACQUIRE, both QUEUED GTC limits expiring 2026-08-13 (O39 ADD 6,600 @29.82, repriced from the unfilled 28.82 after a record 1H lifted the name +3.31%; D05 ADD 1,500 @75.87, a half-size second tranche as conviction fades + S68 queue @24.00 WITHDRAWN on a mechanical liquidity-gate blanking + NO DISPOSE (J36 trim spent under its own 08-06 escalation clause; G07 armed but not re-fired -> trail 20.80->20.95; S58 stop 4.50->4.56).
- 6 August 2026 3 acquire / 1 dispose 3 ACQUIRE (D05 ADD 2,500 @75.07 at market; O39 ADD 6,600 GTC limit @28.82; S68 BUY 12,200 GTC limit @24.00, both exp 08-12) + 1 DISPOSE (J36 SELL 1,700 = 50%, trend exit below EMA200 with a -7.8% 12wk). G07 armed but not re-fired - trail 20.64 -> 20.80. All three 08-05 cards filled cleanly; no double-fill recurred.
- 5 August 2026 1 acquire / 2 dispose 1 ACQUIRE queued (S58 GTC buy-stop @S, exp 08-11); 2 DISPOSE (J36 3,400 double-fill reconcile; G07 900 = 30% profit-take, tick d); executor double-filled J36 - vs 3,400 authorised
- 4 August 2026 1 acquire / 0 dispose 1 ACQUIRE queued (J36 GTC limit @US, repriced from 64.21, exp 08-07); DISPOSE NO ACTION; G07 armed-not-fired, trail 20.37 -> 20.48; 9CI STRONG BUY cv85 blocked by the quality gate
- 3 August 2026 1 acquire / 1 dispose 1 ACQUIRE queued (J36 GTC limit @US, exp 08-06); 1 DISPOSE (G07 30% profit-take); O39 07-31 queue withdrawn
- 29 July 2026 2 acquire / 1 dispose EOD 2026-07-29
- 28 July 2026 0 acquire / 1 dispose EOD 2026-07-28
- 27 July 2026 0 acquire / 0 dispose EOD 2026-07-27