# Changelog of Unusual Options Activity Scanner — Stock Options Flow (`0xgollum/unusual-options-activity`) Actor

- **URL**: https://apify.com/0xgollum/unusual-options-activity/changelog.md
- **Full Actor documentation**: https://apify.com/0xgollum/unusual-options-activity.md

## Changelog

### 0.2.7 — Cold review (09/09/2026)

**Fixed**

- **Ranking distortion on strikes with no open interest.** A contract with
  zero prior open interest used a flat "999" ratio, so a routine 500-lot on a
  freshly listed strike ($50k) outranked a $14M print with ratio 8 by 40:1.
  The score now log-damps both freshness and premium; freshness still leads,
  money counts too. (`unusual_score` values change; the ordering is what
  matters and it is now sane. `vol_oi_ratio` for zero-OI contracts is now
  volume / 1, capped at 999, instead of a flat 999.)
- **README claimed "nothing unusual = never billed", which was no longer true**
  since the whole-chain sentiment fallback: a quiet run returns one
  `sentiment` row (`scope: "full_chain"`) per scanned ticker. The README now
  says exactly that, and how to get a free status row instead
  (`include_sentiment: false`).
- **Outage wait halved.** The `_SYMBOL` URL variant only exists for a few
  index symbols; it was retried with full backoff even after the plain URL
  had failed on 5xx, doubling the wait (up to ~70 s per ticker) for nothing.
  It is now tried only after a clean 404.
- Status-row message no longer claims "no chain data" when there was chain
  data but nothing unusual.

### 0.2.0 — 2026-08-28

**Reliability fix — every run now returns a result.**

- Unusual options flow is by nature rare, so most scans found nothing that
  cleared the thresholds and the Actor pushed **nothing** — which Apify
  counts as a failed run even though the scan worked.
- Now, whenever `Include sentiment` is on, every scanned ticker gets a
  **whole-chain call/put premium lean** row (`scope: full_chain`) even when
  no single contract is unusual — a useful read on its own.
- If a run genuinely has no data at all (nothing unusual **and** no chain
  data), it returns a single `status` row explaining what happened instead
  of an empty dataset.

### 0.1.x — 2026-07 → 2026-08

- CBOE option-chain scan for contracts trading on abnormal volume vs open
  interest, weighted by dollar premium, with a per-ticker sentiment summary.
- Per-ticker fetch/calc isolation and a row-by-row `push_data` fallback so
  one malformed row or a storage hiccup can no longer fail a whole run.
