# Price action catalog — Tickerbot Price action API

60 columns. Group overview from https://tickerbot.io/docs/signals/catalog/price_action/ · full catalog: https://tickerbot.io/docs/signals/catalog.md · concept: https://tickerbot.io/docs/signals.md

How price is moving: behaviors recognized directly from the price record — changes, gaps, momentum episodes, range structures — with no indicator in between.

## Performance & change

Price change over standard horizons — today through 1 year — plus streaks and day-mover flags.

- [change_1m](https://tickerbot.io/docs/signals/change_1m.md) (numeric) — Percent change vs. close ~21 trading days ago. Daily; see `change_1w` for note.
- [change_1w](https://tickerbot.io/docs/signals/change_1w.md) (numeric) — Percent change in close vs. the close 5 trading days ago. Computed post-close; does NOT update intraday — use `from_open_pc` + `day_change_pct` for intraday-aware change.
- [change_1y](https://tickerbot.io/docs/signals/change_1y.md) (numeric) — Percent change vs. close ~252 trading days ago.
- [change_3m](https://tickerbot.io/docs/signals/change_3m.md) (numeric) — Percent change vs. close ~63 trading days ago.
- [change_6m](https://tickerbot.io/docs/signals/change_6m.md) (numeric) — Percent change vs. close ~126 trading days ago.
- [change_ytd](https://tickerbot.io/docs/signals/change_ytd.md) (numeric) — Percent change since the first trading day of the calendar year.
- [day_change](https://tickerbot.io/docs/signals/day_change.md) (numeric) — Absolute change vs `previous_close`.
- [day_change_pct](https://tickerbot.io/docs/signals/day_change_pct.md) (numeric) — Percent change vs `previous_close`. Expressed as a decimal fraction (0.05 = 5%), not a whole percent.
- [days_down](https://tickerbot.io/docs/signals/days_down.md) (integer) — Consecutive trading days closing lower than the prior close. Resets to 0 on an up day.
- [days_up](https://tickerbot.io/docs/signals/days_up.md) (integer) — Consecutive trading days closing higher than the prior close. Resets to 0 on a down day.
- [from_open_pc](https://tickerbot.io/docs/signals/from_open_pc.md) (numeric) — Intraday: percent change from today’s session open to the latest snapshot price. Resets at session boundary.
- [price_down_3pct](https://tickerbot.io/docs/signals/price_down_3pct.md) (event) — Intraday move of -3% or worse vs prior close.
- [price_up_3pct](https://tickerbot.io/docs/signals/price_up_3pct.md) (event) — Intraday move of 3%+ vs prior close.
- [top_gainer](https://tickerbot.io/docs/signals/top_gainer.md) (state) — Among the session's top 20 gainers.
- [top_loser](https://tickerbot.io/docs/signals/top_loser.md) (state) — Among the session's top 20 losers.

## Gaps

Opening gaps: size, direction, extremes, and intraday fill.

- [gap](https://tickerbot.io/docs/signals/gap.md) (numeric) — Overnight gap as percent: `(today_open − prev_close) / prev_close`. Signed — positive = gap up, negative = gap down. Use this for custom gap thresholds; the boolean shortcuts `gap_up` (≥3%) and `gap_up_extreme` (≥10%) cover the canonical levels.
- [gap_pct](https://tickerbot.io/docs/signals/gap_pct.md) (numeric) — Percent change of `session_open` vs `previous_close`. One value per session.
- [gap_down](https://tickerbot.io/docs/signals/gap_down.md) (event) — Today opened 3%+ below prior close.
- [gap_down_extreme](https://tickerbot.io/docs/signals/gap_down_extreme.md) (event) — Today opened 10%+ below prior close.
- [gap_filled_today](https://tickerbot.io/docs/signals/gap_filled_today.md) (event) — Today’s opening gap was closed by an intraday move.
- [gap_up](https://tickerbot.io/docs/signals/gap_up.md) (event) — Today opened 3%+ above prior close.
- [gap_up_extreme](https://tickerbot.io/docs/signals/gap_up_extreme.md) (event) — Today opened 10%+ above prior close.

## Intraday momentum

Directional strength read straight off the session's bars: drives, drifts, spikes, rallies, exhaustion.

- [afternoon_drift_up](https://tickerbot.io/docs/signals/afternoon_drift_up.md) (state) — Afternoon session net up.
- [last_hour_rally](https://tickerbot.io/docs/signals/last_hour_rally.md) (event) — Final hour of session net up.
- [last_hour_selloff](https://tickerbot.io/docs/signals/last_hour_selloff.md) (event) — Final hour of session net down.
- [microspike_down](https://tickerbot.io/docs/signals/microspike_down.md) (event) — Single 1-minute candle return ≤ −1%.
- [microspike_up](https://tickerbot.io/docs/signals/microspike_up.md) (event) — Single 1-minute candle return ≥ +1%.
- [momentum](https://tickerbot.io/docs/signals/momentum.md) (state) — momentum present
- [momentum_down](https://tickerbot.io/docs/signals/momentum_down.md) (state) — Sustained downward momentum on the daily bars.
- [momentum_exhaustion_down](https://tickerbot.io/docs/signals/momentum_exhaustion_down.md) (event) — Downward momentum showing signs of exhaustion.
- [momentum_exhaustion_up](https://tickerbot.io/docs/signals/momentum_exhaustion_up.md) (event) — Upward momentum showing signs of exhaustion.
- [momentum_strong_down](https://tickerbot.io/docs/signals/momentum_strong_down.md) (event) — Strong downward momentum across multiple measures.
- [momentum_strong_up](https://tickerbot.io/docs/signals/momentum_strong_up.md) (event) — Strong upward momentum across multiple measures.
- [momentum_up](https://tickerbot.io/docs/signals/momentum_up.md) (state) — Sustained upward momentum on the daily bars.
- [morning_strength](https://tickerbot.io/docs/signals/morning_strength.md) (state) — First two hours of session net positive.
- [opening_drive_down](https://tickerbot.io/docs/signals/opening_drive_down.md) (event) — First 5 minutes of session down < −0.5%.
- [opening_drive_up](https://tickerbot.io/docs/signals/opening_drive_up.md) (event) — First 5 minutes of session up > +0.5%.
- [pre_close_drift_down](https://tickerbot.io/docs/signals/pre_close_drift_down.md) (event) — Last 10 minutes before close net down.
- [pre_close_drift_up](https://tickerbot.io/docs/signals/pre_close_drift_up.md) (event) — Last 10 minutes before close net up.
- [pre_earnings_drift](https://tickerbot.io/docs/signals/pre_earnings_drift.md) (state) — Stock has moved ≥5% (absolute) over the trailing week with earnings within 7 days — a setup the literature shows often continues through the report.
- [rapid_move_down_5m](https://tickerbot.io/docs/signals/rapid_move_down_5m.md) (state) — Price down more than −0.5% in the last 5 minutes.
- [rapid_move_up_5m](https://tickerbot.io/docs/signals/rapid_move_up_5m.md) (state) — Price up more than +0.5% in the last 5 minutes.
- [three_down_hours](https://tickerbot.io/docs/signals/three_down_hours.md) (state) — Three consecutive lower hourly closes.
- [three_up_hours](https://tickerbot.io/docs/signals/three_up_hours.md) (state) — Three consecutive higher hourly closes.

## Ranges & reversals

Range structures and their resolution: opening range, breaks, consolidation, pullbacks, reversals, unusual range width.

- [above_opening_range](https://tickerbot.io/docs/signals/above_opening_range.md) (state) — Price is trading above the first 15-minute opening-range high.
- [below_opening_range](https://tickerbot.io/docs/signals/below_opening_range.md) (state) — Price is trading below the first 15-minute opening-range low.
- [consolidating_15m](https://tickerbot.io/docs/signals/consolidating_15m.md) (state) — Last 15 minutes traded in a tight range.
- [consolidation](https://tickerbot.io/docs/signals/consolidation.md) (state) — Price is range-bound — the last 5 sessions span less than 5%.
- [expanded_hourly_range](https://tickerbot.io/docs/signals/expanded_hourly_range.md) (state) — This hour’s range is unusually wide.
- [hourly_reversal_bearish](https://tickerbot.io/docs/signals/hourly_reversal_bearish.md) (event) — Higher high, lower close than the prior hour.
- [hourly_reversal_bullish](https://tickerbot.io/docs/signals/hourly_reversal_bullish.md) (event) — Lower low, higher close than the prior hour.
- [in_opening_range](https://tickerbot.io/docs/signals/in_opening_range.md) (state) — Price is inside the first-hour high/low range.
- [narrow_hourly_range](https://tickerbot.io/docs/signals/narrow_hourly_range.md) (state) — This hour’s range is unusually narrow.
- [pullback](https://tickerbot.io/docs/signals/pullback.md) (state) — Pullback to the 20-day moving average within an uptrend.
- [range_break_15m_down](https://tickerbot.io/docs/signals/range_break_15m_down.md) (event) — Broke below the prior 15-minute low.
- [range_break_15m_up](https://tickerbot.io/docs/signals/range_break_15m_up.md) (event) — Broke above the prior 15-minute high.
- [range_expansion](https://tickerbot.io/docs/signals/range_expansion.md) (event) — Today's true range > 2 × ATR(14) with volume — direction-agnostic regime-change tag.
- [repeated_test_of_high](https://tickerbot.io/docs/signals/repeated_test_of_high.md) (state) — Tested today’s session high three or more times — failed-breakout setup.
- [repeated_test_of_low](https://tickerbot.io/docs/signals/repeated_test_of_low.md) (state) — Tested today’s session low three or more times — failed-breakdown setup.
- [sticky_breakout](https://tickerbot.io/docs/signals/sticky_breakout.md) (state) — Latches on when price makes a 52-week high and stays on until the nightly reset — a persistent breakout tag.
