Option spikes
For every contract, the largest directed move found anywhere inside the selected search frame: an earlier local low to a later high (a rise), or an earlier high to a later low (a fall). The frame is only a boundary—the calculation does not compare its opening and closing prices. Extremes come from minute bars (per-second bars where available) and are checked against bid and ask quoted in the same minute.
…
How the page is built
The tape receives a minute bar for every option contract that trades and, for up to a thousand contracts, their quotes; the price-changes page adds per-second bars for contracts it shows. For a rolling frame, every bar wholly inside the displayed start–end bounds is scanned in chronological order. Every local low may start a later rise and every local high may start a later fall; the strongest valid pair wins. Thus “last hour” may return a move from 37 minutes ago to 15 minutes ago—it is not an open-to-close return. A bar whose minute has a quote is trimmed to that minute's lowest bid and highest ask, so a lone bad print cannot become a verified spike. The trim does not look at trade size, so the start-bar volume switch is a separate guard: a spike may only start from a bar that traded at least that many contracts. Quote ranges are saved every five minutes and restored after a restart, and the underlyings' minute prices are re-read from REST, so a restart no longer empties the verification marks or the underlying column for the session so far.
Start prices below $0.05 are ignored. "Now" is the latest print of the contract; retrace is (peak − now) / (peak − start). Δ underlying compares the underlying's last prices, from the stock tape, at the start and at the peak. The table refreshes every five seconds while it is visible; a larger spike replaces a smaller one the moment it prints.