A quantile sort is the most direct way to see whether a signal does anything. On each rebalance date, rank every stock in the universe by the signal, cut the ranking into equal-sized buckets, hold each bucket until the next rebalance, and record what each one returned.
Sorting the Nifty 500 by 12-month return into five buckets with a monthly rebalance gives you 100 names per bucket and roughly 180 rebalances across 15 years. The output is one average return per bucket, and the shape of those five numbers is the finding.
Monotonicity is the test
| Bucket | Profile A (mean monthly return) | Profile B (mean monthly return) |
|---|---|---|
| Q1 (lowest signal) | 0.42% | 0.95% |
| Q2 | 0.71% | 1.31% |
| Q3 | 0.98% | 0.68% |
| Q4 | 1.24% | 1.44% |
| Q5 (highest signal) | 1.55% | 1.62% |
| Q5 minus Q1 | 1.13% | 0.67% |
Both profiles are illustrative. Profile A steps up at every bucket, which is what a signal with genuine ordering power looks like. Profile B has the best top bucket and the worst third bucket, and the ordering is scrambled in between. Profile B’s spread is real arithmetic and almost certainly not a factor. A signal that only works at the extreme is usually a handful of names doing the work, and those names generally have something else in common, such as being the smallest or the least liquid in the universe.
Check both ends. A spread carried entirely by the bottom bucket is a short thesis, and shorting Indian smallcaps has borrow constraints that a long-short chart does not show.
Choosing the bucket count
Bucket count trades resolution against sample size per bucket. Deciles on the Nifty 500 give 50 names each, which is workable. Deciles inside a sector-neutral sort where the sector has 30 members give three names per bucket, and three names is a coin flip rather than a portfolio. Match the bucket count to the smallest group you will sort within.
Caveats
Buckets pick up unintended exposures. A value sort tends to fill its cheap bucket with smaller and more leveraged companies, so what looks like a value result may be a size and risk result. Comparing the sort within sectors, or within size bands, separates the two.
The extreme buckets concentrate the illiquid names. Impact cost on the top decile of a Nifty 500 sort is materially higher than the universe average, and the spread shrinks once realistic costs are applied.
Rebalance frequency drives turnover, which drives cost. A monotone sort with a 1.13% monthly spread and 90% monthly turnover may not survive brokerage, STT and impact.
Stability across the sample is the last check. Run the sort separately on the first and second halves. A monotone pattern that only appears in one half is not yet evidence.