Claude-code-plugins-plus-skills backtesting-trading-strategies
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/crypto/trading-strategy-backtester/skills/backtesting-trading-strategies" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-backtesting-trading-strategies && rm -rf "$T"
manifest:
plugins/crypto/trading-strategy-backtester/skills/backtesting-trading-strategies/SKILL.mdsource content
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:
set -euo pipefail pip install pandas numpy yfinance matplotlib
Optional for advanced features:
set -euo pipefail pip install ta-lib scipy scikit-learn
Instructions
- Fetch historical data (cached to
for reuse):${CLAUDE_SKILL_DIR}/data/python ${CLAUDE_SKILL_DIR}/scripts/fetch_data.py --symbol BTC-USD --period 2y --interval 1d - Run a backtest with default or custom parameters:
python ${CLAUDE_SKILL_DIR}/scripts/backtest.py --strategy sma_crossover --symbol BTC-USD --period 1y python ${CLAUDE_SKILL_DIR}/scripts/backtest.py \ --strategy rsi_reversal \ --symbol ETH-USD \ --period 1y \ --capital 10000 \ # 10000: 10 seconds in ms --params '{"period": 14, "overbought": 70, "oversold": 30}' - Analyze results saved to
-- includes${CLAUDE_SKILL_DIR}/reports/
(performance metrics),*_summary.txt
(trade log),*_trades.csv
(equity curve data), and*_equity.csv
(visual equity curve).*_chart.png - Optimize parameters via grid search to find the best combination:
python ${CLAUDE_SKILL_DIR}/scripts/optimize.py \ --strategy sma_crossover \ --symbol BTC-USD \ --period 1y \ --param-grid '{"fast_period": [10, 20, 30], "slow_period": [50, 100, 200]}' # HTTP 200 OK
Output
Performance Metrics
| Metric | Description |
|---|---|
| Total Return | Overall percentage gain/loss |
| CAGR | Compound annual growth rate |
| Sharpe Ratio | Risk-adjusted return (target: >1.5) |
| Sortino Ratio | Downside risk-adjusted return |
| Calmar Ratio | Return divided by max drawdown |
Risk Metrics
| Metric | Description |
|---|---|
| Max Drawdown | Largest peak-to-trough decline |
| VaR (95%) | Value at Risk at 95% confidence |
| CVaR (95%) | Expected loss beyond VaR |
| Volatility | Annualized standard deviation |
Trade Statistics
| Metric | Description |
|---|---|
| Total Trades | Number of round-trip trades |
| Win Rate | Percentage of profitable trades |
| Profit Factor | Gross profit divided by gross loss |
| Expectancy | Expected value per trade |
Example Output
================================================================================ BACKTEST RESULTS: SMA CROSSOVER BTC-USD | [start_date] to [end_date] ================================================================================ PERFORMANCE | RISK Total Return: +47.32% | Max Drawdown: -18.45% CAGR: +47.32% | VaR (95%): -2.34% Sharpe Ratio: 1.87 | Volatility: 42.1% Sortino Ratio: 2.41 | Ulcer Index: 8.2 -------------------------------------------------------------------------------- TRADE STATISTICS Total Trades: 24 | Profit Factor: 2.34 Win Rate: 58.3% | Expectancy: $197.17 Avg Win: $892.45 | Max Consec. Losses: 3 ================================================================================
Supported Strategies
| Strategy | Description | Key Parameters |
|---|---|---|
| Simple moving average crossover | , |
| Exponential MA crossover | , |
| RSI overbought/oversold | , , |
| MACD signal line crossover | , , |
| Mean reversion on bands | , |
| Price breakout from range | , |
| Return to moving average | , |
| Rate of change momentum | , |
Configuration
Create
${CLAUDE_SKILL_DIR}/config/settings.yaml:
data: provider: yfinance cache_dir: ./data backtest: default_capital: 10000 # 10000: 10 seconds in ms commission: 0.001 # 0.1% per trade slippage: 0.0005 # 0.05% slippage risk: max_position_size: 0.95 stop_loss: null # Optional fixed stop loss take_profit: null # Optional fixed take profit
Error Handling
See
${CLAUDE_SKILL_DIR}/references/errors.md for common issues and solutions.
Examples
See
${CLAUDE_SKILL_DIR}/references/examples.md for detailed usage examples including:
- Multi-asset comparison
- Walk-forward analysis
- Parameter optimization workflows
Files
| File | Purpose |
|---|---|
| Main backtesting engine |
| Historical data fetcher |
| Strategy definitions |
| Performance calculations |
| Parameter optimization |
Resources
- yfinance - Yahoo Finance data
- TA-Lib - Technical analysis library
- QuantStats - Portfolio analytics