К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

trader-backtest — скилл для Claude Code: что делает и как установить

Скилл выполняет исторический бэктест стратегий через neural-trader и заверяет итог подписью Ed25519 для допуска к торгам.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add ruvnet/ruflo --skill trader-backtest -a claude-code
Открыть на GitHub

Что делает trader-backtest

Скилл запускает историческое тестирование торговых стратегий через движок neural-trader на Rust/NAPI с валидацией walk-forward. Он собирает показатели окупаемости, просадки и фактор прибыли. При значении коэффициента Шарпа выше 1.5 результат сохраняется в базе паттернов agentdb.

Перед записью артефакта проверяется источник рыночных данных. Без флага --live или при сбое загрузки движок использует синтетические бары. В таких случаях скилл проставляет флаг synthetic: true и запрещает подписание. Переход к реальной торговле требует подписи Ed25519. Закрытый ключ берётся из переменной RUFLO_WITNESS_KEY_PATH или файла verification/witness-key.json. Если ключ отсутствует, запись выполняется в неподписанном режиме.

Какие задачи решает

  • провести историческое тестирование стратегии с валидацией walk-forward
  • подписать артефакт тестирования ключом Ed25519 перед допуском к торгам
  • отсечь бэктесты на синтетических данных вместо реальных котировок
  • сохранить прибыльные паттерны в память агента при коэффициенте Шарпа выше 1.5

Примеры запросов агенту

  • Протестируй стратегию momentum по тикеру SPY с валидацией walk-forward
  • Запусти бэктест multi-indicator для AAPL с проверкой источника котировок

Как установить trader-backtest

1Через Skills CLI (Vercel)

npx skills add ruvnet/ruflo --skill trader-backtest -a claude-code

2Вручную: положить файлы

~/.claude/skills/trader-backtest/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/trader-backtest/

Из того же набора104

Весь набор →
ruflo ruvnet Скилл добавляет в проект оркестрацию мультиагентных задач, память, маршрутизацию и MCP-инструменты. Нужен для swarm-сценариев и многошаговых workflows. Claude Code CX Codex Cursor +1 4 000установок Swarm Orchestration ruvnet Скилл для управления роями агентов с параллельным выполнением задач, динамической топологией и автоматической балансировкой нагрузки. Нужен, когда одного агента недостаточно и требуется координировать специалистов разного профиля. Claude Code CX Codex Cursor +1 2 100установок github-project-management ruvnet Скилл превращает рутину вокруг issue и доски проекта в вызовы gh и ruv-swarm: метки, подзадачи, поиск дублей. Пригодится, когда задач много, а порядка в трекере нет. Claude Code CX Codex Cursor +1 1 400установок github-workflow-automation ruvnet Скилл автоматизирует GitHub Actions с координацией AI-агентов. Генерирует оптимальные pipeline, управляет pull request'ами, анализирует баги и развёртывает обновления с минимальными рисками. Claude Code CX Codex Cursor +1 1 300установок github-code-review ruvnet Организует параллельное код-ревью в GitHub с помощью агентов безопасности, архитектуры и стиля через пакет ruv-swarm. Claude Code CX Codex Cursor +1 1 300установок stream-chain ruvnet Организует последовательную передачу данных между шагами агента через цепочки промптов или готовые пайплайны. Claude Code CX Codex Cursor +1 1 200установок flow-nexus-swarm ruvnet Развёртывает облачные рои ИИ-агентов и собирает событийные процессы с очередями сообщений. Нужен для координации задач, контроля запусков и масштабирования роя. Claude Code CX Codex Cursor +1 1 200установок performance-analysis ruvnet Находит узкие места в Claude Flow swarms, профилирует операции агентов и генерирует отчёты с рекомендациями по оптимизации. Claude Code CX Codex Cursor +1 1 200установок

Похожие

