What it is

Point & Figure (P&F) is a charting method that plots price movement on its own, without a time axis. Rising prices are recorded as a column of Xs and falling prices as a column of Os. A mark is added only when price moves by at least one box — a fixed increment set in advance — and the chart switches to a new column only when price reverses by a set number of boxes. Because it advances on price rather than on the calendar, quiet stretches and moves too small to fill a box leave the chart unchanged; only moves large enough to register appear. It is among the oldest Western charting techniques, predating the bar and candlestick charts in common use today.

How it’s computed

Three parameters define a P&F chart:

  • Box size — the increment a move must cover to add a mark. It can be a fixed dollar amount, or a fixed percentage so that equal-percentage moves span an equal number of boxes anywhere on the axis. The specimen below uses 10% logarithmic boxes.
  • Columns — while price rises box by box, marks stack upward as Xs; while it falls, marks stack downward as Os. A single column holds only one type of mark.
  • Reversal — the chart stays in the current column until price reverses by the reversal amount against it, at which point a new column of the opposite mark begins. The specimen uses the classic 3-box reversal: price must retrace three boxes before the chart turns, which filters out smaller reversals.

Reproducibility. The specimen is generated by exhibits/pnf_specimen.py from frozen Rivian (RIVN) unadjusted daily OHLC bars using high–low construction, with each bar’s high tested before its low (RIVN had no split or dividend in the window). The full public history ships alongside the chart as RIVN daily bars (.csv) with a provenance sidecar. The generator recomputes the columns from the pure P&F logic and verify()-asserts the column geometry (box span, first and last column direction, the boxes bracketing the $179 peak and the $12 base) before it draws, so the chart cannot drift off the data. Regenerate with cd apps/engine && uv run python -m exhibits.pnf_specimen.

How to read it

The mechanical conventions, as drawn:

  • An X column is a column of demand — price advancing box by box.
  • An O column is a column of supply — price declining box by box.
  • The height of a column is the extent of an uninterrupted move; the number of boxes is its size in the chart’s units.
  • With constant-percentage (log) boxes, equal-percentage moves cover equal vertical distance anywhere on the axis, so a wide price range fits one grid without the top compressing the bottom.
Point & Figure chart of Rivian (RIVN) drawn with 10% logarithmic boxes and a three-box reversal. A stack of O (supply) columns steps down from the $179 IPO peak of 2021–22 to a base near $12, then X (demand) columns step back up through 2023. A key in the top-right marks X as demand and O as supply.
Exhibit 1Point & Figure — Rivian (RIVN), 10% log boxes, 3-box reversal. Rivian’s whole public history, from the November 2021 IPO through September 2023, drawn on a single P&F grid: O columns step down from the $179.47 IPO peak to the $11.68 base of 2023, then X columns step back up. Because the boxes are a constant 10%, the roughly 15-fold price range fits one legible axis. Generated from frozen RIVN unadjusted daily OHLC bars using high–low construction (high tested before low) by exhibits/pnf_specimen.py, which asserts the column geometry before drawing.