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