Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity curves, and optimizes strategy parameters. Use when user wants to test a trading strategy, validate signals, or compare approaches. Trigger with phrases like "backtest strategy", "test trading strategy", "historical performance", "simulate trades", "optimize parameters", or "validate signals".
View on GitHubjeremylongshore/claude-code-plugins-plus-skills
trading-strategy-backtester
plugins/crypto/trading-strategy-backtester/skills/backtesting-trading-strategies/SKILL.md
January 22, 2026
Select agents to install to:
npx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/main/plugins/crypto/trading-strategy-backtester/skills/backtesting-trading-strategies/SKILL.md -a claude-code --skill backtesting-trading-strategiesInstallation paths:
.claude/skills/backtesting-trading-strategies/# Backtesting Trading Strategies
## Overview
Validate trading strategies against historical data before risking real capital. This skill provides a complete backtesting framework with 8 built-in strategies, comprehensive performance metrics, and parameter optimization.
**Key Features:**
- 8 pre-built trading strategies (SMA, EMA, RSI, MACD, Bollinger, Breakout, Mean Reversion, Momentum)
- Full performance metrics (Sharpe, Sortino, Calmar, VaR, max drawdown)
- Parameter grid search optimization
- Equity curve visualization
- Trade-by-trade analysis
## Prerequisites
Install required dependencies:
```bash
pip install pandas numpy yfinance matplotlib
```
Optional for advanced features:
```bash
pip install ta-lib scipy scikit-learn
```
## Instructions
### Step 1: Fetch Historical Data
```bash
python {baseDir}/scripts/fetch_data.py --symbol BTC-USD --period 2y --interval 1d
```
Data is cached to `{baseDir}/data/{symbol}_{interval}.csv` for reuse.
### Step 2: Run Backtest
Basic backtest with default parameters:
```bash
python {baseDir}/scripts/backtest.py --strategy sma_crossover --symbol BTC-USD --period 1y
```
Advanced backtest with custom parameters:
```bash
# Example: backtest with specific date range
python {baseDir}/scripts/backtest.py \
--strategy rsi_reversal \
--symbol ETH-USD \
--period 1y \
--capital 10000 \
--params '{"period": 14, "overbought": 70, "oversold": 30}'
```
### Step 3: Analyze Results
Results are saved to `{baseDir}/reports/` including:
- `*_summary.txt` - Performance metrics
- `*_trades.csv` - Trade log
- `*_equity.csv` - Equity curve data
- `*_chart.png` - Visual equity curve
### Step 4: Optimize Parameters
Find optimal parameters via grid search:
```bash
python {baseDir}/scripts/optimize.py \
--strategy sma_crossover \
--symbol BTC-USD \
--period 1y \
--param-grid '{"fast_period": [10, 20, 30], "slow_period": [50, 100, 200]}'
```
## Output
### Performance Metrics
| Metric | Description |
|--------|------