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.
install
source · Clone the upstream repo
git clone https://github.com/marketcalls/vectorbt-backtesting-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/marketcalls/vectorbt-backtesting-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/strategy-compare" ~/.claude/skills/marketcalls-vectorbt-backtesting-skills-strategy-compare && rm -rf "$T"
manifest:
.claude/skills/strategy-compare/SKILL.mdsource content
Create a strategy comparison script.
Arguments
Parse
$ARGUMENTS as: symbol followed by strategy names
= symbol (e.g., SBIN, RELIANCE, NIFTY)$0- 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
directory if it doesn't exist (on-demand)backtesting/strategy_comparison/ - Create a
file in.py
namedbacktesting/strategy_comparison/{symbol}_strategy_comparison.py - The script must:
- Fetch data once via OpenAlgo
- If user provides a DuckDB path, load data directly via
. See vectorbt-expertduckdb.connect(path, read_only=True)
.rules/duckdb-data.md - If
is not importable (standalone DuckDB), use inlineopenalgo.ta
fallback.exrem() - Use TA-Lib for ALL indicators (never VectorBT built-in)
- Use OpenAlgo ta for specialty indicators (Supertrend, Donchian, etc.)
- Clean signals with
(alwaysta.exrem()
before exrem).fillna(False) - Run each strategy on the same data
- Indian delivery fees:
for delivery equityfees=0.00111, fixed_fees=20 - 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