This lesson is about a move our own engine missed, and why we are teaching it.
PRL, Pakistan Refinery, summer 2026
| 29 June 2026 | Rs 34.94 |
| 3 August 2026 | Rs 63.42 |
| Move | +81.5% in about five weeks |
The wider sector moved with it: NRL +24.8%, ATRL +14.5% over the same window.
No ZEME engine surfaced PRL before that run. The owner's assessment at the time was blunt, and correct: with the refinery sector running and the flow visible, missing it was a serious failure.
The post-mortem, published in full
We found four independent blocks. The important one was structural:
Every sector-level signal in the system terminated in a display artifact.
The file carrying sector rotation had ten consumers. The chatbot, the AI story generator, the search layer, the website, and not one scoring path. The engine measured the refinery run correctly. Nothing was able to act on what it measured.
The other three:
- The sector grade docked points for having already moved, so a running sector ranked lower than a quiet one, precisely inverted for an objective that rewards being in motion.
- The foreign/local flow table we would have used to confirm the money was numerically dead, 4,240 rows, maximum absolute value 1.66, and the Refinery sector absent from its taxonomy entirely.
- Refinery policy news, the actual cause, returned zero keyword matches in our news collection.
What was rebuilt
- A sector money map that ranks on momentum rather than the blended score that penalised movement, and reads the tape instead of the dead flow table
- Sector state made available to scoring rather than to display only
- The dead feed documented as dead, in code, so no future engine silently builds on it, and named in Introduction to ZEME so customers know too
The tape was talking twelve days early
This is the part worth studying, because it was visible:
| Date | Close | Change | Volume | vs average |
|---|---|---|---|---|
| 2026-07-08 | 38.30 | +2.5% | 44.9M | 5.5× |
| 2026-07-09 | 41.85 | +9.3% | 49.6M | 6.1× |
| 2026-07-20 | 49.05 | +10.0% | 48.9M | 6.0× |
On 8 July, volume was 5.5× normal while price moved 2.5%. That is a lot of stock changing hands without the price responding, supply being absorbed. Our sector signal did not fire until 20 July, twelve sessions later.
The honest caveat we must attach
Absorption is descriptive here, not validated. Measured as a standalone short-horizon buy signal it came out negative, −0.79% alpha at 5 days, decile monotonicity −0.69, running backwards. So we show it as evidence of where volume went, never as a reason to buy.
Both things are true: it was visible in the tape, and we cannot show you a validated rule that turns it into a signal. Saying only the first would be the more impressive lesson and the less honest one.
Why a course teaches its own failure: because the failure is where the method is. Any service can show you PRL after the fact and imply they had it. We are showing you the four specific defects that stopped us from having it, what we changed, and the one thing we still cannot claim.
Do this now, practical activity
- Open SuperCharts and load PRL. Set the range to June-August 2026.
- Find 8 July. Look at the volume bar and the price bar for that day together.
- Now find 20 July, where our sector signal actually fired, and measure what was left of the move.
- Finally, open Market DNA and read how the same idea, compare now to history
is applied at market level.
Measured: PRL moved from Rs 34.94 (2026-06-29) to Rs 63.42 (2026-08-03), +81.5%, with NRL +24.8% and ATRL +14.5% over the same window. Volume reached 5.5× average on 2026-07-08 against a 2.5% price move, twelve sessions before ZEME's sector signal fired on 2026-07-20.