# strategy-compare

Сравнивает несколько торговых стратегий или направлений на одном символе и строит таблицу метрик рядом. Пригодится, когда нужно выбрать, что тестировать дальше.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2300 установок · ★ 211
- Автор: marketcalls
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/marketcalls/vectorbt-backtesting-skills/tree/HEAD/.claude/skills/strategy-compare/SKILL.md
- Обновлён: 2026-07-12
- HTML: https://affpapa.org/nevibecode/skills/strategy-compare

## Что делает

Скилл принимает символ и список стратегий, а затем пишет скрипт в `backtesting/strategy_comparison/` с именем `{symbol}_strategy_comparison.py`. Данные тянутся один раз через OpenAlgo, каждая стратегия прогоняется на одном и том же наборе, а результаты собираются в общую таблицу: доходность, Sharpe, Sortino, максимальная просадка, доля выигрышных сделок, число сделок и профит-фактор. В таблицу добавляется бенчмарк NIFTY через `NSE_INDEX`, а кривые доходности всех вариантов рисуются поверх друг друга в Plotly с тёмной темой. Итог сохраняется в CSV.

Индикаторы по умолчанию берутся из OpenAlgo ta, а не из встроенных в VectorBT. Переключение на TA-Lib происходит только по прямой просьбе. Для Supertrend и Donchian выбора нет: в TA-Lib аналогов нет, поэтому используется OpenAlgo ta. Сигналы чистятся через `ta.exrem()`, и перед этим обязательно идёт `.fillna(False)`.

Если путь к DuckDB передан, данные читаются напрямую через `duckdb.connect(path, read_only=True)`. В этом режиме `openalgo.ta` может не импортироваться, и тогда нужен встроенный запасной вариант `exrem()`. Комиссии заложены под индийскую поставку акций: `fees=0.00111` и `fixed_fees=20`. Без аргументов стратегий скилл возьмёт `ema-crossover`, `rsi`, `donchian` и `supertrend`; слово `long-vs-short` переключает сравнение на longonly, shortonly и оба направления для первой реальной стратегии.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add marketcalls/vectorbt-backtesting-skills --skill strategy-compare -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/strategy-compare/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/strategy-compare/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add marketcalls/vectorbt-backtesting-skills --skill strategy-compare -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/strategy-compare/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add marketcalls/vectorbt-backtesting-skills --skill strategy-compare -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/strategy-compare/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install marketcalls/vectorbt-backtesting-skills strategy-compare
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/strategy-compare/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add marketcalls/vectorbt-backtesting-skills --skill strategy-compare -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/marketcalls/vectorbt-backtesting-skills --path .claude/skills/strategy-compare
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/strategy-compare/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add marketcalls/vectorbt-backtesting-skills --skill strategy-compare -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/marketcalls/vectorbt-backtesting-skills/tree/HEAD/.claude/skills/strategy-compare/SKILL.md

## Когда брать
- сравнить несколько стратегий на одном символе в одной таблице
- проверить, как long-only и short-only ведут себя на одних данных
- добавить бенчмарк NIFTY к результатам бэктеста
- посчитать метрики с учётом комиссий индийской поставки
- сохранить сравнение в CSV и построить наложенные кривые доходности

## Примеры запросов агенту
- /strategy-compare RELIANCE ema-crossover rsi donchian
- /strategy-compare SBIN long-vs-short ema-crossover
- /strategy-compare NIFTY

## Похожие
- [strategy-framework](https://affpapa.org/nevibecode/skills/strategy-framework.md) — скилл · 500 установок
- [vectorbt](https://affpapa.org/nevibecode/skills/vectorbt.md) — скилл · 492 установки
- [strategy-pivot-designer](https://affpapa.org/nevibecode/skills/strategy-pivot-designer.md) — скилл · 3300 установок
- [custom-indicator](https://affpapa.org/nevibecode/skills/custom-indicator.md) — скилл · 563 установки
- [live-feed](https://affpapa.org/nevibecode/skills/live-feed.md) — скилл · 550 установок
- [stockbee-20pct-study](https://affpapa.org/nevibecode/skills/stockbee-20pct-study.md) — скилл · 2600 установок

Из того же набора: [marketcalls/vectorbt-backtesting-skills](https://affpapa.org/nevibecode/by/marketcalls/vectorbt-backtesting-skills.md) — 6 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
