System Quality Number (SQN) is a composite metric developed by Dr. Van K. Tharp that evaluates a trading system by combining its average edge, consistency, and the statistical weight of its sample size into a single score. Introduced in Trade Your Way to Financial Freedom (1999, updated 2007), SQN gives traders an objective way to compare systems — discretionary or algorithmic — without being distorted by dollar amounts or position sizes.
Key Takeaways
- SQN above 2.5 indicates a good system; scores require at least 30 trades to be statistically meaningful.
- A low SQN can signal two distinct problems — weak edge (low mean R) or inconsistent execution (high R-multiple variance) — and each requires a different fix.
- SQN normalizes for risk via R-multiples, making it the most reliable way to compare two strategies that use different dollar amounts per trade.
How to Calculate System Quality Number (SQN)
The formula is:
SQN = (Mean R-multiple ÷ StdDev of R-multiples) × √(number of trades)
Step 1 — Convert trades to R-multiples. Divide each trade’s net P&L by the initial dollar risk on that trade. If you risked $200 and made $400, the R-multiple is +2.0R. A $150 loss on a $150 risk is -1.0R.
Step 2 — Calculate the mean. Sum all R-multiples and divide by trade count. This is the expectancy per unit of risk.
Step 3 — Calculate the standard deviation. This measures how consistent the outcomes are. A tight distribution around the mean produces a low standard deviation; a mix of large winners and large losers produces a high one.
Step 4 — Apply the formula. Divide mean by standard deviation, then multiply by the square root of trade count. The square root term rewards larger samples — a 100-trade dataset earns more confidence than a 30-trade one with identical mean and standard deviation.
Quick Reference
| Aspect | Detail |
|---|---|
| Formula | (Mean R ÷ StdDev R) × √N |
| Poor | Below 1.6 |
| Below Average | 1.6–1.9 |
| Average | 2.0–2.4 |
| Good | 2.5–2.9 |
| Excellent | 3.0–5.0 |
| Superb (caution) | 5.0+ |
| Minimum sample | 30 trades |
| Overfitting signal | Above 7.0 on fewer than 100 trades |
Practical Example
An ES (S&P 500 e-mini) futures day trader runs 60 trades over three months, risking $150 per trade with a 3-tick stop.
- Mean R-multiple: +0.55R
- Standard deviation of R-multiples: 1.6R
- SQN = (0.55 ÷ 1.6) × √60 = 0.344 × 7.75 = 2.66 — “Good”
The trader then widens the stop to 6 ticks to avoid shake-outs. Risk per trade doubles to $300, but win rate and average winner both shrink. The next 40-trade sample shows:
- Mean R-multiple: +0.30R
- Standard deviation: 2.1R
- SQN = (0.30 ÷ 2.1) × √40 = 0.143 × 6.32 = 0.90 — “Poor”
Dollar P&L looked similar across both periods, but SQN revealed the wider stop destroyed system quality. The profit factor alone would not have isolated the cause — SQN flagged both the weaker mean and the increased variance from the stop change.
System Quality Number, or SQN, is a single score that tells you how good a trading system is. It factors in your average profit per unit of risk, how consistent your results are, and how many trades you have taken. Higher is better.
Common Mistakes
-
Calculating SQN on fewer than 30 trades. A 10-trade winning streak can produce an SQN above 5.0 that collapses to 1.8 by trade 40. Treat any score below 30 trades as preliminary data, not a validated signal.
-
Ignoring which component is dragging the score down. If SQN is low because mean R is near zero, the system lacks edge — review entry criteria. If mean R is healthy but standard deviation is high (for example, 1.0R mean with 3.5R standard deviation), the problem is execution inconsistency: oversized winners offset by outsized losers, often caused by moving stops or holding past targets. These require different fixes.
-
Treating a high SQN as permanent. Prop traders and systematic traders use a rolling 50-trade window to track SQN over time. A drop from 2.8 to 1.4 over 40 live trades is a concrete signal to pause and audit — not bad luck. A stable SQN during a drawdown confirms the system’s R-multiple distribution is intact.
-
Ignoring SQN above 7.0 on small samples. A SQN above 7.0 on fewer than 100 trades almost always reflects curve-fitting on historical data, not genuine edge. Per Tharp’s workshops, this is a red flag to stress-test the system on out-of-sample data before trading it live.
How JournalPlus Tracks System Quality Number (SQN)
JournalPlus calculates SQN automatically from logged trades, provided each trade has an initial risk amount recorded at entry. The dashboard displays rolling SQN across configurable windows — 30, 50, or 100 trades — so traders can monitor system health in real time without exporting data to a spreadsheet.