Crypto Backtest Engine
Fast, scriptable backtesting for crypto futures strategies. Fetches data via ccxt, runs strategies, reports metrics.
Quick Start
CODEBLOCK0
Features
- - Multi-exchange: Any ccxt-supported exchange (Bybit, Binance, OKX, Bitget...)
- Built-in strategies: EMA crossover, RSI, MACD, Bollinger Bands
- Parameter sweep: Test all combinations automatically
- Risk simulation: Configurable leverage, position size, SL/TP, fees
- JSON export: Machine-readable results for pipeline integration
- Custom strategies: Simple plug-in interface
Usage
Single Strategy
CODEBLOCK1
Parameter Sweep
CODEBLOCK2
Custom Strategy
See
references/custom_strategy.md for the plug-in interface.
Output Metrics
Each backtest reports:
- - Total trades, win rate, profit factor
- Total PnL (absolute + percentage)
- Max drawdown
- Best/worst trade
- Final balance
Files
- -
scripts/backtest_engine.py — Core engine with EMA, RSI, MACD, Bollinger Bands - INLINECODE2 — Multi-strategy parameter sweep runner
- INLINECODE3 — Guide for adding custom strategies
- INLINECODE4 — Notes on each built-in strategy's edge cases
加密货币回测引擎
快速、可脚本化的加密货币期货策略回测工具。通过ccxt获取数据,运行策略,输出指标报告。
快速开始
bash
pip install ccxt numpy
python scripts/backtest_engine.py --symbol ETH/USDT:USDT --strategy ema --fast 12 --slow 26
功能特性
- - 多交易所支持:所有ccxt支持的交易所(Bybit、Binance、OKX、Bitget等)
- 内置策略:EMA交叉、RSI、MACD、布林带
- 参数扫描:自动测试所有参数组合
- 风险模拟:可配置杠杆、仓位大小、止损/止盈、手续费
- JSON导出:机器可读结果,便于流水线集成
- 自定义策略:简洁的插件式接口
使用方法
单一策略
bash
python scripts/backtest_engine.py \
--symbol SOL/USDT:USDT \
--strategy rsi \
--period 14 --oversold 30 --overbought 70 \
--capital 1000 --leverage 5
参数扫描
bash
python scripts/sweep.py \
--symbol ETH/USDT:USDT \
--strategies ema,rsi,macd,bbands \
--capital 1000 --leverage 5 \
--output results.json
自定义策略
插件接口说明请参见 references/custom_strategy.md。
输出指标
每次回测报告包含:
- - 总交易次数、胜率、盈利因子
- 总盈亏(绝对值+百分比)
- 最大回撤
- 最佳/最差交易
- 最终余额
文件说明
- - scripts/backtestengine.py — 核心引擎,包含EMA、RSI、MACD、布林带策略
- scripts/sweep.py — 多策略参数扫描运行器
- references/customstrategy.md — 添加自定义策略指南
- references/strategy_notes.md — 各内置策略边界情况说明