Strategy Backtest — Historical Performance & Optimization
Overview
Supports systematic trading strategy workflows: backtest rules on history, optimize parameters (e.g. grid search), and report results. Typical building blocks include moving-average crosses, MACD, RSI, and custom signals—implemented with libraries such as Backtrader or similar.
Trigger keywords: backtest, trading strategy, quant, algorithmic trading, Sharpe, drawdown, optimize parameters, walk-forward
Prerequisites
CODEBLOCK0
Capabilities
- 1. Backtest engine — run strategies on historical OHLCV (or vendor-specific) data.
- Performance analytics — annualized return, max drawdown, Sharpe-like ratios, win rate (definitions must match your implementation).
- Parameter search — grid or bounded search over strategy parameters with out-of-sample caution (see
references/strategy_backtest_guide.md).
Commands
| Command | Description | Example |
|---|
| INLINECODE1 | Run a backtest | INLINECODE2 |
| INLINECODE3 |
Parameter optimization |
python3 scripts/skills/strategy-backtest/scripts/strategy_backtest_tool.py optimize [args] |
|
report | Emit a backtest report |
python3 scripts/skills/strategy-backtest/scripts/strategy_backtest_tool.py report [args] |
Usage (from repository root)
CODEBLOCK1
Use symbols and venues appropriate to your data feed (e.g. SPY, QQQ, or local indices)—the examples above are illustrative.
Output format (for the agent’s report)
CODEBLOCK2
References
Core
Community & critique
Notes
- - Base all numbers on script or notebook output—never invent trades or metrics.
- Mark missing fields as unavailable instead of guessing.
- Not investment advice; comply with local regulations for research vs advisory.
- Prefer stating assumptions (fees, spread, leverage, timezone, corporate actions).
策略回测 — 历史表现与优化
概述
支持系统性交易策略工作流程:在历史数据上回测规则,优化参数(如网格搜索),并报告结果。典型构建模块包括移动平均线交叉、MACD、RSI以及自定义信号——通过Backtrader或类似库实现。
触发关键词: 回测、交易策略、量化、算法交易、夏普比率、回撤、参数优化、滚动优化
前置条件
bash
pip install pandas numpy backtrader matplotlib
功能
- 1. 回测引擎 — 在历史OHLCV(或特定供应商)数据上运行策略。
- 绩效分析 — 年化收益率、最大回撤、夏普比率、胜率(定义需与实现一致)。
- 参数搜索 — 对策略参数进行网格或边界搜索,并注意样本外风险(参见 references/strategybacktestguide.md)。
命令
| 命令 | 描述 | 示例 |
|---|
| backtest | 运行回测 | python3 scripts/skills/strategy-backtest/scripts/strategybacktesttool.py backtest [args] |
| optimize |
参数优化 | python3 scripts/skills/strategy-backtest/scripts/strategy
backtesttool.py optimize [args] |
| report | 生成回测报告 | python3 scripts/skills/strategy-backtest/scripts/strategy
backtesttool.py report [args] |
使用方法(从仓库根目录)
bash
python3 scripts/skills/strategy-backtest/scripts/strategybacktesttool.py backtest --strategy ma_cross --symbol SPY --period 3y
python3 scripts/skills/strategy-backtest/scripts/strategybacktesttool.py optimize --strategy ma_cross --fast 5-20 --slow 20-60
python3 scripts/skills/strategy-backtest/scripts/strategybacktesttool.py report --format markdown
使用适合您数据源的标的和交易所(例如 SPY、QQQ 或本地指数)——以上示例仅供参考。
输出格式(供智能体报告使用)
markdown
策略回测报告
生成时间:YYYY-MM-DD HH:MM
主要发现
- 1. [发现1]
- [发现2]
- [发现3]
指标概览
Y% | … |
| 夏普比率(如定义) | Z | 窗口及无风险利率假设 |
分析
[基于实际运行输出——不虚构成交或权益曲线。]
风险与局限性
- - 历史表现不代表未来结果;成本、滑点及幸存者偏差均需考虑。
参考资料
核心
社区与评论
备注
- - 所有数据基于脚本或笔记本输出——切勿虚构交易或指标。
- 缺失字段标记为不可用,而非猜测。
- 非投资建议;请遵守当地关于研究与咨询的法规。
- 建议明确说明假设条件(费用、点差、杠杆、时区、公司行为)。