mcpbeat

Strategy Compare

marketcalls/strategy-compare

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

595 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
183
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/marketcalls/vectorbt-backtesting-skills --skill strategy-compare

The instruction itself

3 sections, as written by the author

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

  • Read the vectorbt-expert skill rules for reference patterns
  • Create backtesting/strategy_comparison/ directory if it doesn't exist (on-demand)
  • Create a .py file in backtesting/strategy_comparison/ named {symbol}_strategy_comparison.py
  • 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
  • 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

How to use it

Copy the folder

Take marketcalls/strategy-compare from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.