The Arms Index, usually written as TRIN, is a market breadth ratio that compares how many stocks are rising against how much volume is flowing into them. Richard W. Arms Jr. introduced it in 1967, and it still prints on most professional platforms as $TRIN for the NYSE and $TRINQ for the Nasdaq. The scale is inverted, so a low number is bullish and a high number is bearish, which is the single detail that trips up most people who see it for the first time.
TRIN belongs to the breadth family rather than the price momentum family. It says nothing about a single stock. It describes the internal balance of an entire exchange on a given day or a given minute, and it is most useful when it disagrees with what the headline index is doing. This guide gives the formula, walks a numeric example, covers the smoothed variant, and is honest about what the research literature actually supports.
What the Arms Index is really measuring
Two things move a market: how broad the participation is, and how much money backs it. The advance decline count answers the first question, up volume and down volume answer the second, and TRIN divides one by the other.
Imagine a session where 60 percent of listed issues close green. That sounds healthy. Now suppose almost all of the day’s volume traded in the 40 percent that closed red. The buying was thin and scattered, the selling was concentrated and committed. TRIN captures that mismatch in one number, which is why breadth readers keep it beside the index chart.
The TRIN formula
The calculation uses four exchange level inputs, all published in real time by the exchange and redistributed by data vendors.
| Component | Definition | Typical symbol |
|---|---|---|
| Advancing issues | Count of listed stocks trading above the prior close | $ADV |
| Declining issues | Count of listed stocks trading below the prior close | $DECL |
| Advancing volume | Total share volume in the advancing names | $UVOL |
| Declining volume | Total share volume in the declining names | $DVOL |
def trin(adv_issues, dec_issues, adv_volume, dec_volume):
if dec_issues == 0 or dec_volume == 0 or adv_volume == 0:
return None # undefined, skip the print
issue_ratio = adv_issues / dec_issues
volume_ratio = adv_volume / dec_volume
return issue_ratio / volume_ratio
print(round(trin(1200, 1600, 900e6, 2100e6), 2)) # 1.75Note the guard clause. Early in the session, before enough symbols have printed, a denominator can be zero and the ratio explodes. Most platforms do not draw TRIN for the first minute or two, and you should treat any reading before roughly 9:35 Eastern as noise.
A worked example
Three hypothetical NYSE sessions, all using the same formula. Volume figures are in millions of shares.
| Session | Adv / Dec issues | Issue ratio | Adv / Dec volume | Volume ratio | TRIN |
|---|---|---|---|---|---|
| Heavy selling | 1,200 / 1,600 | 0.75 | 900 / 2,100 | 0.43 | 1.75 |
| Broad rally | 2,000 / 800 | 2.50 | 2,600 / 500 | 5.20 | 0.48 |
| Balanced drift | 1,500 / 1,300 | 1.15 | 1,400 / 1,200 | 1.17 | 0.99 |
Look at the first row carefully. Only 57 percent of issues declined, which on its own is a soft down day. But 70 percent of the volume went through those decliners, so TRIN prints 1.75 and flags real distribution. The third row is the opposite lesson: a positive advance decline spread with almost identical volume weighting gives a neutral 0.99, which tells you the rally had no conviction behind it.
Reading the scale
Because the volume ratio sits in the denominator, the scale runs backward relative to intuition. The bands below are the ones in common use. They are conventions, not statistically validated thresholds, and they drift with market structure.
| TRIN reading | Interpretation | What it usually accompanies |
|---|---|---|
| Below 0.50 | Buying stampede, possibly overheated | Gap up days, short squeezes, index rebalances |
| 0.50 to 0.85 | Healthy, volume backed advance | Sustained trend days to the upside |
| 0.85 to 1.15 | Neutral, no breadth edge either way | Range days, holiday sessions |
| 1.15 to 2.00 | Genuine distribution | Trend days to the downside |
| Above 2.00 | Panic selling, often a washout | Macro shocks, forced liquidation |
Intraday behavior and the closing print
Intraday TRIN is jumpy. In the first ten minutes the volume counts are tiny and the ratio can swing wildly, then it settles as the tape fills in. Most desk traders use it in two ways during the session. First as a trend day filter: if TRIN opens below 0.70 and never trades back above 1.0, the odds favor buying pullbacks rather than fading strength, because the volume is one sided all day. Second as a reversal warning: an index making a new session high while TRIN drifts upward is a divergence worth respecting.
The closing print is a different animal. It is a single daily observation of the whole exchange, and it is what appears in most historical breadth datasets. Very high closing values have clustered around capitulation lows, which is why many people watch for a close above 2.0. That is a description of a pattern, not a tested trading rule.
The Open ARMS variant
The standard fix for a noisy indicator is a moving average, but averaging TRIN directly runs into the spike problem above. The Open ARMS Index, also called the Open 10 TRIN and associated with analyst Peter Eliades, solves that by aggregating the raw inputs before dividing.
# Open 10 TRIN: sum each component over 10 sessions, then apply the formula
open_trin = (sum(adv_issues[-10:]) / sum(dec_issues[-10:])) \
/ (sum(adv_volume[-10:]) / sum(dec_volume[-10:]))The result is a far smoother series that spends most of its life between roughly 0.80 and 1.20. Because the components are summed rather than the ratios averaged, a single violent day cannot hijack the reading. Traders who use it treat sustained values under about 0.85 as an overbought condition for the broad market and sustained values above about 1.10 as oversold.
What the evidence actually says
This is where a lot of trading content quietly falls apart, so here is the honest position. There is no strong published evidence that trading TRIN thresholds mechanically produces excess returns after costs. Breadth indicators in general are under researched compared with moving averages and momentum, and the studies that do exist rarely isolate TRIN.
What the broader literature on technical rules shows is worth knowing. Brock, Lakonishok and LeBaron found statistically significant returns for simple moving average and range breakout rules on the Dow between 1897 and 1986, published in the Journal of Finance in 1992. Seven years later Sullivan, Timmermann and White re ran that universe with a bootstrap that corrects for data snooping and found the results held up in the original sample but not in the period after it. Park and Irwin’s survey in the Journal of Economic Surveys counted 95 modern studies, of which 56 reported positive results, 20 negative and 19 mixed, and the authors were explicit that data snooping and selective reporting inflate that headline.
The practical takeaway: use TRIN as a description of the tape’s internal state, the same way you would use volume itself. Do not build an entry trigger out of a threshold you saw quoted on a forum. If you want a rule, test it yourself on your own data with realistic slippage, and expect the edge to be smaller than it looks.
Common problems and fixes
Four issues account for most of the confusion people run into with this indicator.
| Problem | Cause | Fix |
|---|---|---|
| Your TRIN does not match another platform | Different universe (NYSE composite versus NYSE common only versus Nasdaq) | Confirm which symbol you are pulling. $TRIN and $TRINQ are not interchangeable. |
| Wild spikes in the first minutes | Tiny volume denominators before the tape fills in | Ignore readings until roughly five minutes after the open. |
| Chart looks inverted or upside down | You expected a bullish reading to be high | Remember the volume ratio is the denominator. Some traders plot TRIN on an inverted axis to fix the mental load. |
| Smoothed TRIN behaves oddly | You averaged the ratio instead of summing components | Use the Open 10 method shown above. |
Frequently asked questions
Is a high TRIN bullish or bearish?
A high TRIN is bearish in the moment because down volume is outweighing the number of declining stocks. Very high closing values, above roughly 2.0, have historically appeared near short term panic lows, so some traders read extreme highs as a contrarian signal. Those are two different time frames and it helps to keep them separate.
What is a normal TRIN value?
Most sessions close somewhere between about 0.70 and 1.30. Exactly 1.0 means volume is distributed in perfect proportion to the advance and decline counts. The bands drift over time as market structure changes, so calibrate against a few years of your own data rather than trusting fixed numbers.
Can I use TRIN on individual stocks?
No. TRIN needs advance and decline counts across many issues, so it only exists at the index or exchange level. For flow inside a single symbol, use a volume weighted oscillator such as Chaikin Money Flow or the Money Flow Index instead.
What time frame should I chart TRIN on?
One minute or five minute for intraday trend day confirmation, and daily closes for swing context. Anything shorter than one minute is mostly quote noise. The Open 10 variant is designed for daily bars and is not meaningful intraday.
Does TRIN work on futures or forex?
Not directly, because those markets have no advance decline breadth. Futures traders do watch equity index TRIN as context for the ES and NQ contracts, since the underlying constituents are the same stocks. Forex has no equivalent breadth input at all.
The bottom line
TRIN is one of the cleanest ideas in market internals: compare where the stocks are going with where the shares are going, and read the gap. It costs nothing to display, the formula fits on one line, and it answers a question no price chart can answer. It also has an inverted scale that will confuse you for the first week, so put the interpretation table somewhere you can see it.
What it is not is a signal generator. Treat it as one input alongside price structure, volatility and your own risk rules, and expect it to be most useful on the days it disagrees with the index. If you are building a broader toolkit, the natural companions are MACD for trend state and candlestick reading for the bar by bar context that a breadth ratio simply cannot see.
