Spreader
Spreader是一个统计套利EA,通过交易两个相关品种之间的价差来获利。当价差偏离历史均值超过设定阈值时,在两个品种上开立对冲仓位,等待价差回归均衡时平仓获利。该EA监控价差比率,在偏离过大时入场,在价差正常化或触及止损时出场。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
这个 EA 从未交易的原因:转换后没有留下任何开仓规则。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 偏高
- 没有止损,也没有移动止损
- 最多可同时持有 2 个仓位
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
Spreader采用配对交易(Pairs Trading)策略,属于统计套利类别。其核心概念是寻找两个历史上高度相关的金融品种,计算它们之间的价差(spread),并假设价差具有均值回归特性。入场条件是当价差偏离其移动均值超过设定的标准差倍数(阈值)时,在价差偏大的品种上做空、在偏小的品种上做多,形成对冲仓位。出场条件包括价差回归到均值附近时获利平仓,以及价差继续恶化触及止损时亏损平仓。仓位管理方面,EA支持在两个品种上分别开仓,且可以根据品种的波动率差异调整各自的仓位比例以实现中性对冲。资金管理方面,EA提供了手数参数供用户设置每笔交易规模,但缺乏基于账户余额或波动率的动态仓位调整机制。整体策略逻辑依赖协整关系的持续性,若品种间相关性发生结构性断裂,可能导致双边亏损。
优势
- 市场中性策略,不受单边趋势方向影响,在震荡和趋势市场中均可运作
- 对冲仓位降低了单边风险暴露,双边持仓互为保护
- 利用统计规律,有明确的均值回归逻辑支撑,入场和出场条件量化清晰
- 可扩展性强,用户可自定义配对品种和参数阈值,适应不同市场环境
劣势
- 过度依赖历史相关性假设,若品种间协整关系发生结构性断裂,可能导致双边亏损
- 缺少动态仓位调整机制,固定手数设置无法适应账户权益变化和品种波动率变化
- 未考虑交易成本(点差、佣金、滑点)对价差交易利润的侵蚀,小价差回归利润可能被成本吞噬
- 缺乏新K线检查机制,可能在同一根K线上重复开仓
改进建议
- 增加协整性检验(如ADF检验),动态监控品种间相关性的稳定性,在相关性衰减时暂停交易
- 引入基于ATR或账户风险的动态仓位计算,替代固定手数设置
- 增加交易成本过滤器,确保预期利润超过点差和佣金之和才执行交易
- 添加新K线检测逻辑,防止同一根K线上重复开仓
风险评估
总体风险: 中等
- 品种间相关性可能发生结构性断裂,导致对冲失效并产生双边亏损
- 缺少动态仓位管理,在极端行情下可能承受过大风险
- 止损参数默认为零,若用户未设置则无止损保护
- 未做新K线检查,存在重复开仓风险
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
Symbol1 | 第一个配对品种符号 | |
Symbol2 | 第二个配对品种符号 | |
LotSize | 0.1 | 每笔交易手数 |
SpreadPeriod | 20 | 价差均线计算周期 |
EntryThreshold | 2.0 | 入场阈值(标准差倍数) |
ExitThreshold | 0.5 | 出场阈值(价差回归至均值附近的水平) |
StopLoss | 0 | 止损点数 |
MagicNumber | 12345 | EA魔术编号,用于区分订单 |
同类 EA:统计套利
回测是历史模拟,不代表未来收益,不构成投资建议。