strategy-compare▌
marketcalls/vectorbt-backtesting-skills · updated Apr 8, 2026
Side-by-side backtesting comparison of multiple trading strategies on the same symbol.
- ›Compares user-specified strategies (or defaults to ema-crossover, rsi, donchian, supertrend) against the same historical data and NIFTY benchmark
- ›Supports \"long-vs-short\" mode to test longonly, shortonly, and both directions for a given strategy
- ›Uses TA-Lib for standard indicators and OpenAlgo ta for specialty indicators like Supertrend and Donchian; cleans signals with exrem() to avoid consecuti
Create a strategy comparison script.
Arguments
Parse $ARGUMENTS as: symbol followed by strategy names
$0= symbol (e.g., SBIN, RELIANCE, NIFTY)- Remaining args = strategies to compare (e.g., ema-crossover rsi donchian)
If only a symbol is given with no strategies, compare: ema-crossover, rsi, donchian, supertrend. If "long-vs-short" is one of the strategies, compare longonly vs shortonly vs both for the first real strategy.
Instructions
- Read the vectorbt-expert skill rules for reference patterns
- Create
backtesting/strategy_comparison/directory if it doesn't exist (on-demand) - Create a
.pyfile inbacktesting/strategy_comparison/named{symbol}_strategy_comparison.py - The script must:
- Fetch data once via OpenAlgo
- If user provides a DuckDB path, load data directly via
duckdb.connect(path, read_only=True). See vectorbt-expertrules/duckdb-data.md. - If
openalgo.tais not importable (standalone DuckDB), use inlineexrem()fallback. - Use TA-Lib for ALL indicators (never VectorBT built-in)
- Use OpenAlgo ta for specialty indicators (Supertrend, Donchian, etc.)
- Clean signals with
ta.exrem()(always.fillna(False)before exrem) - Run each strategy on the same data
- Indian delivery fees:
fees=0.00111, fixed_fees=20for delivery equity - Collect key metrics from each into a side-by-side DataFrame
- Include NIFTY benchmark in the comparison table (via OpenAlgo
NSE_INDEX) - Print Strategy vs Benchmark comparison table: Total Return, Sharpe, Sortino, Max DD, Win Rate, Trades, Profit Factor
- Explain results in plain language - which strategy performed best and why
- Plot overlaid equity curves for all strategies using Plotly (
template="plotly_dark") - Save comparison to CSV
- Never use icons/emojis in code or logger output
Example Usage
/strategy-compare RELIANCE ema-crossover rsi donchian
/strategy-compare SBIN long-vs-short ema-crossover
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.5★★★★★55 reviews- ★★★★★Aditi Thompson· Dec 28, 2024
Solid pick for teams standardizing on skills: strategy-compare is focused, and the summary matches what you get after install.
- ★★★★★Yusuf Gill· Dec 20, 2024
Registry listing for strategy-compare matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Diego Nasser· Dec 16, 2024
strategy-compare has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Chen Thompson· Dec 8, 2024
Useful defaults in strategy-compare — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Henry Mensah· Nov 27, 2024
strategy-compare is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★James Li· Nov 19, 2024
Solid pick for teams standardizing on skills: strategy-compare is focused, and the summary matches what you get after install.
- ★★★★★Yusuf Iyer· Nov 11, 2024
strategy-compare fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Yusuf Gupta· Oct 18, 2024
Keeps context tight: strategy-compare is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★James Abbas· Oct 10, 2024
strategy-compare has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Henry Rahman· Oct 2, 2024
We added strategy-compare from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
showing 1-10 of 55