PlainQuant

Our approach

How the numbers work

Same data, same code, same rules for everyone.

The honest card

The gap is what most backtests miss.

  1. Survivorship

    Testing only today's listed companies skips those that went bust, went private or left the index — often the worst losers — so almost any rule looks better. We test on the stocks available on each past date, delisted ones included where the data has them.

  2. Overfitting

    Try enough settings and one will look great by chance. We count your tries, test on years the rule wasn't tuned on, and discount the result. A rule that works for only one setting is describing the past.

  3. Costs

    Every trade pays commission, exchange fees, Hong Kong stamp duty and the bid-ask spread; frequent trading can lose most of its paper profit to them. We charge broker-like fees on every simulated trade and show what costs took.

Do the scores predict?

Each month since 2018, we ranked every stock by each score and compared its next 3-month return with the average stock.

Neither score beat chance at ranking future returns, so Overall weights them equally. The scores describe a stock; they are not a forecast.

ScoreRank correlationStrength (t)Best tenth minus worst tenthMonthsWeight in Overall
Business0.0080.60.4%10050%
Trend-0.012-0.30.1%8750%

Business

BandHigher after 3 monthsAgainst the average stockFell 10% or more within 3 monthsStock-months
Business strong57%0.4%39%11619
Business good56%-0.2%38%11865
Business mixed56%-0.4%39%11873
Business weak56%0.1%41%22886

Trend

BandHigher after 3 monthsAgainst the average stockFell 10% or more within 3 monthsStock-months
Trend strong54%-0.1%41%11288
Trend good57%-0.0%36%11529
Trend mixed57%0.3%36%11534
Trend weak56%-0.1%41%22234

Strength below 2 could be chance. Returns include dividends; a stock that stopped trading keeps its last price. Overlapping monthly samples lower the strength accordingly.

Check a stock