基于海龟交易系统的ETF轮动策略
由bqy4a9le创建,最终由bqy4a9le 被浏览 34 用户
本策略通过 “原始海龟的趋势内核 + ETF 的工具优势 + 多层风控的安全垫”,实现了 “风险可控下的趋势收益”。
一 本策略定位
- 核心逻辑:追随中期趋势(20 日周期),通过 “突破开仓、止损平仓” 实现 “小亏大赚”;
- 工具载体:ETF(免印花税、高流动性、分散风险);
- 适用人群:追求年化 10%-15% 的理性投资者。
二 海龟交易法则
ETF 海龟策略的 “灵魂” 源于 1983 年理查德・丹尼斯的 “海龟实验”。要理解 ETF 海龟,要先理解原始海龟的 4 大核心规则 —— 这是所有趋势策略的 “底层密码”。
1 原始海龟策略核心规则
(1)标的选择:只做 “高流动性趋势品种”
原始海龟主要交易商品期货(大豆、原油)和金融期货(国债期货),选择标准:
- 日均成交额大(避免滑点);
- 趋势性强(能形成单边行情);
- 历史数据充足(便于验证策略)。
启示:ETF 海龟继承了这一逻辑,选择黄金 ETF、纳指 ETF 等高流动性品种,避开低成交行业 ETF。
(2)开仓规则:“双周期突破” 确认趋势 原始海龟用 “突破 N 日高低点” 开仓,分两个周期:
20 日周期:突破过去 20 日最高价→多头开仓;突破过去 20 日最低价→空头开仓(适合捕捉中期趋势);
55 日周期:突破过去 55 日高低点→开仓(适合捕捉长期趋势)。
关键细节:突破时需伴随成交量放大,且不含当天数据(避免未来函数)。
(3)仓位计算:ATR 主导的 “1% 风险规则”
这是原始海龟最核心的创新,用ATR(平均真实波幅) 标准化风险:
- ATR 定义:衡量品种日均波动幅度(如原油 ATR=2 美元 / 桶,说明日均波动 2 美元);
- 计算逻辑:TR(真实波幅)=max (当日高低差,| 当日高 - 前一日收 |, | 当日低 - 前一日收 |),ATR=14 日 TR 的平均值;
- 仓位公式:仓位 =(总资金 ×1%)/(2×ATR× 合约乘数)—— 确保每笔交易风险不超过总资金 1%。
案例:总资金 10 万美元,黄金期货 ATR=20 美元 / 盎司,合约乘数 = 100 盎司;单份合约风险 = 2×20×100=4000 美元;仓位 =(10 万 ×1%)/4000=0.25 份→取 0 份(资金不足时不交易)。
(4)平仓规则:“止损 + 止盈” 双轨制
- 止损:开仓后反向波动 2 个 ATR→立即平仓(铁律,不可修改);
- 止盈:20 日周期开仓→跌破 10 日最低价止盈;55 日周期开仓→跌破 20 日最低价止盈(让利润奔跑,不贪最高点)。
启发
ETF 海龟保留了原始海龟的 “趋势确认” 和 “风险控制” 核心,但做了 “适配优化”:
- 只做多(适配 A 股 ETF 特性,避免做空的高门槛);
- 简化仓位计算(用 “平均分配” 替代复杂的 ATR 仓位,降低操作难度);
- 增加 “总资金回撤休息”(应对 A 股系统性风险,原始海龟无此规则)。
\
三 策略逻辑框架
(1)标的选择
策略的标的池不是随机选的,而是遵循 “低相关性、高流动性、多资产” 三大原则,最终确定 4 只核心 ETF:
ETF 名称 | 资产类型 | 选择逻辑 | 作用 |
---|---|---|---|
黄金 ETF(518880) | 贵金属 | 抗通胀、与股票相关性低(约 0.2) | 对冲股市风险,提供避险收益 |
豆粕 ETF(159985) | 大宗商品 | 受农产品供需影响,独立于股市周期 | 分散单一资产波动风险 |
纳指 100ETF(513100) | 海外科技股 | 跟踪美股纳指,与 A 股周期不完全同步 | 实现 “跨市场分散”,捕捉海外趋势 |
创业 50(159949) | A 股成长股 | 覆盖 A 股优质成长企业,趋势性强 | 捕捉国内成长股的中期趋势 |
核心逻辑:不同品类 ETF 的 “低相关性”,能确保 “一只 ETF 下跌时,另一只可能上涨”,降低组合整体波动.
(2)核心参数
参数名称 | 数值 | 对应逻辑 | 实战意义 |
---|---|---|---|
趋势周期(data_days) | 20 | 用 “20 个交易日” 判断中期趋势 | 太短易出假突破,太长易错过趋势初期 |
总资金回撤阈值(value_shrink) | 0.9 | 总资金较历史最高回撤 10% 触发风控 | 避免系统性风险(如熊市)导致大幅亏损 |
单仓止损率(stop_loss_rate) | 0.05 | 单只 ETF 跌破成本 5% 止损 | 控制单笔交易的最大亏损 |
回撤止盈率(drawback_rate) | 0.08 | 单只 ETF 从 20 日高点回撤 8% 止盈 | 锁定利润,避免 “利润回吐” |
休息天数(rest_days) | 20 | 回撤后强制休息 20 天 | 避免情绪化 “急于回本” 的错误交易 |
(3)开仓逻辑
开仓信号:“突破 20 日新高” 的确认逻辑
策略只在一个条件下开仓:当前价格>过去 20 个交易日的最高价(不含当天),且未持有该 ETF。\n20 个交易日约等于 1 个月,价格突破这一区间的高点,说明 “买方力量持续大于卖方”,中期上涨趋势形成(如 2020 年创业 50 从 1.2 元突破 20 日新高 1.3 元后,继续涨到 1.8 元);。
资金分配:“平均分配” 的风险分散逻辑
当多个 ETF 同时出现 “突破信号” 时,策略将 “可用资金平均分配给每只标的”(如可用资金 10 万,2 只 ETF 突破则各买 5 万)。
- 逻辑 1:避免 “单只重仓” 风险 —— 即使某只 ETF 判断错误止损,也只损失 50% 的可用资金,不会影响整体;
- 逻辑 2:捕捉 “多趋势机会”—— 当黄金、纳指同时形成趋势时,不会错过其中任何一个;
- 实战限制:仅当可用资金>1 万元时才开仓(避免小额交易的佣金成本过高)。
(4) 平仓逻辑
条件 1:5% 止损 ——“认错离场,保存实力”
当单只 ETF 的 “当前价格≤持仓成本 ×0.95” 时,立即清仓。
逻辑:趋势策略允许 “小亏损”,但亏损超过 5%,说明 “趋势判断错误”(可能是假突破),必须立即离场,避免 “越套越深”(如成本 1.5 元的 ETF,跌到 1.425 元就止损,单笔亏损 5%);
铁律:止损信号一旦触发,不允许 “等待反弹”,必须严格执行(情绪化交易的主要误区就是 “不止损”)。
条件 2:跌破 20 日低点 ——“趋势反转,果断离场”
当单只 ETF 的 “当前价格≤过去 20 个交易日的最低价” 时,立即清仓。
逻辑:20 日低点是 “中期趋势的支撑位”,跌破说明 “买方失去支撑,下跌趋势可能形成”(如纳指 100ETF 20 日低点 1.6 元,跌到 1.59 元就清仓,避免后续跌到 1.4 元的更大亏损);
场景:适用于 “未触发止损,但趋势已反转” 的情况(如 ETF 从 1.5 元涨到 1.8 元,再跌回 1.6 元跌破 20 日低点,此时虽未止损,但需离场)。
条件 3:8% 回撤止盈 ——“锁定利润,落袋为安”
当单只 ETF 的 “当前价格≤20 日高点 ×0.92” 时,立即清仓(即从 20 日高点回撤 8%)。
逻辑:趋势策略无法 “卖在最高点”,8% 的回撤是 “放弃小部分利润,换取大部分利润” 的妥协(如 ETF 从 1.5 元涨到 2.0 元(20 日高点),回撤 8% 到 1.84 元时止盈,锁定 0.34 元的利润,避免回到 1.5 元);
核心:“让利润奔跑” 但 “不贪多”—— 如果趋势继续,不会因过早止盈错过太多;如果趋势反转,能及时锁定已有收益。
平仓逻辑总结:3 个条件 “只要满足其一就清仓”,形成 “无死角” 的风险防护,确保 “小亏大赚” 的策略目标落地。
\
(5)适用场景
适用场景:“趋势明确” 的市场
牛市中期:如 2020 年创业板牛市,创业 50ETF 持续突破 20 日新高,策略能多次开仓盈利;
单品类趋势:如 2022 年黄金因通胀上涨,黄金 ETF 形成单边趋势,策略可长期持有盈利;
海外市场趋势:如 2023 年美股纳指上涨,纳指 100ETF 突破 20 日新高,策略能捕捉海外收益。
在这些场景下,策略的表现:年化收益 10%-20%,最大回撤≤15%,盈亏比≥2:1(盈利单的平均收益是亏损单的 2 倍以上)。
当市场处于 “无趋势的横盘震荡” 时(如 2023 年 A 股多数时间),价格会 “反复突破 20 日新高 / 低点”,导致策略 “频繁开仓止损”,产生亏损。
- 例子:某 ETF 在 1.2-1.3 元之间横盘,反复突破 20 日新高(1.3 元)后又跌回 1.2 元,策略会 “突破时买入,跌破时止损”,每次亏损 5%,多次交易后收益归零;
- 应对:震荡市可 “延长趋势周期”(如从 20 日改为 30 日),减少假突破;或暂停策略,等待趋势明确
回测结果
策略链接
https://bigquant.com/square/ai/f5ed01c6-ba42-6d6e-8289-0b756c756cc4