gmgn-token GMGNAI Проверяет токен по адресу через GMGN API: цену, ликвидность, держателей и риски контракта. Нужен для исследования токена перед покупкой. Claude Code CX Codex Cursor +1 17 700установок gmgn-portfolio GMGNAI Скилл анализирует крипто-кошельки по адресу через API GMGN: показывает холдинги, реализованный и нереализованный P&L, win rate, историю сделок и токены, которые создал разработчик. Работает на Solana, BSC, Base и Ethereum. Claude Code CX Codex Cursor +1 17 500установок gmgn-track GMGNAI Получайте сигналы на-чейн от крупных трейдеров, KOL и отслеживаемых вами кошельков через API GMGN. Смотрите, что покупают smart money и копируйте сделки на Solana, BSC, Base, Ethereum. Claude Code CX Codex Cursor +1 17 100установок okx-dex-market okx Скилл версии 4.6.6 для чтения данных DEX: котировки, пулы ликвидности, сигналы китов, трейдерские балансы и проверка снайперов в мемкоинах. Claude Code CX Codex Cursor +1 19 100установок churn-prevention coreyhaines31 Скилл для Claude Code, который разбирает отток подписок: опрос при отмене, предложение под причину ухода, восстановление неудачных платежей. Claude Code CX Codex Cursor +1 120 600установок revops coreyhaines31 Скилл помогает проектировать RevOps: вести лидов по этапам, считать скоринг и выстраивать передачу из маркетинга в продажи. Нужен для CRM-процессов. Claude Code CX Codex Cursor +1 113 000установок community-marketing coreyhaines31 Помогает запустить и развивать сообщество в Discord или Slack для удержания пользователей и создания базы амбассадоров. Claude Code CX Codex Cursor +1 89 100установок ads coreyhaines31 Скилл помогает планировать, проверять и оптимизировать рекламу в Google Ads, Meta и LinkedIn. Опирается на плейбуки и требует фактов вместо домыслов. Claude Code CX Codex Cursor +1 82 200установок

Вопросы о trader-backtest

Как установить trader-backtest в Claude Code?

Выполните команду npx skills add ruvnet/ruflo --skill trader-backtest -a claude-code в терминале.

Что делает скилл trader-backtest?

Он тестирует торговые стратегии через утилиту neural-trader, рассчитывает метрики риска и заверяет результаты цифровой подписью Ed25519.

Почему артефакт сохраняется без подписи?

Подписание блокируется, если котировки оказались синтетическими, либо если ключ не найден в RUFLO_WITNESS_KEY_PATH и verification/witness-key.json.

Исходный текст

SKILL.md · MIT
---
name: trader-backtest
description: Run a historical backtest using npx neural-trader with Rust/NAPI engine (8-19x faster) and walk-forward validation; Ed25519-sign the result for paper→live tamper evidence (ADR-126 Phase 4)
allowed-tools: Bash Read mcp__plugin_ruflo-core_ruflo__memory_store mcp__plugin_ruflo-core_ruflo__memory_retrieve mcp__plugin_ruflo-core_ruflo__memory_search mcp__plugin_ruflo-core_ruflo__memory_delete mcp__plugin_ruflo-core_ruflo__neural_train mcp__plugin_ruflo-core_ruflo__agentdb_pattern-store
argument-hint: "<strategy-name> --symbol <TICKER> [--period 2020-2024]"
---
Run a historical backtest using the `neural-trader` Rust/NAPI engine, then Ed25519-sign the result so the paper→live promotion gate has cryptographic tamper evidence (ADR-126 Phase 4 + CWE-347 pattern).

Steps:
1. Ensure neural-trader is available:
   `npm ls neural-trader 2>/dev/null || npm install --ignore-scripts neural-trader`
2. Check for saved strategy config:
   `mcp__plugin_ruflo-core_ruflo__memory_retrieve({ key: "strategy-STRATEGY_NAME", namespace: "trading-strategies" })`
   If not found, list available: `mcp__plugin_ruflo-core_ruflo__memory_search({ query: "strategy", namespace: "trading-strategies", limit: 10 })`
3. Run backtest via neural-trader CLI:
   ```bash
   npx neural-trader --backtest --strategy <name> --symbol <TICKER> --period <range> --walk-forward --live
   ```
   For multi-indicator strategies:
   ```bash
   npx neural-trader --backtest --strategy multi-indicator --position-sizing kelly --symbol SPY --period 2020-2024
   ```
