---
id: sm-backtesting-trading-strategies
name: "backtesting-trading-strategies"
url: https://skills.yangsir.net/skill/sm-backtesting-trading-strategies
author: jeremylongshore
domain: investment
tags: ["algorithmic-trading", "quantitative-finance", "backtesting", "financial-modeling", "python"]
install_count: 3700
rating: 4.40 (20 reviews)
github: https://github.com/jeremylongshore/claude-code-plugins-plus-skills
---

# backtesting-trading-strategies

> 该技能用于回测交易策略，帮助用户评估和优化其交易模型在历史数据上的表现。

**Stats**: 3,700 installs · 4.4/5 (20 reviews)

## Before / After 对比

### 高效回测与优化交易策略

## Readme

# 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](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

Weekly Installs2.3KRepository[jeremylongshore…s-skills](https://github.com/jeremylongshore/claude-code-plugins-plus-skills)GitHub Stars1.6KFirst SeenJan 26, 2026Security Audits[Gen Agent Trust HubPass](/jeremylongshore/claude-code-plugins-plus-skills/backtesting-trading-strategies/security/agent-trust-hub)[SocketPass](/jeremylongshore/claude-code-plugins-plus-skills/backtesting-trading-strategies/security/socket)[SnykPass](/jeremylongshore/claude-code-plugins-plus-skills/backtesting-trading-strategies/security/snyk)Installed onopencode2.0Kgemini-cli2.0Kcodex2.0Kgithub-copilot1.9Kkimi-cli1.9Kamp1.9K

---
*Source: https://skills.yangsir.net/skill/sm-backtesting-trading-strategies*
*Markdown mirror: https://skills.yangsir.net/api/skill/sm-backtesting-trading-strategies/markdown*