Skip to content
View Finance-broski's full-sized avatar

Block or report Finance-broski

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Finance-broski/README.md

Ayan Jain

I measure what backtests lie about.

Independent quantitative researcher and backtest auditor. I build systematic strategies and audit the data and code underneath them (point-in-time universes, survivorship, look-ahead, costs) before real capital is at risk.

Published research

Survivorship Bias in Indian Equities is not a Number (SSRN, 2026). Survivorship bias is not a single figure. I measure it at anywhere from +0.8 to +3.2 percentage points a year on the same market, driven entirely by vintage and universe-construction choices most tools never report.

What I ship

  • pairdesk: a weekly US equity pairs desk. ~1,900 names, 1.7 million pairs, walk-forward statistics, capacity, market-beta per spread, caveats printed on the page, and the fourteen-section self-test that killed the product's original claim published beside a complete free build. The weekly refreshed desk and brief are paid; reach me on any link below.
  • backtest-bias: open-source library (pip install backtest-bias) that flags survivor-only data in any backtest pipeline and fails your CI build when it silently goes biased. Survivorship detection and integrity gates for financial price panels.
  • pit-data-sample: point-in-time NSE/BSE data with a reproducible bias-demonstration notebook.
  • nse-factor-backtest: research-grade factor backtester with pre-registered testing.
  • nse-fundamental-screener: Magic Formula, Quality, and Piotroski F-Score ranking on Indian equities.

A measured example

24% of the top-500 Indian stocks (by 2015 turnover) are invisible to yfinance today: delisted, merged, or renamed with no map back. Test on the survivors only and your equity curve is built from a roster knowable only in hindsight. Full method and numbers in the paper and on Kaggle.

The work

If you are about to fund, trade, or lever a strategy on the strength of a backtest, I audit it: survivorship, look-ahead, cost realism, execution feasibility, overfitting, statistical validity. One written verdict, reported vs honest numbers. Details at finance-broski.github.io.

Find me

Website | LinkedIn | Substack (The Bias Ledger) | Kaggle | SSRN

Pinned Loading

  1. pairdesk pairdesk Public

    A pairs screener that publishes the test it failed. Weekly US equity pairs desk, self-test included.

    HTML 4 1

  2. backtest-bias backtest-bias Public

    Checks whether your backtest data is lying to you: survivorship detection and CI integrity gates for financial price panels.

    Python 12 4

  3. graveyard graveyard Public

    A public ledger of dead trading strategies. 155 tested on Indian markets, 12 survived, 2,123 configurations recorded. Every verdict with its numbers, every retraction in public.

    HTML 1

  4. us-death-registry us-death-registry Public

    Every invisible name of the S&P 500's past, with a sourced cause of death. The open registry behind the measured survivorship and ticker-identity constants at financebroski.com.

    Python 1

  5. pit-data-sample pit-data-sample Public

    A runnable notebook showing how survivorship + look-ahead bias inflate Indian equity backtests — and the point-in-time data that fixes it.

    Jupyter Notebook

  6. nse-factor-backtest nse-factor-backtest Public

    Research-grade NSE factor backtester — deflated Sharpe, survivorship-free, pre-registered.

    Python 2