
Strategy Compare
- 1.6k installs
- 179 repo stars
- Updated July 12, 2026
- marketcalls/vectorbt-backtesting-skills
Generates a Python backtesting script that compares multiple trading strategies on a symbol, producing metrics table, benchmark comparison, equity curves, and CSV export.
About
This skill generates a strategy comparison script that backtests multiple trading strategies (e.g. ema-crossover, rsi, donchian, supertrend) on a single symbol and produces a side-by-side stats table with key metrics, NIFTY benchmark comparison, and overlaid equity curve plots. It fetches data via OpenAlgo or DuckDB, applies TA-Lib indicators with signal cleaning via exrem(), calculates Indian delivery fees, and explains which strategy performed best. The script outputs CSV results and Plotly visualizations to help traders evaluate strategy relative performance.
- Compares N strategies on same symbol with unified data fetch and Indian delivery fees (0.00111 + 20 fixed).
- Uses TA-Lib for indicators + OpenAlgo ta for specialty signals (Supertrend, Donchian); cleans with exrem().
- Generates side-by-side metrics table: Total Return, Sharpe, Sortino, Max DD, Win Rate, Trades, Profit Factor.
- Includes NIFTY benchmark in comparison via OpenAlgo NSE_INDEX for relative performance context.
- Outputs CSV results + Plotly dark-theme overlaid equity curves for visual strategy evaluation.
Strategy Compare by the numbers
- 1,642 all-time installs (skills.sh)
- +67 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #83 of 1,136 Finance & Trading skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
strategy-compare capabilities & compatibility
- Capabilities
- backtesting multiple strategies on same symbol · nifty benchmark comparison · side by side metrics aggregation · equity curve visualization (plotly dark theme) · csv export of comparison results · long vs short strategy variant testing
- Use cases
- trading
- Platforms
- macOS · Windows · Linux
- Runs
- Runs locally
- Pricing
- Free
npx skills add https://github.com/marketcalls/vectorbt-backtesting-skills --skill strategy-compareAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.6k |
|---|---|
| repo stars | ★ 179 |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 12, 2026 |
| Repository | marketcalls/vectorbt-backtesting-skills ↗ |
What it does
Compare backtest performance of multiple trading strategies on the same symbol with side-by-side metrics and equity curves.
Who is it for?
Algorithmic traders and quantitative analysts evaluating strategy robustness before deployment on Indian equities.
Skip if: Traders needing real-time execution, paper trading, or live portfolio monitoring; beginners without backtesting experience.
When should I use this skill?
Comparing 2+ strategies on same symbol to benchmark relative performance and identify optimal approach.
What you get
Quantified side-by-side strategy comparison with NIFTY benchmark, equity curves, and exportable CSV for informed strategy selection.
- strategy_comparison/{symbol}_strategy_comparison.py
- CSV comparison file
- Plotly equity curve plot
By the numbers
- Compares default 4 strategies: ema-crossover, rsi, donchian, supertrend (if none specified)
- Includes 7 key metrics: Total Return, Sharpe, Sortino, Max DD, Win Rate, Trades, Profit Factor
- Supports long-vs-short comparison mode (long-only, short-only, both) on single strategy
Files
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
1. Read the vectorbt-expert skill rules for reference patterns 2. Create backtesting/strategy_comparison/ directory if it doesn't exist (on-demand) 3. Create a .py file in backtesting/strategy_comparison/ named {symbol}_strategy_comparison.py 3. 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
4. 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
Related skills
How it compares
Choose strategy-compare over generic Python skills when the task is vectorbt side-by-side strategy stats on one symbol, not single-strategy deep optimization.
FAQ
How are indicators calculated?
TA-Lib for standard indicators (EMA, RSI, etc.); OpenAlgo ta for specialty (Supertrend, Donchian). Signals cleaned with ta.exrem() after fillna(False).
What fees are included?
Indian delivery equity fees: 0.00111 (0.111%) per trade + 20 fixed fee per trade, per vectorbt-expert rules.
What if OpenAlgo ta is not available?
Falls back to inline exrem() fallback when loading data directly via DuckDB read_only connection.
Is Strategy Compare safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.