The Tradient Score

How Tradient ranks scan results — the exact formula, weights, and category-aware logic behind the 0-100 composite.

9 min readscoringrankingmath

The Tradient Score is a single 0-100 number we attach to every scan result so you don’t have to eyeball five columns at once. It blends probability of profit, risk:reward, IV-rank fit, liquidity, and annualized return into one composite. This page documents the exact formula — no black box.

The formula

Each component is normalized to a 0-1 scale, then combined with fixed weights:

FilterDefaultWhat it does
POP0.45Probability of profit
Risk:Reward0.25Reward per unit of max risk
IV fit0.15Whether IV rank matches the strategy's preference
Liquidity0.10Contract volume on the legs
Annualized return0.05Return scaled to a 1-year basis

The final score is round((sum of weighted components) × 100, 1). POP and R:R do most of the work; the smaller weights are tiebreakers, not drivers.

Why these weights

POP gets the largest slice because it’s the only component that directly answers “will this trade win?” Everything else either describes the magnitude of the win (R:R, return) or whether the setup is appropriate (IV fit, liquidity). A high R:R trade with low POP is a lottery ticket; a high POP trade with mediocre R:R is the income trader’s bread and butter — and Tradient is mostly an income tool, so the weights reflect that.

Aside
These weights are intentionally fixed and visible. We do not use machine learning to set them — ML weights drift, get overfit, and are impossible to explain to a user mid-trade. Hand-set, documented weights are auditable and stable.

The components in detail

POP component

POP arrives as a number between 0 and 1. The component function penalizes anything below a coin flip linearly, then rewards POP above 0.5 on a steeper curve so the difference between 75% and 85% POP actually shows up in the score:

  • POP ≤ 0.5 → component = POP × 0.8
  • POP > 0.5 → component = 0.4 + (POP − 0.5) × 1.2 (capped at 1.0)

A 60% POP gives 0.52. A 75% POP gives 0.70. A 90% POP gives 0.88. The curve is gentle but real.

Risk:reward component

For defined-risk trades, R:R is reward/risk — i.e. credit divided by max loss for credit spreads, debit divided by max profit for debit spreads. We map it linearly into [0, 1] and cap at 1.0:

  • R:R ≤ 0 → 0
  • 0 < R:R < 1 → R:R
  • R:R ≥ 1 → 1.0

A 0.25 R:R (typical iron condor) scores 0.25 on this component. A 1:1 trade gets the full 1.0. Above 1:1 we cap — more reward than risk is always good, but the marginal value of going from 1:1 to 2:1 is captured in POP, not R:R.

IV fit component (the category-aware one)

This is where Tradient gets opinionated. IV rank is normalized to 0-1, then flipped depending on the strategy category:

  • Income / credit strategies (iron condor, short strangle, CSP, covered call, bull put spread, bear call spread) → component = IV rank / 100. High IV is good.
  • Long premium strategies (long straddle, bull call spread, bear put spread, etc.) → component = 1 − (IV rank / 100). Low IV is good.
  • Hedging / other → component = 0.5 (neutral).

This is why a long straddle in IV rank 20 gets a higher score than the same straddle in IV rank 70 — even though the nominal POP and R:R might be identical. The scanner is rewarding you for buying cheap vol when you’re long premium, and selling expensive vol when you’re short premium.

Liquidity component

Liquidity is total contract volume across the strategy’s legs. The function rewards real liquidity sharply but caps early so a wildly liquid name doesn’t dominate:

  • volume ≤ 0 → 0
  • volume < 100 → volume / 200
  • 100 ≤ volume < 1000 → 0.5 + (volume − 100) / 1800
  • volume ≥ 1000 → 1.0

Below 100 contracts you’re flagged as illiquid and the component is < 0.5. Above 1000 you’re fully liquid; more doesn’t help.

Return component

Annualized return is scaled so 100% maps to 1.0 and anything higher caps. 25% annualized scores 0.25; 50% scores 0.50. This is the smallest weight on purpose — Tradient does not want to encourage chasing yield.

A worked example

Suppose the scanner returns a 30 DTE bull put spread on AAPL:

  • POP: 0.78 → component 0.74
  • R:R: 0.30 → component 0.30
  • IV rank: 55 (income strategy) → component 0.55
  • Volume: 850 → component 0.92
  • Annualized return: 32% → component 0.32

Weighted sum: 0.74×0.45 + 0.30×0.25 + 0.55×0.15 + 0.92×0.10 + 0.32×0.05 = 0.333 + 0.075 + 0.0825 + 0.092 + 0.016 = 0.598. Score: 59.8.

That’s a solidly above-average bull put spread. Anything above 65 is excellent; below 40 is suspect.

Score is one signal, not a verdict

The Tradient Score is the default sort key, not a buy recommendation. A 75-score trade on a name with a binary catalyst tomorrow is still a bad trade. A 55-score trade on a name with constructive technicals and no events is often a better one. Use the score as a starting filter; check the rest of the row before placing.

Where to go next