backtesting-trading-strategies
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 wit
By gracefullight · 1,936 installs
npx skills add gracefullight/stock-checker --skill backtesting-trading-strategies
Source repository · Upstream listing
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:
Optional for advanced features:
Instructions
Step 1: Fetch Historical Data
Data is cached to {baseDir}/data/{symbol} {interval}.csv for reuse.
Step 2: Run Backtest
Basic backtest with default parameters:
Advanced backtest with custom parameters:
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:
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
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 {baseDir}/config/settings.yaml :
Error Handling
See {baseDir}/references/errors.md for common issues and solutions.
Examples
See {baseDir}/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](https://github.com/ranaroussi/yfinance) Yahoo Finance data
[TA Lib](https://ta lib.org/) Technical analysis library
[QuantStats](https://github.com/ranaroussi/quantstats) Portfolio analytics