SuperAPI AI 工具集

backtesting-trading-strategies

数据与分析

查看项目

更新于 10-15 10:54

技能介绍

用途:在投入真实资金之前,用历史数据验证交易策略。该技能提供一个完整的回测框架,内置8种策略、完整的绩效指标和参数优化功能。

主要能力:

  • 8种预置交易策略:SMA(简单移动平均交叉)、EMA(指数移动平均交叉)、RSI(超买超卖反转)、MACD(信号线交叉)、Bollinger(布林带均值回归)、Breakout(区间突破)、Mean Reversion(均值回归)、Momentum(动量)。
  • 完整绩效指标:夏普比率、索提诺比率、卡玛比率、VaR、最大回撤,以及总收益、CAGR、波动率、Ulcer指数等风险指标。
  • 交易统计:总交易次数、胜率、盈亏比、期望值、平均盈利、最大连续亏损。
  • 参数网格搜索优化。
  • 权益曲线可视化与逐笔交易分析。

使用方式(命令与代码均保留原样): 第一步,安装依赖: pip install pandas numpy yfinance matplotlib 可选高级功能: pip install ta-lib scipy scikit-learn

第二步,获取历史数据: python {baseDir}/scripts/fetch_data.py --symbol BTC-USD --period 2y --interval 1d 数据会缓存到 {baseDir}/data/{symbol}_{interval}.csv 以便复用。

第三步,运行回测。默认参数的基础回测: python {baseDir}/scripts/backtest.py --strategy sma_crossover --symbol BTC-USD --period 1y 带自定义参数的高级回测示例: python {baseDir}/scripts/backtest.py
--strategy rsi_reversal
--symbol ETH-USD
--period 1y
--capital 10000
--params '{"period": 14, "overbought": 70, "oversold": 30}'

第四步,分析结果。结果保存到 {baseDir}/reports/,包括:_summary.txt(绩效指标)、_trades.csv(交易日志)、_equity.csv(权益曲线数据)、_chart.png(可视化权益曲线)。

第五步,参数优化,通过网格搜索寻找最优参数: 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]}'

配置:可创建 {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

适用场景:加密货币与传统市场的策略验证、多资产对比、前向滚动分析(walk-forward)、参数优化工作流。

支持策略与关键参数:sma_crossover(fast_period, slow_period)、ema_crossover(fast_period, slow_period)、rsi_reversal(period, overbought, oversold)、macd(fast, slow, signal)、bollinger_bands(period, std_dev)、breakout(lookback, threshold)、mean_reversion(period, z_threshold)、momentum(period, threshold)。

文件说明:scripts/backtest.py(主回测引擎)、scripts/fetch_data.py(历史数据获取)、scripts/strategies.py(策略定义)、scripts/metrics.py(绩效计算)、scripts/optimize.py(参数优化)。错误处理见 {baseDir}/references/errors.md,详细用法示例(含多资产对比、前向滚动分析、参数优化工作流)见 {baseDir}/references/examples.md。

限制:资料未提供该技能的价格、收费方式、平台限制或实际回测效果保证,这些信息暂未提供。