pnclPULSEGet API access

DROP ALERT NOTES

Filter drop alerts by the fair price, not just the fall

min_drop filters the size of the fall. Your rules can also filter where the price landed: using the nvp field to keep only the alerts that matter.

The stream's threshold answers one question: how far did the price fall. Every alert also carries the answer to a second question: where did it fall to. The nvp field, the no-vig fair price after the move, lets your rules filter by the level the market settled at, not just the size of the move.

The field that carries the level

Each alert names the prices before and after the fall and attaches nvp, the fair price with the margin removed, as the drop alerts guide lists the event's fields, checked 2026-10-05. A 6% drop from 8.00 to 7.52 and a 6% drop from 2.00 to 1.88 clear the same min_drop and are completely different events; the fair price is the field that tells them apart.

For a value reader, the level is often the point. A fair price that lands below what your book still offers is an opportunity; one that lands above it is just a move.

A two-gate rule

The natural shape is two gates in sequence. The stream applies the first: only falls past your min_drop arrive. Your code applies the second: only alerts whose nvp passes your level rule continue. If you only care about favorites, keep alerts with nvp at or under 2.00. If you hunt longshots, keep nvp at 4.00 or above.

def passes(alert, nvp_max=None, nvp_min=None):
    nvp = alert.get("nvp")
    if nvp is None:
        return False
    if nvp_max is not None and nvp > nvp_max:
        return False
    if nvp_min is not None and nvp < nvp_min:
        return False
    return True

The null case matters: when nvp is missing, the honest answer is to drop the alert from this rule, not to guess a level for it.

Why the order saves you work

The level filter runs after the threshold and before everything expensive: dedupe, cooldowns, routing. That order keeps the dedupe guide's store small, because alerts that can never matter never enter it. A cooldown spent on an alert you would always ignore is budget spent on noise.

It also keeps your log readable. A week of level-filtered alerts is a week of moves you actually meant to see, which makes the threshold tuning from the drop alerts guide much easier to read.

Measure before you narrow

Log the nvp of every alert for a week before you set the level. The distribution tells you where the opportunities actually cluster for your sports, and the level you pick from data will differ from the one you would have guessed. Then set the gate, and let the stream's volume do its work upstream of yours.

The fall tells you the market moved. The fair price tells you where it landed. Filter on both, and the alerts left over are the ones worth a human's minute.