Skip to main content
Market Read in a Script panel, clocked by BTC

BTC on 1-hour bars in the 0xArchive Terminal, 2026-10-26.

Open on a chart

Load it on BTC 1h in the terminal, then change its settings or open it in the script editor.
Who is opening positions and who is closing them, across 20 of Hyperliquidโ€™s largest perps at once. It is a panel script: it runs in a Script panel of its own, clocked by BTCโ€™s hourly bars, rather than on a chart. Adding it from a chartโ€™s Indicators opens one. The panelโ€™s settings change the market and timeframe it runs on.
  • Positioning, the map: each market by its price change and its open interest change over the last Change bars bars. Price and open interest both up is new longs; price up on falling open interest is shorts covering; price down on rising open interest is new shorts; both down is longs exiting. Each point trails where it was, as a relative rotation graph does, so you can see which way it is turning.
  • Markets, the table: each marketโ€™s quadrant, its two changes, its own move (its return less what its beta to the market explains) and that beta. Sort by any column; a marketโ€™s name shows it on the linked charts.
  • Positioning history: how many of the 20 sat in each quadrant on every bar, stacked.
  • The tiles: the quadrant most markets are in, the equal-weighted marketโ€™s move, the average change in open interest, and Absorption.

How it works

Open interest is counted in coins, so a change in it is positions opened or closed, not price revaluing the old ones. panel.scatter places each market, with its earlier positions as tail; panel.table and panel.stats hold the rest, and a graph with stack: true the history. Absorption is a rolling PCA of the 20 marketsโ€™ hourly returns (Kritzman, Li, Page and Rigobon, 2010): the share of their variance the top 4 components explain. Over 75% the market is one trade, and a marketโ€™s own move matters less than the beta it carries. Each marketโ€™s beta is a rolling stats.beta against the equal-weighted market, fitted on bars before the one it is used on.

The script

market-read.ts

Next step

See the next example, Funding carry.
Last modified on October 26, 2026