← 返回 Skills 市场
zhengxinjipai

Backtesting Trading Strategies

作者 zhengxinjipai · GitHub ↗ · v2.0.0
cross-platform ✓ 安全检测通过
1662
总下载
0
收藏
10
当前安装
1
版本数
在 OpenClaw 中安装
/install backtesting-trading-strategies
功能描述
Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity...
使用说明 (SKILL.md)

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:

pip install pandas numpy yfinance matplotlib

Optional for advanced features:

pip install ta-lib scipy scikit-learn

Instructions

Step 1: Fetch Historical Data

python {baseDir}/scripts/fetch_data.py --symbol BTC-USD --period 2y --interval 1d

Data is cached to {baseDir}/data/{symbol}_{interval}.csv for reuse.

Step 2: Run Backtest

Basic backtest with default parameters:

python {baseDir}/scripts/backtest.py --strategy sma_crossover --symbol BTC-USD --period 1y

Advanced backtest with custom parameters:

# Example: backtest with specific date range
python {baseDir}/scripts/backtest.py \
  --strategy rsi_reversal \
  --symbol ETH-USD \
  --period 1y \
  --capital 10000 \
  --params '{"period": 14, "overbought": 70, "oversold": 30}'

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:

python {baseDir}/scripts/optimize.py \
  --strategy sma_crossover \
  --symbol BTC-USD \
  --period 1y \
  --param-grid '{"fast_period": [10, 20, 30], "slow_period": [50, 100, 200]}'

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 {baseDir}/config/settings.yaml:

data:
  provider: yfinance
  cache_dir: ./data

backtest:
  default_capital: 10000
  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 {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

安全使用建议
This skill appears coherent and implements a local backtester. Before running: (1) review the scripts if you will run them in a sensitive environment; (2) run in an isolated or development environment (it will fetch data from Yahoo Finance and CoinGecko and write CSV/PNG files to ./data and ./reports by default); (3) install Python dependencies in a virtualenv; (4) verify any changes to config/settings.yaml (output paths) so the tool does not write into unexpected locations. No credentials are required and there are no hidden network endpoints in the provided code.
功能分析
Type: OpenClaw Skill Name: backtesting-trading-strategies Version: 2.0.0 The skill bundle provides a legitimate and well-structured framework for backtesting trading strategies using historical data from Yahoo Finance and CoinGecko. The Python scripts (backtest.py, fetch_data.py, strategies.py) implement standard financial logic for signal generation and performance metrics calculation without any evidence of malicious intent, data exfiltration, or unauthorized execution.
能力评估
Purpose & Capability
Name/description (backtesting trading strategies) match the provided files and runtime instructions: fetch_data, backtest, metrics, optimize, and strategies. Required capabilities (networked data fetch via yfinance/CoinGecko, local CSV caching, plotting) are proportional to the stated purpose.
Instruction Scope
SKILL.md instructs the agent to fetch historical market data, run backtests, save reports and charts to local directories, and run parameter grid searches—all within the scope of a backtester. There are no instructions to read unrelated system files, environment secrets, or send data to unexpected third-party endpoints.
Install Mechanism
No install spec is provided (instruction-only), and the README lists standard Python packages (pandas, numpy, yfinance, matplotlib, optional ta-lib, scipy, scikit-learn). No arbitrary downloads or extract operations appear. Running the tool will install typical Python packages if the user chooses to.
Credentials
The skill declares no required environment variables or credentials. Network access is used only for known data providers (yfinance and CoinGecko). No unrelated secrets, cloud credentials, or config paths are requested.
Persistence & Privilege
Flags show always:false and normal autonomous invocation settings. The skill writes outputs to local data/ and reports/ directories per configuration but does not request elevated or system-wide privileges or modify other skills.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install backtesting-trading-strategies
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /backtesting-trading-strategies 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v2.0.0
Major update: Comprehensive overhaul and feature expansion for strategy backtesting. - Added 8 built-in trading strategies, including SMA, EMA, RSI, MACD, and more. - Included advanced performance/risk metrics: Sharpe, Sortino, Calmar, VaR, max drawdown. - Introduced parameter grid search optimization and equity curve visualization. - Provided detailed trade-by-trade analysis and clear output reporting. - Enhanced user documentation with setup steps, usage examples, and configuration guidelines.
元数据
Slug backtesting-trading-strategies
版本 2.0.0
许可证
累计安装 10
当前安装数 10
历史版本数 1
常见问题

Backtesting Trading Strategies 是什么?

Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1662 次。

如何安装 Backtesting Trading Strategies?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install backtesting-trading-strategies」即可一键安装,无需额外配置。

Backtesting Trading Strategies 是免费的吗?

是的,Backtesting Trading Strategies 完全免费(开源免费),可自由下载、安装和使用。

Backtesting Trading Strategies 支持哪些平台?

Backtesting Trading Strategies 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Backtesting Trading Strategies?

由 zhengxinjipai(@zhengxinjipai)开发并维护,当前版本 v2.0.0。

💬 留言讨论