About

QuantSmart began because a number looked too good, and checking it took longer than building the thing that produced it.

How it started

The first version of this backtester reported that a simple momentum rule on Indian equities had returned 49% a year over a decade. The code was correct. The prices were real. The arithmetic checked out.

Then we printed the list of companies it had bought. Several were unfamiliar. One traded about ten thousand rupees a day in total. The strategy had been buying five crore of it.

Adding a liquidity filter — only rank companies actually traded in meaningful size — brought the figure to 19%. Thirty percentage points, from acknowledging that a market has two sides.

That was the first correction. It was not the last, and the pattern held each time: the errors that flatter you are the ones that survive, because nobody investigates good news.

What we corrected next

1,512 files Price histories that had silently stopped updating. No error, no warning — just months of stale data behind every result.
The wrong index A benchmark file labelled Midcap 100 that contained the Midcap 50. Found by noticing the level looked wrong.
66.8% How often a common statistical method claimed significance on data where the true effect was exactly zero. It should be 5%.
Net above gross An impossible result, caught because it was impossible. Costs were being applied to one side of a calculation and not the other.

What we believe about testing

Errors are not random. A bug that makes a strategy look worse gets found, because you go looking for it. A bug that makes it look better gets celebrated. Any honest process has to work against that.

One window is one observation. The same rule tested over sixteen overlapping three-year periods beat its benchmark in eleven and lost in five. The best window returned 48%; the worst returned 3.85% while the index rose 15%. Reporting only the first would not exactly be a lie. It would be a selection.

The benchmark is not the index. Five equally weighted stocks picked at random beat a cap-weighted index of fifty by about four points a year. If your rule does not beat random selection, the rule is not what is producing your returns.

Costs decide most of it. Across everything we have tested, the liquidity filter and the tax treatment moved results far more than the choice of ranking formula — which, tested across 41 quarters, moved them not at all.

Who is behind it

QuantSmart Technologies is built and run by Avinash Gupta in Ahmedabad. It is a small, independent project rather than a firm.

The platform runs on end-of-day price data for roughly 2,400 NSE-listed companies and annual published accounts for around 2,300 of them, with the cost and tax model applied consistently across every tool.

avinash301304@gmail.com

Known limitations

We would rather you heard these from us.

Survivorship bias. Built-in universes use current index members applied to earlier years. Companies that failed are absent, so results are optimistic by an unknown amount.

Publication dates. Annual accounts are assumed available 90 days after each period ends, because the source carries no verified announcement date.

Dividends. Prices are adjusted for splits and bonuses but total return including dividends is not modelled.

Market impact. Slippage is a single assumed rate. A large order moves the price more than that.

Tax is a model. Whether frequent trading is assessed as capital gains or business income depends on circumstances, and rates change with each Finance Act. Consult a chartered accountant.