skillZs
LIVE SKILL TAGS
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
REAL INSTALL DATA
← back to all skills
marketcalls/vectorbt-backtesting-skills1.5k installs

strategy-compare

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

How do I install this agent skill?

npx skills add https://github.com/marketcalls/vectorbt-backtesting-skills --skill strategy-compare
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill generates financial backtesting scripts based on user-provided symbols and strategies. It is generally safe but lacks explicit sanitization for user-provided arguments used in file naming and script generation, which creates a minor risk for indirect prompt injection or path traversal.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

  • Runlayerwarn

    1/1 file flagged

  • ZeroLeakspass

    Score: 93/100 · 2 sections analyzed

What does this agent skill do?

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

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/marketcalls/vectorbt-backtesting-skills/strategy-compare">View strategy-compare on skillZs</a>