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.

HK End-of-Day Verdict 4 Sept 2026, 16:00:00 GMT+8

HK Financials — End-of-Day Verdict

1 ACQUIRE (queued) + 3 DISPOSE + 0 ANTICIPATE

Recommendations

1 to acquire · 3 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
3328Bank of Communications7.99SELL 50%7.997.617.97 (-0.2%)8.08 (+1.2%)8.09 (+1.3%)Bank of Communications has run 6.5% above our cost into an overbought tape and is now the weakest bull case in the book - the only holding whose label is a mere HOLD while momentum is visibly diverging from price. We are banking half the position into that strength and trailing the rest higher. ADR-0012 profit-take, TWO ticks: (a) RSI_DIV on the anchor row - and G1's softening does NOT reach it, because G1 requires a fresh BreakoutUp_*/MomentumContinuation_* at conviction >= 80 and this row is FailedBreakdown_Up_20D at cv64, so tick (a) fires at full force; (c) dead forward view, Target_12Week 8.09 < 1.02 x 7.985 = 8.1447. 2 ticks -> profit_take_2 = 50%. The arm is GENUINE, not an artifact: T12_Progress 98.70 with a NON-inverted 12wk (8.09 vs the 7.985 close, +1.31%), so HF-2's inversion suppression is inapplicable - unlike 2888. RSI 72.66 with bearish divergence. Valuation silent (NA_CCY -> val_adj 0, no tier bump either way). Scorecard: FailedBreakdown_Up_20D|sell is n=4 report-only -> bias 0; note the -10 NoTrade|sell cell does NOT reach this card (signal is FailedBreakdown_Up_20D, not NoTrade) - the first session in three where that collision is absent. Action price 7.985 = anchor close, inside the printed Entry_Price provenance band 7.94-8.04 (Entry_Price 7.99 +/- 0.25 x ATR 0.1922). Volume of 7,000 = HKproceeds, realised +HKvs cost 7.50; residual 3,500. Stop RAISED 7.54 -> 7.61 (max of live 7.54, engine Stop_Price 7.61, chandelier 2.0xATR 7.601). Estimates stepped out of (model Est_*, ~80% band): 1wk 7.97 [7.60-8.42] (-0.19%); 4wk 8.08 [7.10-9.28] (+1.19%); 12wk 8.09 [6.73-10.07] (+1.31%). News neutral - no dated 09-04 catalyst; the standing background is the March 2026 RMB520bn state recapitalisation that diluted HSBC's stake 19.03% -> ~16%, long since priced. L8: executes at the 2026-09-07 open; reprice if the open gaps >~1.5%. Chain: HOLD cv64 -> armed on a genuine non-inverted T12_prog 98.70 -> ticks (a) RSI_DIV + (c) dead 12wk, G1 inapplicable -> 50% tier -> valuation silent -> scorecard 0 -> news neutral -> SELL 50%, raise the trail. · news
3988Bank of China6.07SELL 30%6.075.796.12 (+0.9%)6.07 (+0.1%)6.03 (-0.6%)Bank of China is our biggest winner at +11.5% and the most overbought name in the book on a fourth straight session above RSI 74, and the model's own twelve-week view now sits slightly BELOW today's price. We are banking 30% of the gain and letting the majority run behind a raised stop - the signal itself is still strongly bullish, so this is a profit-take, not an exit. ADR-0012, armed on the trustworthy leg: Gain_ATR 4.20 >= 3.0 on a real Avg_Cost 5.44 (+11.49%) - the only holding in the book armed on gain rather than on the T12_Progress artifact. ONE tick counts: (c) dead forward view, Target_12Week 6.03 < 1.02 x 6.065 = 6.1863. Tick (a) RSI_DIV IS present but the row is a fresh MomentumContinuation_Up at cv90, so G1's softening downgrades that Tier-1 code to a trail-raise rather than a trim - the NBIS protection working exactly as written; ticks (b) and (d) do not fire (conviction ROSE; only one NO TRADE print). 1 tick -> profit_take_1 = 30%. Valuation silent (NA_CCY -> val_adj 0), so no tier bump. Scorecard: MomentumContinuation_Up|sell has no cell -> bias 0; critically the -10 NoTrade|sell cell that cut this same card one tier yesterday does NOT apply today, because the row flipped from NoTrade to MomentumContinuation_Up - so the 30% is now the NATIVE tier, not a haircut. Action price 6.065 = anchor close; the printed Entry_Price 6.09 is a BUY-stop on a bullish row, and the close sits inside its provenance band 6.03-6.10 (6.09 +/- 0.25 x ATR 0.1487). Volume of 20,000 (board lot 1,000) = HKproceeds, realised +HK; residual 14,000. Stop RAISED 5.73 -> 5.79 (max of live 5.73, engine 5.79, chandelier 5.7675). Estimates stepped out of: 1wk 6.12 [5.71-6.44] (+0.91%); 4wk 6.07 [5.21-7.09] (+0.08%); 12wk 6.03 [4.89-7.84] (-0.58%). This RE-ISSUES the 09-03 proposal (SELL 6,000 @5.95) which expired unfilled for a fifth consecutive session; repriced UP to the live close per the provenance rule, not carried forward. News neutral - 6.94% forward yield, +5.31% forecast earnings growth, PBOC relending/buyback programme is the standing macro tailwind; nothing dated 09-04. L8: executes at the 2026-09-07 open. Chain: STRONG BUY - ADD cv90 -> genuine ADR-0012 arm (Gain_ATR 4.20) -> tick (a) G1-downgraded to a trail-raise, tick (c) fires -> 30% native tier -> valuation silent -> scorecard 0 (NoTrade cell no longer applies) -> news neutral -> SELL 30%, raise the trail. · news
3968China Merchants Bank53.35SELL 25%53.3550.8854.08 (+1.4%)54.02 (+1.3%)53.05 (-0.6%)China Merchants Bank is up 9.7% on our cost and closed at an overbought RSI 77, while the model's twelve-week view has quietly slipped below today's price. We are taking a quarter off the table and raising the stop sharply behind the rest. Note this is a much SMALLER trim than yesterday's, and deliberately so. SUPERSEDES the unfilled 09-03 card (SELL 1,000 @51.90) - that card was sized to a formal STRONG SELL - REDUCE cv72 at Sell_Rank #1, and that label is GONE: the row flipped overnight to STRONG BUY - ADD cv90 on BreakoutUp_20D, the most violent reversal in the book. With the formal sell origination withdrawn, the 50% tier it earned goes with it; what survives is the ADR-0012 arm alone. Armed on the genuine leg: Gain_ATR 3.81 >= 3.0 on a real cost 48.65 (+9.66%). ONE tick: (c) dead forward view, Target_12Week 53.05 < 1.02 x 53.35 = 54.417. Tick (a) no second Exit_Warning code (PROFIT_ARMED standalone); (b) conviction ROSE; (d) no NO TRADE prints. 1 tick -> profit_take_1 = 30%; G1 cannot block it because tick (c) fires regardless of a fresh breakout. 30% of 2,000 =, rounded DOWN to the 500-share board lot = (25% effective). Valuation silent (NA_CCY -> val_adj 0). Scorecard: BreakoutUp_20D (PROFIT_ARMED)|sell is n=2 report-only -> bias 0. Action price 53.35 = anchor close; the printed Entry_Price 52.89 is a BUY-stop whose band is 52.58-53.20, so the close sits just above it - for a sell-at-open the close is the correct market reference and is stated as such, not invented. Volume = HKproceeds, realised +HK; residual 1,500. Stop RAISED 49.59 -> 50.88 (max of live 49.59, engine 50.42, chandelier 2.0xATR 50.883) - a 2.6% tightening that does most of the risk work here. Estimates stepped out of: 1wk 54.08 [50.98-57.71] (+1.37%); 4wk 54.02 [46.84-62.27] (+1.26%); 12wk 53.05 [43.40-67.17] (-0.56%). News: none found - Yahoo returns profile/quote pages only, no September event. L8: executes at the 2026-09-07 open. Chain: STRONG SELL - REDUCE cv72 -> STRONG BUY - ADD cv90 (origination reversed) -> formal-sell card WITHDRAWN -> ADR-0012 arm survives, tick (c) fires -> 30% tier, lot-floored to -> valuation silent -> scorecard 0 -> news none -> SELL 500, raise the trail hard. · news
0005HSBC HDGS(USD0.50) HK O'SEAS166.70BUY — QUEUED @164.75164.75158.65167.62 (+1.7%)163.68 (-0.6%)164.69 (-0.0%)HSBC is the strongest signal this book has produced in months - a maximum-conviction breakout at the top of the buy rankings - and after five sessions of selling into strength with 75% of the book sitting in cash, this is the first new position we are putting on. But we are not chasing it: the stock has already run through its own trigger price today, so we queue a limit order BELOW the market and only get filled on a pullback, at half our normal size. STRONG BUY cv100 on BreakoutUp_20D, Buy_Rank #1, engine 90.4 - built over four sessions (WATCH 40 -> WATCH 62 -> ANTICIPATE 83 -> STRONG BUY 100). Adjusted conviction 100 (val_adj 0 on an NA_CCY row; no cell for BreakoutUp_20D|buy -> bias 0). Quality gate is OFF: Val_Signal is NA_* so the row passes by rule, though Quality_Pass = False is one reason for the half size below. WHY QUEUED, NOT BOUGHT - two independent gates: (i) no-chase, Entry_Distance_ATR -0.49 means the 166.70 close is already 0.49 ATR THROUGH the 165.41 buy-stop; (ii) HF-3, Est_12W 164.69 < the 166.70 close (-1.21% inverted), and HF-3's remedy for an inverted 12wk is explicitly 'queue-at-pullback or reject'. We take the queue-at-pullback branch because HF-4 is CLEAR here - Est_1W 167.62 > Entry_Price 165.41 - which is the one gate that has reliably marked bad entries in this book, and because the counterfactual record says this book's un-taken buys now cost it money (no_chase_queue n=7, +4.97% median 1wk [cost]; queue_expiry n=5, +8.68% median 4wk [cost]) while its un-taken sells were free (optional_trim n=80, +5.88% 4wk saved). Action price 164.75 = the BOTTOM of the provenance band (Entry_Price 165.41 +/- 0.25 x ATR 2.6274 = 164.75-166.07), i.e. a genuine -1.17% pullback from the close and fully anchored to the live row - not a carried-forward or invented level. GTC limit, expires_on 2026-09-09 (anchor + 3 HK sessions). Sizing: 0.904 x HKx buy_pct_of_portfolio 20% = HK; x size_mod 0.50 = HK; / 164.75 =; floored to the 400-sh board lot = = HK (6.5% of book). Well inside max_position_pct 60% and the HKdry. HALF SIZE IS DELIBERATE AND DISCLOSED: the 12wk view is inverted (HF-3, addressed on timing by the queue but not on thesis), the 4wk estimate 163.68 sits 0.65% BELOW the limit and the 12wk 164.69 is flat to it, and Quality_Pass = False on the F-Score/FCF screen. The trade is a one-week-edge swing with defined risk, not a medium-term hold. Risk objective Target_Price 178.93 (+8.6%); hard stop 158.65 (-3.7%); R:R 2.3:1. Estimates vs the 164.75 action price (model Est_*, ~80% band): 1wk 167.62 [160.70-174.24] (+1.74%); 4wk 163.68 [154.19-177.47] (-0.65%); 12wk 164.69 [144.55-185.92] (-0.04%). News neutral-to-supportive but nothing dated 09-04: the standing items are H1-2026 earnings beating estimates with buybacks resumed, and the US$14bn Hang Seng Bank buyout - both consistent with the breakout, neither a fresh catalyst. EVENT NOTE: US August nonfarm payrolls prices into HK on Mon 07 Sep and is the named mechanism for 0005/2888/0939 in the Event Horizon, with US CPI on 14 Sep flagged as the largest single-event exposure in the window - a limit BELOW the market is the risk-controlled way to enter into that, and the half size respects it. Stale overlay (2026-07-05, 61d) carries a 0005 'hold unless below the recorded stop' note - dormant, we hold no shares yet. L8: the order is live from the 2026-09-07 open. Chain: STRONG BUY cv100 Buy_Rank #1 -> valuation NA_CCY, gate off -> scorecard 0 -> no-chase (EDA -0.49) + HF-3 inversion -> queue-at-pullback branch, HF-4 clear -> half size on the inverted 12wk + quality fail -> news neutral -> overlay dormant -> BUY 800 QUEUED @164.75, expires 09-09. · news
0939CCB - H SHS9.76NO ACTION9.769.379.73 (-0.3%)9.99 (+2.4%)9.90 (+1.4%)Holding CCB in full and simply raising the stop. It is the healthiest holding in the book - the only one whose twelve-week forecast still points ABOVE today's price - so although the mechanical profit-take rule technically triggers, it does so by the thinnest margin in the book and loses the day's three disposal slots on merit. FOURTH fired profit-take candidate, dropped by the <=3 DISPOSE cap and correctly so: armed only on the T12_Progress leg (98.59 >= 90) with Gain_ATR 2.34 BELOW the 3.0 bar, and firing on tick (c) alone by 0.55% (Est_12W 9.90 vs the 1.02 x 9.76 = 9.955 bar). Smallest dollar bleed of the four (HKat 30% vs 3988's 36,390, 3968's 26,675, 3328's 27,947). Uniquely among the ADD names its 12wk is NON-inverted (+1.43%). Also note the ACQUIRE side: the row prints STRONG BUY - ADD cv90 and clears HF-3, but HF-4 FIRES - Est_1W 9.73 sits below BOTH the printed Entry_Price 9.85 and the 9.76 close, the low-quality-entry signature - so the ADD is demoted rather than queued. Stop RAISED 9.23 -> 9.37 (max of live 9.23, engine 9.37, chandelier 2.0xATR 9.282). RE-ARM for the add: Est_1W >= Entry_Price. Ledgered optional so the counterfactual grader prices the untaken trim. · news
2888STANCHART237.40NO ACTION237.40229.89236.28 (-0.5%)231.78 (-2.4%)230.46 (-2.9%)Holding Standard Chartered untouched for a third straight session and raising the stop. The position carries a 'profit-armed' flag, but there is barely any profit to take - it is up only 3.8% - and the flag is an artifact of a twelve-week target that sits below today's price. Meanwhile the signal just upgraded to a maximum-conviction 52-week breakout. Nothing here says sell. HF-2 false arm, third consecutive session: T12_Progress 103.01 is produced by an INVERTED 12wk (Est_12W 230.46, 2.92% BELOW the 237.40 close), not by a winner nearing objective - the position is +3.84% with Gain_ATR 1.66, well under the 3.0 bar. HONEST NOTE ON THE EXTENSION: HF-2 as written conditions on an OVERSOLD/bounce-family signal, and today's row is BreakoutUp_52W cv90, not oversold-family - so I am applying HF-2's MECHANISM (the inversion artifact) beyond the letter of its stated family condition. That extension is flagged in this run's systemic findings for the learnings review rather than treated as settled rule. It changes nothing operationally: HF-2 demands an independent bearish basis before any profit-take on an inverted-12wk name, and today there is a fresh formal BUY at cv90 - the opposite - and 2888 would in any case be the FIFTH fired candidate against three slots. Also note the ACQUIRE side: STRONG BUY - ADD cv90 is rejected twice over, by HF-3 (12wk inverted -2.92%) and HF-4 (Est_1W 236.28 < the 240.43 buy-stop) - the 240.43 entry is 1.3% above the close and the model expects the price a week out to be below it. Stop RAISED 228.47 -> 229.89 (max of live 228.47, engine 229.89, chandelier 226.858). The stale overlay's 0005/2888 'hold unless below the recorded stop' note is satisfied - 237.40 is well above. Ledgered optional so the counterfactual grader prices the untaken trim. · news
2388BOC Hong Kong Holdings52.85BUY-STOP53.1149.7252.77 (-0.6%)53.40 (+0.5%)53.54 (+0.8%)BOC Hong Kong prints a strong anticipation setup but we are not taking it. The pattern has appeared only once - our rule needs two sessions - the model's own one-week estimate lands below the price we would pay, and the stock fails our balance-sheet quality screen on a residual-income basis that already reads it as expensive. TRIPLE-blocked as the anticipate-slot candidate: (i) the slot requires BUY - ANTICIPATE in >=2 of the last 3 snapshots and 2388 has ONE (BUY 74 on 09-02 -> NO TRADE cv0 on 09-03 -> ANTICIPATE 81 today) - the intervening NO TRADE breaks the run; (ii) HF-4 fires - Est_1W 52.77 < Entry_Price 53.11, the low-quality-entry signature; (iii) Quality_Pass = False on an OVERVALUED_VS_RI row - NOT an NA_* row, so the quality gate is LIVE and hard-blocks it as a new entry. Adj 79 (val_adj -2 from MoS_FV -0.3135 x 5, rounded; no actionable cell for AnticipationUp_VCP). Its one genuine strength: the 12wk is NON-inverted (Est_12W 53.54 vs the 52.85 close, +1.31%), so HF-3 is clear - the only bullish candidate besides 0939 to pass that gate. RE-ARM: a second consecutive ANTICIPATE print AND Est_1W >= Entry_Price. Anticipate slot ships EMPTY this session. · news
0966China Taiping Insurance22.66NO ACTION22.6820.4422.61 (-0.3%)22.42 (-1.1%)21.70 (-4.3%)China Taiping is still the only genuinely cheap stock in this book, and we are still not buying it: it fails our balance-sheet quality screen, and the model's own twelve-week forecast now sits more than 4% BELOW today's price. A cheap stock the model expects to fall is not a bargain. TRIPLE-blocked for a fourth consecutive session: Quality_Pass = False (F-Score 5) on an UNDERVALUED - i.e. NON-NA - row hard-blocks it as a new entry; HF-3 rejects the inversion (Est_12W 21.70 vs the 22.66 close, -4.24%); HF-4 fires (Est_1W 22.61 < Entry_Price 22.68). Raw conviction 64 is below the 65 floor, but val_adj +5 (UNDERVALUED, MoS_FV +0.786, capped at +10 then HALVED for the quality failure) takes adj conviction to 69, ABOVE the floor - so as on 09-03 it is the quality gate and HF-3, not the floor, that stop it. Whipsawing AVOID 72 -> BUY 64 -> WATCH 61 -> BUY 64 -> BUY 64 across five sessions is itself a stability failure. RE-ARM: a non-inverted Est_12W plus a passing quality screen. · news
1299AIA Group77.50NO ACTION78.2073.8177.28 (-1.2%)77.55 (-0.8%)80.09 (+2.4%)AIA was flagged yesterday as the cleanest buy candidate in weeks and the name to promote on any strengthening - instead it went the other way. The signal withdrew itself, so there is nothing to act on. BUY cv58 on ContinuationLiteUp (09-03) -> WATCH cv42 today, a 16-point conviction decay on a day when every bank in the book rallied - relative weakness, not just a label change. It retains the healthiest 12wk in the whole scan (Est_12W 80.09 vs the 77.50 close, +3.34%, HF-3 clear) but HF-4 now fires too (Est_1W 77.28 < the 78.20 buy-stop). The 09-03 gate was right; no action needed. RE-ARM: conviction back >= 65 with Est_1W >= Entry_Price. · news

Outcome & track record

Accuracy at the time of this record.

28 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 →
5.000 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.