Dhairya is a paper-trading and backtesting studio built for people who teach markets. Set up a class in under a minute, hand each student virtual capital, and watch them trade the real NSE on a live leaderboard — without anyone risking a rupee.
धैर्य · dhairya — patience. The one skill no lecture can teach.
No account. No cloud. Your data never leaves the machine.
Drop in your student list and Dhairya creates an account for each one, funded with identical starting capital. Everybody begins from the same conditions, so the leaderboard measures decisions rather than luck of the draw.
Each account keeps its own cash, positions and trade history. Reset one student mid-term without touching anyone else, or clone a template account when a new batch starts.
| Rank | Student | Equity | Return | Trades | Win |
|---|---|---|---|---|---|
| 🥇 | Meera Nair | 1,18,420 | +18.42% | 14 | 57% |
| 🥈 | Arjun Mehta | 1,09,860 | +9.86% | 22 | 45% |
| 🥉 | Riya Sharma | 1,04,215 | +4.22% | 9 | 56% |
| 4 | Kabir Singh | 97,340 | −2.66% | 31 | 39% |
| 5 | Ananya Rao | 91,105 | −8.90% | 44 | 34% |
Illustrative figures from a demo class.
Students change a stop-loss multiple, hit run, and watch twenty-one years of consequences appear. Every run is saved, so a class can compare parameter sets side by side instead of arguing about them.
| Run | CAGR | Max DD | Sharpe | Trades | Win |
|---|---|---|---|---|---|
| Defaults | 13.29% | −32.99% | 1.02 | 2,565 | 40.2% |
| Tighter stop 1.5× | 10.24% | −34.16% | 0.82 | 3,070 | 34.6% |
| Threshold 3.5 | 12.28% | −32.14% | 0.96 | 2,397 | 41.0% |
| Max 4 positions | 5.92% | −23.74% | 0.77 | 1,343 | 40.1% |
Tighten the stop and the win rate drops from 40% to 35%, because ordinary noise now closes trades early. Cap the book at four positions and the return more than halves — while the worst drawdown shrinks by nine points. Every course describes that tradeoff in words. Here a student produces it, with their own hands, on real NSE history.
Ten indicators and twenty candlestick patterns each cast a weighted vote. Students see the tally, the patterns that fired, and the sentence-by-sentence reason a trade was taken — which is the part that actually teaches.
Candlestick patterns are context-gated: a bullish engulfing bar only counts when the prior swing was down, because otherwise it is continuation noise rather than a reversal. That distinction is hard to teach on a whiteboard and obvious in a tool.
| Symbol | Vote | Bull/Bear | Price | Signal |
|---|---|---|---|---|
| HEROMOTOCO | +7.04 | 7/1 | 5,600 | STRONG BUY |
| EICHERMOT | +4.74 | 5/1 | 8,059 | STRONG BUY |
| M&M | +4.74 | 6/1 | 3,334 | STRONG BUY |
| HINDALCO | +4.34 | 5/1 | 1,037 | BUY |
| TCS | −0.42 | 3/3 | 2,342 | IGNORE |
Live NSE closes, scored by the same engine the backtest runs on.
The bundled strategy was simulated across all fifty Nifty constituents from 2005 to today, with costs charged on both sides of every trade. It wins less than half the time. That is the point, and it is a lesson worth an entire class.
| Measure | Strategy | NIFTY buy & hold |
|---|---|---|
| Compound annual return | 13.29% | 9.27% |
| Total return | +1,390% | +436% |
| Maximum drawdown | −32.99% | −59.86% |
| Sharpe / Sortino | 1.02 / 1.43 | — |
| Win rate | 40.16% | — |
| Average win vs average loss | +9.87% vs −4.68% | — |
| Profit factor | 1.36 | — |
Two honest caveats. The universe is today’s Nifty 50 applied backwards, so companies that fell out of the index are missing and the result flatters itself. And the NIFTY comparison covers 2007 onward, because that is where the index data begins. Both are printed in the app, not buried here.
Drag to Applications and open. The Windows build follows shortly.
Per-user install, no admin rights, no sign-in, no licence server.
Student accounts live in a file on your machine. Nothing is uploaded.
No seat pricing, no student caps. Run it for a class of five or fifty.
One download, no account to create. Open it, paste your student list, and you are teaching. A strategy that wins four trades in ten still compounds — but only for someone who can sit through the other six.
macOS 11+ · 120 MB · all releases
The build is not yet code-signed, so macOS will call it “unidentified”. Right-click the app and choose Open the first time, and it will launch normally after that.