a backtest that ignores costs is fiction
the first version of every backtest i wrote was a lie. it bought at the close, sold later, and reported a number that felt great. then i added the indian cost model to indie market analyst — stt, stamp duty, exchange charges, sebi fees, gst, brokerage — and a lot of "strategies" quietly died. good. they were never alive.
the second lie is subtler: lookahead. it's terrifyingly easy to let a backtest peek at data it couldn't have known yet. that's why in the alt-data platform i made point-in-time correctness structural — every feature carries the date it was published, and every read filters to what was knowable at the as-of moment. there's no api to see the future. you have to build the constraint into the foundation, because if you leave it to discipline, you will cheat without noticing.
honesty in financial software isn't a feature you add. it's the load-bearing wall.
written by dharun ashokkumar · more reflections