agentsclimarketplace

Strategy compare

Skill marketcalls/vectorbt-backtesting-skills/.claude/skills/strategy-compare

Agentic coding skills for backtesting trading strategies using VectorBT. Supports Indian, US, and Crypto markets with realistic transaction cost modeling, TA-Lib indicators, QuantStats tearsheets, and 12 ready-made strategy templates.

Install
npx -y skills add marketcalls/vectorbt-backtesting-skills --skill strategy-compare

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its author says it does

Copied from the file, not written here

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

SKILL.md

2.3 KB, as published. Nobody here has run it

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
  4. 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-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, fixed_fees=20 for 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
  5. 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

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.