3b. **Check the data source.** Without `--live` the backtest runs on synthetic bars, and when the live fetch fails it silently falls back to them. Read `dataSource` for every symbol in the result. Only `yahoo-finance` is real data. If any symbol is `synthetic` or `mixed`, store the result with `synthetic: true` in the body, do NOT sign it for paper→live promotion, and tell the user why.
4. Capture performance metrics from output: total return, annualized return, Sharpe ratio, Sortino ratio, max drawdown, win rate, profit factor, number of trades.
5. Dedup prior backtests for the same `(strategyId, paramsHash)` before storing the fresh one (ADR-125 lifecycle / ADR-126 Phase 2 — `keep-newest` semantics):
   - Search: `mcp__plugin_ruflo-core_ruflo__memory_search({ query: "backtest STRATEGY paramsHash:PARAMS_HASH", namespace: "trading-backtests", limit: 10 })`
   - For each hit whose key matches `backtest-STRATEGY-*` AND whose stored `paramsHash` equals the current run's hash, delete it: `mcp__plugin_ruflo-core_ruflo__memory_delete({ key: "OLD_KEY", namespace: "trading-backtests" })`
   - (Note: even without this proactive step, the `MemoryConsolidator.dedup('keep-newest')` background pass introduced in `@claude-flow/[email protected]` runs every 6h and will eventually converge. Doing it inline keeps `memory_search` results deterministic immediately after a re-run.)
6. **Sign the artifact (ADR-126 Phase 4):**
   - Build the `SignedBacktestArtifact` body — `{ strategyId, paramsHash, dataRange: {from,to}, metrics, runsHash, generatedAt }` — where `paramsHash = sha256(canonical params JSON)`, `runsHash = sha256(canonical runs array JSON)`, and `generatedAt = new Date().toISOString()`.
   - Resolve the witness signing key. The skill reads the key path in this order; the FIRST that resolves wins:
     1. `RUFLO_WITNESS_KEY_PATH` env var — points to a JSON file with `{ "privateKey": "<hex>" }`.
     2. `verification/witness-key.json` (the ADR-103 default path, if present).
   - If the key resolves: call `signBacktestArtifact(body, privateKeyHex)` from `plugins/ruflo-neural-trader/src/signed-artifact.mjs`. The returned value is a `SignedBacktestArtifact` with `schema`, `witnessPublicKey: "ed25519:<hex>"`, and `witnessSignature: "<hex>"` populated.
   - If NEITHER path resolves: log a loud warning — `"[WARN] ruflo-neural-trader: no witness signing key found (RUFLO_WITNESS_KEY_PATH unset, verification/witness-key.json missing) — storing backtest artifact in UNSIGNED degraded mode. paper→live promotion will be refused by trader-cloud-backtest until a signed artifact replaces this one."` — and store the body unsigned. NEVER silently fall back.
7. **Store the (possibly signed) artifact** to the canonical `trading-backtests` namespace:
   `mcp__plugin_ruflo-core_ruflo__memory_store({ key: "backtest-STRATEGY-TIMESTAMP", value: JSON.stringify(signedArtifact), namespace: "trading-backtests" })`
   The stored value contains `witnessSignature` + `witnessPublicKey` when signed; downstream consumers (`trader-cloud-backtest`) MUST call `verifyBacktestArtifact(artifact, trustedPublicKey)` before promoting any artifact to live.
8. If Sharpe > 1.5, store as successful pattern:
   `mcp__plugin_ruflo-core_ruflo__agentdb_pattern-store({ pattern: "profitable-STRATEGY_TYPE: PARAMS_AND_RESULTS", type: "trading-strategy", confidence: 0.8 })` (the tool takes `pattern`, `type`, `confidence`; a `data` field is ignored)
9. Train SONA on the outcome (skip for synthetic runs):
   `mcp__plugin_ruflo-core_ruflo__neural_train({ modelType: "moe", epochs: 10 })` (`modelType` is required; there is no `patternType`)

### Key sourcing & key rotation (ADR-103)

- The witness key is a 32-byte Ed25519 private key, stored as `{ "privateKey": "<64-hex-chars>" }` in a JSON file referenced by `RUFLO_WITNESS_KEY_PATH`. Keep it OUT of the repo. For local development, generate one once with `node -e "import('@noble/ed25519').then(async ed=>{const sk=crypto.getRandomValues(new Uint8Array(32));console.log(Buffer.from(sk).toString('hex'))})"` and write it to `~/.ruflo/witness-key.json`.
- Production deployments pin the corresponding PUBLIC key in project config and supply it as `trustedPublicKey` to `verifyBacktestArtifact(...)` — never trust the `witnessPublicKey` field on the artifact itself (CWE-347 / #1922).
- Key rotation: re-sign existing backtest entries with the new key OR explicitly mark pre-rotation artifacts as non-promotable. Same pattern as ADR-103.

© ruvnet · MIT · ruvnet/ruflo

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой