# Rotation Factor

A Volume & Order Flow concept (Market profile / auction theory) in the LuxAlgo Library, with 1 indicator implementation.

## What is the Rotation Factor?

The rotation factor is a day-timeframe statistic from Market Profile, the auction framework J. Peter Steidlmayer developed at the Chicago Board of Trade. It scores how each intraday period rotated against the one before it. In the common construction, every TPO bracket (usually 30 minutes) is compared with the prior bracket: a higher high scores +1 and a lower high -1, a higher low scores +1 and a lower low -1, and unchanged extremes score 0. Each bracket therefore contributes between -2 and +2, and the session total is the day's rotation factor.

Market Profile organizes the session into lettered brackets, and the rotation factor is one of its original day-timeframe statistics, spread mainly through James Dalton's Mind Over Markets, the reference text that systematized much of profile practice. Its appeal is arithmetic honesty: no smoothing, no parameters beyond the bracket size, just a tally a trader can keep by hand from the developing profile. That simplicity dates to the pit era, when a pressure gauge needing no volume feed was genuinely valuable.

The count quantifies attempted direction: a strongly positive total says buyers controlled most of the period-by-period auctions, a strongly negative one says sellers did, and a total near zero reads as balance. Because it only tallies attempts, profile traders judge it against what price actually achieved on the [TPO profile](https://www.luxalgo.com/library/concept/tpo-profile/): persistent positive rotations with no upward progress are a classic effort-versus-result warning that responsive sellers are absorbing.

Modern order-flow tools ask the same question from different raw material, which makes them natural cross-checks. [Volume delta](https://www.luxalgo.com/library/concept/volume-delta/) counts traded aggression at the bid and ask, the [volume profile](https://www.luxalgo.com/library/concept/volume-profile/) shows where the session's business actually concentrated, and migration of the [point of control](https://www.luxalgo.com/library/concept/point-of-control/) tracks where value is being accepted. When the rotation count and the volume-based reads agree, the directional story is coherent; when they split, most traders downgrade the count, since bracket extremes are easier to push than real volume.

## How to calculate the rotation factor on a chart

The statistic needs nothing but a session divided into fixed periods, thirty-minute brackets on most profile charts.

1. Split the session into its TPO brackets and take the first bracket as the baseline; it receives no score.
2. For each later bracket, compare highs with the bracket before: a higher high scores +1, a lower high -1, an unchanged high 0.
3. Score lows the same way (+1 higher, -1 lower, 0 unchanged), giving every bracket a combined score between -2 and +2.
4. Keep a running sum through the session; the closing total is the day's rotation factor.
5. Read the total against the developing profile: check whether the count's direction is matched by range extension and by migration of the [value area](https://www.luxalgo.com/library/concept/value-area/), not just by probing extremes.

## How traders use it

- As a control gauge for the session: a count that builds steadily in one direction supports trading with the rotations, while a mixed reading near zero argues for two-sided, rotational tactics rather than trend-following.
- As a confirmation filter: strong rotation plus actual range extension supports continuation ideas, whereas strong rotation without range extension hints the attempted direction is being absorbed and may fail.
- As a divergence tell against price: when the rotation factor and the direction of value disagree, many profile traders stand aside or lean responsive, since the count says nothing about follow-through.
- As an order-flow cross-check: lining the count up with a [delta profile](https://www.luxalgo.com/library/concept/delta-profile/) separates price-led rotation from volume-backed rotation; upward rotations printed on persistent selling delta warn that probes higher are being sold into.
- As a session-type input: steadily one-sided counts fit trend-day tactics, while counts oscillating near zero fit responsive trade around the edges of balance, with price's side of the [session VWAP](https://www.luxalgo.com/library/concept/session-vwap/) as a companion reference.

## Rotation Factor vs other pressure gauges

- **TPO Profile** (https://www.luxalgo.com/library/concept/tpo-profile/): The profile is the structure and the rotation factor a statistic computed from it: TPOs show where time accumulated at price, while the count compresses bracket-to-bracket direction into a single number. Profile traders read them together, structure first.
- **Volume Delta** (https://www.luxalgo.com/library/concept/volume-delta/): Both score buying against selling from different raw material. Delta needs tick data and counts volume trading at the ask versus the bid; the rotation factor needs only bracket highs and lows. Delta measures executed aggression, the count measures attempted direction.
- **OBV** (https://www.luxalgo.com/library/concept/obv/): OBV accumulates volume by the sign of each close-to-close change, runs continuously across sessions, and has no natural bound. The rotation factor ignores volume, is bounded by the session's bracket count, and resets daily, a day-timeframe tool by construction.

## FAQ

### How is the rotation factor calculated?

Each TPO period (typically 30 minutes) is compared with the one before it: a higher high counts +1 and a lower high -1, a higher low counts +1 and a lower low -1, and unchanged extremes count 0. Every bracket therefore scores between -2 and +2, and the session's rotation factor is the running sum of those scores.

### What does a positive rotation factor mean?

More of the session's rotations probed higher than lower, meaning buyers won the bracket-by-bracket auction. That is attempted direction, not achieved direction. Profile traders check it against actual price progress and range extension; a strongly positive count on a flat profile suggests responsive sellers are absorbing the attempts, which weakens the bullish read.

### What is a good rotation factor reading?

There is no universal threshold, because the possible range depends on the session's bracket count: a 13-bracket US equity day gives twelve scored comparisons, so its total can only span -24 to +24. Totals near zero read as balance, totals approaching the bound read as strongly one-sided, and practitioners judge the number relative to that day's maximum rather than against a fixed level.

### Does the rotation factor use volume?

No. It is computed purely from bracket highs and lows, which is also its blind spot: extremes can be probed on thin trade. That is why practitioners cross-check the count with volume-based reads, from [relative volume](https://www.luxalgo.com/library/concept/relative-volume/) to delta, before trusting a directional conclusion.

### Where does the rotation factor come from?

From Market Profile, the auction-market framework J. Peter Steidlmayer developed at the Chicago Board of Trade in the early 1980s. The statistic spread mainly through James Dalton's Mind Over Markets, which presents it as a quick arithmetic read on which side is winning the half-hour auctions.

### Can the rotation factor be used on 24-hour markets?

Yes, with a convention. The calculation only needs defined brackets, so continuous markets require choosing a session anchor: the exchange day, a regional session, or a custom window. Different anchors produce different counts, so consistency matters more than the particular choice.

## Implementations in the Library

- Rotation Factor (LuxAlgo): https://www.luxalgo.com/library/indicator/rotation-factor/

## Related concepts

- Initial Balance: https://www.luxalgo.com/library/concept/initial-balance/
- TPO Profile: https://www.luxalgo.com/library/concept/tpo-profile/
- Single Prints: https://www.luxalgo.com/library/concept/single-prints/
- Unfinished Auction: https://www.luxalgo.com/library/concept/unfinished-auction/
- Excess: https://www.luxalgo.com/library/concept/excess/
- Balance vs Imbalance: https://www.luxalgo.com/library/concept/balance-vs-imbalance/
- One-timeframing: https://www.luxalgo.com/library/concept/one-timeframing/
- Day-type Taxonomy: https://www.luxalgo.com/library/concept/day-type-taxonomy/
- Value Migration: https://www.luxalgo.com/library/concept/value-migration/
- 80% Rule: https://www.luxalgo.com/library/concept/80-percent-rule/

---

Source: https://www.luxalgo.com/library/concept/rotation-factor/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/