strategy-backtest — Quantitative Strategy Backtesting

SkillFiles & storage

Runs SMA crossover backtests on historical OHLCV/candlestick data, calculating total return, Sharpe ratio, max drawdown, win rate, and trade log. Supports CSV files and JSON input with automatic AKShare/hhxg column normalization. Use when the user asks to backtest a trading strategy, evaluate strategy performance on historical price data, run quantitative analysis, or mentions OHLCV, candlestick data, or equity curves.

Use strategy-backtest — Quantitative Strategy Backtesting in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add strategy-backtest — Quantitative Strategy Backtesting and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the strategy-backtest skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

strategy-backtest — Quantitative Strategy BacktestingStart free

What this skill tells your AI

The instructions your AI receives, as published by leionion/clawforge in skills/04-Process/strategy_backtest/SKILL.md and read by ahel’s review.

Runs strategy backtests on historical OHLCV data and returns performance metrics as JSON. Supports SMA crossover strategy with configurable fast/slow periods.

Usage

# Demo mode — uses built-in sample_ohlcv.csv
python3 strategy_backtest.py

# Backtest with custom CSV data
python3 strategy_backtest.py --data path/to/ohlcv.csv

# Backtest with JSON string input
python3 strategy_backtest.py --data '[{"open":10,"high":11,"low":9,"close":10.5,"volume":100}]'

# Custom SMA periods
python3 strategy_backtest.py --data prices.csv --fast 10 --slow 30

# Human-readable output
python3 strategy_backtest.py --data prices.csv --output print

Parameters

FlagDefaultDescription
--datasample_ohlcv.csvCSV path or JSON string (OHLCV)
--strategysma_crossoverStrategy type
--fast5Fast SMA period
--slow20Slow SMA period
--outputjsonOutput format (json or print)

Supports column names in English (open/high/low/close/volume) or Chinese AKShare format (开盘/收盘/最高/最低/成交量/日期).

Example output

{
  "total_return": 0.0523,
  "sharpe_ratio": 1.2345,
  "max_drawdown": -0.0812,
  "win_rate": 0.6,
  "trade_count": 10,
  "trades": [
    {"date": "2024-01-15", "action": "buy", "price": 150.25},
    {"date": "2024-02-01", "action": "sell", "price": 158.50, "pnl": 0.0549}
  ]
}

Error handling

  • Missing pandas: prints {"error": "pandas required: pip install pandas"}
  • Missing columns: reports which OHLCV columns are absent
  • Insufficient data: returns error if fewer rows than the slow SMA window
  • Unknown strategy: reports the unrecognized strategy name

Programmatic API

from strategy_backtest import run_backtest
metrics = run_backtest("prices.csv", strategy="sma_crossover", fast=5, slow=20)

Related skills

  • hhxg-top-hhxg-python: fetch A-share OHLCV data → feed into this skill
  • session-memory: store backtest metrics for later comparison

Signals

GitHub stars
92
Forks
21
Last commit
May 2026

ahel review

  • K1binfo
    installs-packages
  • K1binfo
    installs-packages (in strategy_backtest.py)

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Item type
skill
Key
strategy-backtest-leionion
Source
github.com/leionion/clawforge