backtest-interpretation — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited backtest-interpretation (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The server's historical_price_analyzer can run four pre-built strategies over any NSE/BSE instrument with intraday or daily candles. This skill helps the user read the output without falling into the classic backtesting traps (over-fitting, survivorship, look-ahead).
Four built-in strategies (the server's code is the source of truth):
| Strategy | Entry | Exit | Notes |
|---|---|---|---|
| SMA crossover | Fast SMA crosses above slow SMA | Fast crosses below slow | Trend-following; chops in sideways markets |
| RSI reversal | RSI below 30 (oversold) → BUY; above 70 (overbought) → SELL | Fixed holding period or RSI mean-reverts | Range-bound setups; breaks in trending markets |
| Breakout | Price closes above N-day high | Stop-loss or target hit | Captures momentum; whipsaws at false breakouts |
| Mean reversion | Price deviates >k standard deviations from mean | Reverts to mean | Works in range-bound; breaks in regime shift |
historical_price_analyzer with:exchange, tradingsymbolstrategy (one of the four above)from_date, to_dateinterval (minute, day, etc.)## Backtest: <strategy> on <symbol>, <from> to <to>
### Summary stats
- Total trades: <n>
- Win rate: <pct>%
- Avg P&L per trade: <amt> (<pct>%)
- Avg hold: <days>
- Sharpe ratio: <value>
- Max drawdown: <pct>%
- Final equity curve: <start> → <end> (<pct>%)
### Context needed to interpret
- Benchmark: what did buy-and-hold NIFTY 50 do over the same window? If the strategy made 15%
and NIFTY made 20%, the strategy UNDERPERFORMED even if the number looks good.
- Time window bias: a bull-market window flatters trend-following; a choppy window flatters
mean reversion.
- Number of trades: <10 trades means the Sharpe is unreliable (small sample).
- Costs: does the backtest include brokerage, STT, slippage? If not, real-world returns are
lower. Typical cost drag for a delivery trade: 0.1-0.3% round-trip.
### Red flags to surface
- Sharpe >3 on daily bars is suspicious; double-check for look-ahead bias
- Max drawdown <5% on a multi-year test: could be a lucky window, not a robust strategy
- Win rate >70%: check that the avg loss isn't much bigger than avg win (classic tail risk)
- All trades in one direction: strategy hasn't been stress-tested in opposite regimeIf the user tries many parameter combinations and picks the best, Sharpe is inflated. Rule of thumb: if you tested >5 variants, discount the Sharpe by at least 30%.
Ensure the strategy uses only data available at decision time. If "close above 20-day high" uses today's close to decide today's entry, you can't actually trade that. The server's built-in strategies are coded to avoid this, but if the user asks for a custom twist, flag the risk.
The stock you're backtesting is by definition still listed. Strategies that would have blown up on delisted names won't show the damage here. Relevant for small-cap backtests.
2015-2020 is different from 2020-2023 is different from 2023-2026. A strategy that worked in one regime often fails in the next.
If cost drag isn't in the backtest, subtract ~0.3-0.5% per round trip for realistic numbers. The server's output may or may not include costs — check the response metadata.
Use this framing:
walk-forward test, paper-trade it for 1-2 months (paper_trading_toggle enables this), then commit real capital with small size.
After showing a backtest:
historical_price_analyzerwith no strategy (or compute buy-and-hold separately from get_historical_data output).
compare.
paper_trading_toggle.
picking the best variant over-fits.
this skill is to inject skepticism, not confirm the user's bias.
meaningful statistical significance, but run it if they want the directional read.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.