LEDGER — OPENING ENTRY

Trade your own thesis.
Backed by the desk's research.

Sarvy is a student-run research desk tracking NSE & BSE — Nifty, Bank Nifty, Sensex, and the sectors underneath. Members publish their thinking, the desk stress-tests it, everyone trades their own account.

Student-run desk Research only, not advice
SAMPLE FORMAT
NIFTY BANK · 1D OPEN FOR DEBATE
Filed bydesk member, yr 2
Methodmean-reversion, z-score
Thesisrange compression + vol drop
Watch levelflagged in thread
Peer review3 of 5 comments in
Format used across the desk's log. Figures intentionally left out here.
Entry 01 · What it is

A shared research log for the Indian market.

Every member brings their own edge — a support/resistance rule, a half-built factor model, a habit of reading concalls closely. It gets written down, argued with, and logged before anyone trades on it.

Independent & student-run NSE + BSE focused Peer-reviewed before it's logged Everyone trades their own account Research only — not advice
Entry 02 · The process

Four steps, in this order, every time.

Nothing gets logged until it's been through review, and no thesis is a signal to copy.

01

Research

A member drafts a thesis on a stock, sector, or index — chart, data, and the level at which they'd be wrong.

02

Review

The desk pokes holes in it — weekly sit-down and an open thread, nothing passes unchallenged.

03

Log it

Reviewed notes go into the shared ledger with entry logic and invalidation marked.

04

Trade independently

Each member decides for themselves — own account, own size, own risk.

Entry 03 · The quant side

Some entries are a chart. Others are a backtest.

Members comfortable with Python push their theses further — screening the Nifty universe, backtesting a rule before it's logged.

import pandas as pd
import numpy as np
import yfinance as yf

# mean-reversion screen, Nifty 50 name
df = yf.download("RELIANCE.NS", period="2y", interval="1d")
df["ret"] = df["Close"].pct_change()

roll = df["Close"].rolling(20)
df["zscore"] = (df["Close"] - roll.mean()) / roll.std()

# fade extreme moves back to the mean
df["signal"] = np.where(df["zscore"] > 1.5, -1,
                    np.where(df["zscore"] < -1.5, 1, 0))

strat_ret = df["ret"] * df["signal"].shift(1)
sharpe = strat_ret.mean() / strat_ret.std() * np.sqrt(252)
print(f"Annualised Sharpe: {sharpe:.2f}")

A 20-day z-score mean-reversion screen on a Nifty 50 name — nothing exotic, but it's the kind of check the desk expects before a "range-bound" thesis gets logged: does the number back up the chart.

Annualised Sharpe: 0.61 — logged with caveats, not as a green light.
Entry 04 · Who's on the desk

Every skill level, one shared ledger.

You don't need a finance degree — you need a method you're willing to write down and defend.

Entry level

The Screener

Support, resistance, volume on Nifty names. Learning to write a thesis before a trade, not after.

Building

The Quant-in-training

Backtests and factor screens in Python across the Nifty 500. Brings numbers, not certainty.

Context

The Macro Reader

RBI policy, crude, FII/DII flows — ties single-stock ideas back to the bigger picture.

Options flow

The Options Reader

Bank Nifty and Nifty weekly OI data for timing. Keeps the desk honest on entries and exits.

Educational use onlyNo advice · No pooled funds

Sarvy is an independent student community, not a SEBI-registered advisor. Notes are shared for discussion; every member trades their own capital, at their own risk.

Entry 05 · Joining

Bring a method, not a track record.

The desk runs on people who'll write their thinking down and let it get argued with.

  1. Send a short note on how you currently research or trade — even one indicator or a gut rule you're formalising.
  2. Sit in on one review session as a guest, no commitment required.
  3. Publish your first entry to the shared log within your first two weeks.
  4. Keep trading your own account — the desk reviews the thinking, never the money.
Request access

Tell us where your research currently stands. We'll follow up by email.

Select a level above to see the entry style expected at that stage.