marketcalls/vectorbt-backtesting-skills

strategy-compare

Compare multiple strategies or directions (long vs short vs both) on the same symbol. Generates side-by-side stats table.

All-time #6149 Trending #8815 Hot #4335 First seen Feb 25, 2026
8-week activity · all time api

Installation

$ npx skills add marketcalls/vectorbt-backtesting-skills --skill strategy-compare

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from marketcalls/vectorbt-backtesting-skills.

npx skills add marketcalls/vectorbt-backtesting-skills

Browse all from marketcalls/vectorbt-backtesting-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 202
License MIT
Default branch master
Open issues 2
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsRead, Write, Edit, Bash, Glob, Grep

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,380 B
  • docs SUMMARY.md 145 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2,011 installs

SKILL.md

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/strategycomparison/ named {symbol}strategy_comparison.py
  4. The script must:

- Fetch data once via OpenAlgo - If user provides a DuckDB path, load data directly via duckdb.connect(path, readonly=True). See vectorbt-expert rules/duckdb-data.md. - If openalgo.ta is not importable (standalone DuckDB), use inline exrem() fallback. - Use OpenAlgo ta for ALL indicators by default (never VectorBT built-in). Only switch to TA-Lib if the user explicitly says "talib"/"TA-Lib" - Always use OpenAlgo ta for specialty indicators (Supertrend, Donchian, etc.) - no TA-Lib equivalent exists - Clean signals with ta.exrem() (always .fillna(False) before exrem) - Run each strategy on the same data - Indian delivery fees: fees=0.00111, fixedfees=20 for delivery equity - Collect key metrics from each into a side-by-side DataFrame - Include NIFTY benchmark in the comparison table (via OpenAlgo NSEINDEX) - 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="plotlydark") - Save comparison to CSV

  1. 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