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.md
source 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

  1. Fetch historical data (cached to
    ${CLAUDE_SKILL_DIR}/data/
    for reuse):
    python ${CLAUDE_SKILL_DIR}/scripts/fetch_data.py --symbol BTC-USD --period 2y --interval 1d
    
  2. 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}'
    
  3. Analyze results saved to
    ${CLAUDE_SKILL_DIR}/reports/
    -- includes
    *_summary.txt
    (performance metrics),
    *_trades.csv
    (trade log),
    *_equity.csv
    (equity curve data), and
    *_chart.png
    (visual equity curve).
  4. 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

MetricDescription
Total ReturnOverall percentage gain/loss
CAGRCompound annual growth rate
Sharpe RatioRisk-adjusted return (target: >1.5)
Sortino RatioDownside risk-adjusted return
Calmar RatioReturn divided by max drawdown

Risk Metrics

MetricDescription
Max DrawdownLargest peak-to-trough decline
VaR (95%)Value at Risk at 95% confidence
CVaR (95%)Expected loss beyond VaR
VolatilityAnnualized standard deviation

Trade Statistics

MetricDescription
Total TradesNumber of round-trip trades
Win RatePercentage of profitable trades
Profit FactorGross profit divided by gross loss
ExpectancyExpected 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

StrategyDescriptionKey Parameters
sma_crossover
Simple moving average crossover
fast_period
,
slow_period
ema_crossover
Exponential MA crossover
fast_period
,
slow_period
rsi_reversal
RSI overbought/oversold
period
,
overbought
,
oversold
macd
MACD signal line crossover
fast
,
slow
,
signal
bollinger_bands
Mean reversion on bands
period
,
std_dev
breakout
Price breakout from range
lookback
,
threshold
mean_reversion
Return to moving average
period
,
z_threshold
momentum
Rate of change momentum
period
,
threshold

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

FilePurpose
scripts/backtest.py
Main backtesting engine
scripts/fetch_data.py
Historical data fetcher
scripts/strategies.py
Strategy definitions
scripts/metrics.py
Performance calculations
scripts/optimize.py
Parameter optimization

Resources