用途
crypto-backtest 用于把自然语言的加密货币交易想法转化为经过验证的回测策略。它面向现货交易,明确不支持杠杆、做空以及期货/永续合约,所有策略均为只做多(低买→持有→高卖)。
主要能力
- 将模糊的交易直觉扩展为多维度、多指标的专业策略,而不是使用单一指标。
- 针对不同策略类型提供模板化思路:多因子估值买入、趋势跟随确认、成交量确认突破、智能定投(DCA)、配对交易/相对强弱、均值回归等。
- 生成 YAML 格式的完整策略(数据、信号、资金、风险、执行),供用户确认。
- 运行回测并输出交互式 HTML 报告与可运行的 Python 策略代码。
- 展示回测指标(总收益、最大回撤、夏普比率、胜率、盈亏比等)并给出可操作洞察与迭代建议。
- 支持按用户语言生成报告(--lang zh 或 --lang en)。
使用方式
工作流分为五步:
- 理解并扩展意图:识别策略类型(均值回归、趋势跟随、突破、定投等),提取资产、时间周期、风险偏好等约束,扩展为多维度条件并加入风险管理。
- 以 YAML 格式呈现完整策略供确认,必须等待用户明确确认后才继续。
- 用户确认后运行回测,命令示例:
python src/backtest.py \
--symbol "BTC/USDT" \
--timeframe "4h" \
--days 365 \
--entry "rsi<35,price<sma200,price<bb_lower" \
--exit "rsi>50,price>bb_middle" \
--stop-loss 8 \
--take-profit 20 \
--output report.html \
--lang zh
- 展示结果与洞察,包括指标表格、关键洞察和生成的文件(report.html、strategy.py)。
- 基于结果主动建议参数优化、附加过滤、替代方案和风险调整。
定投策略使用专用脚本:
python src/smart_dca.py \
--symbol "BTC/USDT" \
--days 1095 \
--base-amount 200 \
--frequency 7 \
--output smart_dca_report.html \
--lang zh
配对交易使用:
python src/pair_trading.py \
--symbol-a "BT...
(资料中该命令未完整给出。)
参数与条件语法
- 仓位大小是百分比:--position-size 10 表示每笔交易使用 10% 资金,而非 10 美元。
- 条件以逗号分隔,入场使用 AND 逻辑,出场使用 OR 逻辑。
- 支持简单比较(如 rsi<30、price>sma200、volume_ratio>2)、交叉/下穿(如 macd_crossover、ema9_cross_above_ema21)、转折点(如 rsi_turning_up)、连续周期(如 rsi<30_for_3)等语法。
- 可用指标涵盖动量(RSI、MACD、Stochastic、Williams %R、CCI、MFI、ROC)、趋势(SMA、EMA、ADX、+DI/-DI)、波动率(布林带、ATR)、成交量(OBV、Volume SMA、VWAP)以及价格位置与派生指标。
适用场景
- 用户描述交易想法并希望验证策略。
- 用户提到“回测”或希望将直觉转化为可执行策略。
- 需要生成可视化回测报告和可运行代码。
限制
- 仅支持现货,杠杆始终为 1x,不支持做空和合约。
- 交易所历史数据长度不同:OKX 约 60-90 天(默认),KuCoin 约 200 天,Binance 1000+ 天(部分地区受限),Bybit 约 200 天。若需超过 90 天数据,需改用 KuCoin 或 Binance。
- 回测结果不代表未来表现。
- 必须获得用户确认后才能运行回测。
- 资料未提供安装方式、收费、价格、平台支持范围等具体信息。