Live snapshot — August 5, 2026
Quiet accumulation watchlist
Signals are built from MESSE's own accumulation/distribution factor scores, cross-sectionally re-ranked in Snowflake — filtered to full persistence and price that hasn't moved much yet.
| Signal | |||||
|---|---|---|---|---|---|
| PTBABukit Asam Tbk · Mining | 20/20 d | +0.86% | 13.5bn | Accumulation | |
| CMNTCemindo Gemilang Tbk · Basic Industry | 20/20 d | +2.53% | 10.4bn | Accumulation | |
| EXCLXL Axiata Tbk · Infrastructure | 20/20 d | +0.40% | 6.0bn | Accumulation | |
| CPINCharoen Pokphand Tbk · Consumer | 20/20 d | +1.60% | 16.6bn | Accumulation | |
| UNTRUnited Tractors Tbk · Industrial | 19/20 d | −1.80% | 52.9bn | Accumulation |
BANDAR_SCORE is a price/volume factor-score proxy of MESSE's own, cross-sectionally re-ranked in Snowflake. The agent states this explicitly whenever asked, rather than letting the name "bandarmologi" imply more than the data supports.
Case study
The top score doesn't earn a position
PTBA leads the watchlist with a score of 82.2 and full persistence. But Fractional Kelly is computed from measured forward returns, not assumed ones — and here, the result declines to size.
PTBA — position sizing
- Bandar score
- 82.24
- Sample size
- 997 obs.
- Win rate
- 40.8%
- Avg win / avg loss
- +10.7% / −12.7%
- Payoff ratio
- 0.84×
- Suggested weight
- 0.00%
Why Kelly = 0
b = 0.844 (payoff ratio)
p = 0.408 (win rate)
q = 0.592 (1 − p)
f* = (0.844×0.408 − 0.592) / 0.844
f* = −0.29 → clipped to 0
Historically negative expected value on this bucket (average forward 20-day return of −3.1%). The system declines to suggest any position size rather than rounding to a small number that merely looks safe.
Honesty beat
How many signals have a proven edge?
Measured, not assumed — this is what separates it from most signal tools that always have an answer.
“A system that measures its own edge and declines to size when there isn't one is worth more than a system that always has an answer.” — MESSE Copilot, CoCo CLI session, August 5, 2026
How it works
Every computation runs inside Snowflake
From raw MESSE exports to the agent's answer, no business logic runs in an external app — so every claim can be traced back to the SQL that produced it.
Because MESSE has no IDX broker transaction data, the MART layer is built from MESSE's own accumulation/distribution factor scores (not broker net flow) — see "Known gaps" in the repo README for the full reasoning and limits behind that call.