# System Quality Number (SQN)

> The System Quality Number (SQN) scores how reliable a trading edge is. Learn Van Tharp's SQN formula, the rating scale, why it caps at 100 trades, and its limits.

Canonical: https://www.journalx.io/glossary/system-quality-number

The **System Quality Number (SQN)** is a score for how reliable a trading system's edge is. It was developed by Van K. Tharp, the trading coach and author of *Trade Your Way to Financial Freedom*, to answer a question raw profit can't: is the average result big enough, compared with how much individual trades vary, to trust?

Two systems can have the same [expectancy](/glossary/expectancy). If one gets there with tightly grouped results and the other with wild swings between big wins and big losses, the first one is far easier to trade and far easier to believe. SQN puts a number on that difference.

## How the System Quality Number Works

> SQN = (Average R-multiple ÷ Standard deviation of R-multiples) × √(Number of trades)

Each trade goes in as an [R-multiple](/glossary/r-multiple), the profit or loss divided by the amount you planned to risk. The average of those R-multiples is your expectancy in R. The standard deviation measures how widely individual trades spread around that average. Most traders cap the number of trades at 100, a version often called **SQN100** (see below).

Here is a system with 100 trades, an expectancy of +0.3R, and a standard deviation of 1.5R:

> SQN = (0.3 ÷ 1.5) × √100 = 0.2 × 10 = **2.0**

Now compare two systems, both measured on 100 trades:

|                                 | System A | System B |
| ------------------------------- | -------- | -------- |
| Expectancy                      | +0.5R    | +0.3R    |
| Standard deviation              | 2.5R     | 1.0R     |
| Expectancy ÷ standard deviation | 0.20     | 0.30     |
| **SQN (100 trades)**            | **2.0**  | **3.0**  |

System A earns more per trade. System B earns less, but its trades cluster much closer to the average, so the edge is clearer and the ride is smoother. SQN ranks B higher. It is the same idea as the [Sharpe ratio](/glossary/sharpe-ratio), applied to trades instead of days.

## What Is a Good SQN?

Tharp's rating scale, as documented in the [Backtrader SQN analyzer](https://backtrader.readthedocs.io/en/latest/api/analyzers/backtrader.analyzers.sqn.html):

| SQN           | Rating                       |
| ------------- | ---------------------------- |
| Below 1.6     | No clear edge, hard to trade |
| 1.6 to 1.9    | Below average                |
| 2.0 to 2.4    | Average                      |
| 2.5 to 2.9    | Good                         |
| 3.0 to 5.0    | Excellent                    |
| 5.1 to 6.9    | Superb                       |
| 7.0 and above | "Holy Grail"                 |

Treat the top of the scale with suspicion. An SQN above 5 on a backtest is more often a sign of overfitting, a too-small sample, or missing costs than of a real holy grail. The same source suggests at least 30 trades before reading SQN at all.

## SQN Is a T-Statistic in Disguise

Rearrange the formula and something familiar appears. The standard error of your expectancy is the standard deviation divided by √N. So:

> SQN = Expectancy ÷ (Standard deviation ÷ √N) = Expectancy ÷ Standard error

That is the [t-statistic](https://en.wikipedia.org/wiki/T-statistic) for "is the average trade above zero?" An SQN of 2 means your expectancy sits about two standard errors above zero, roughly the usual threshold for a result that is unlikely to be pure luck. Below that, a positive record could plausibly come from a system with no edge at all.

This links SQN directly to sample size. The formula in [How Many Trades Do You Need to Judge a Strategy?](/blog/how-many-trades-to-evaluate-a-strategy), (2 × standard deviation ÷ expectancy)², is the number of trades at which SQN reaches 2. For the +0.3R system above, that is (2 × 1.5 ÷ 0.3)² = 100 trades.

## Why SQN Is Capped at 100 Trades

Because SQN grows with √N, any positive edge scores higher just by trading more. Keep the +0.3R, 1.5R system and stop capping the trade count:

![The same trading edge, +0.3R expectancy with a 1.5R standard deviation, scores an SQN of 2.0 at 100 trades, 4.0 at 400 trades and 7.0 at 1,225 trades unless the trade count is capped at 100](https://assets.journalx.io/marketing/glossary/system-quality-number/sqn-vs-number-of-trades.avif)

At 100 trades it is "average" at 2.0. At 400 trades it reads 4.0, "excellent." At 1,225 trades it hits 7.0, the "Holy Grail." The edge never changed. Only the sample grew.

That is why an uncapped SQN is really a measure of confidence, and a capped one is a measure of quality. Use the uncapped figure to ask "have I traded enough to trust this?" Use SQN100 to compare a scalping system with 2,000 trades a year against a swing system with 60.

Never compare SQN scores built on different trade counts. A day trader with 1,000 trades and a mediocre edge can outscore a swing trader with 80 trades and a much better one, unless both are capped at 100.

## Key Takeaways

- SQN = average R-multiple ÷ standard deviation of R-multiples × √(number of trades), with the count usually capped at 100.
- It rewards an edge that is large relative to the spread of results, not just a high average.
- On Tharp's scale, 2.0 to 2.4 is average, 2.5 to 2.9 is good, and 3.0 to 5.0 is excellent.
- Mathematically, SQN is the t-statistic of your expectancy. An SQN near 2 means the edge is about two standard errors above zero.
- Uncapped SQN grows with sample size, so only compare scores built on the same trade count.

## Common Mistakes

**Comparing uncapped scores.** A system with more trades always looks better without the cap. Use SQN100 for comparisons.

**Using dollars when position size changes.** If you risked $100 per trade last year and $400 this year, dollar P\&L mixes two scales and inflates the standard deviation. R-multiples put every trade on the same footing.

**Trusting a score from 20 trades.** On a small sample, the standard deviation itself is unreliable, so the SQN can land almost anywhere. Wait for at least 30 trades, and treat anything under 100 as provisional.

**Blending setups.** One SQN for everything you trade can hide a strong [setup](/glossary/setup) behind a weak one. Calculate it per setup when you have the sample.

**Reading it as the whole picture.** SQN treats a big winning trade as variability, the same way the Sharpe ratio does, so trend-following systems that live on rare large winners score lower than they feel. It also ignores the order of trades, so read it next to your [profit factor](/glossary/profit-factor) and drawdown.

## How JournalX Tracks Your SQN Inputs

SQN is only as good as the R-multiples behind it, and those depend on knowing the risk you planned before each trade. JournalX records that plan with the trade through pre-trade planning, so each result can be read in R. From there you can see expectancy and [win rate](/glossary/win-rate) for your whole record, or filter it down to one setup, session, or Gameplan to check whether that slice has enough trades, and a tight enough spread of results, to trust.
