backtesting-trading-strategies

Backtesting Trading Strategies

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "backtesting-trading-strategies" with this command: npx skills add jeremylongshore/claude-code-plugins-plus-skills/jeremylongshore-claude-code-plugins-plus-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:

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 ${CLAUDE_SKILL_DIR}/data/ for reuse): 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 ${CLAUDE_SKILL_DIR}/reports/ -- includes *_summary.txt (performance metrics), *_trades.csv (trade log), *_equity.csv (equity curve data), and *_chart.png (visual equity curve).

  • 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

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

File Purpose

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

  • yfinance - Yahoo Finance data

  • TA-Lib - Technical analysis library

  • QuantStats - Portfolio analytics

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

svg-icon-generator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

performance-lighthouse-runner

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

mindmap-generator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

n8n-workflow-generator

No summary provided by upstream source.

Repository SourceNeeds Review