strategy-compare

Solid

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

AI & Automation 143 stars 37 forks Updated 2 months ago

Install

View on GitHub

Quality Score: 73/100

Stars 20%
72
Recency 20%
75
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
0
Description 5%
100

Skill Content

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` 3. 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 TA-Lib for ALL indicators** (never VectorBT built-in) - **Use OpenAlgo ta** for specialty indicators (Supertrend, Donchian, etc.) - 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`) - **Pr...

Details

Author
marketcalls
Repository
marketcalls/vectorbt-backtesting-skills
Created
2 months ago
Last Updated
2 months ago
Language
Python
License
None

Similar Skills

Semantically similar based on skill content — not just same category