跳至正文
全部策略

策略

QuantConnect 七项ETF全球轮动回测 | Stratmill

结局: 已放弃

FaithfulQuantConnectSevenEtfGlobalRotation

结局总结

该策略根据一个月和三个月的表现实施七只ETF轮动。经过三轮迭代,五只必需的 ETF 仍缺少分钟 K 线数据,因此未生成回测指标。由于数据不可用,该策略在进入后续审查阶段前被放弃。

假设

QuantConnect 的 Apache-2.0 ETFGlobalRotationAlgorithm 于 2007-01-01 启动,初始现金为 $25,000,并使用分钟数据评估七只 ETF。其增长和安全标签不影响选取:代码将七只 ETF 放在一起排名。在此平台上,应使用完全相同的七种 USEQ 工具、整股数量、$100,000 回测起始余额,以及模拟的价差和冲击成本,佣金为零。原始来源所述表现尚未验证。目前无法进行忠实回测,因为五只 ETF 不在已配置的 USEQ 采集范围内,且分钟历史数据始于 2026。

唯一的代码改动是将被禁止的市场日历导入替换为允许使用的标准库 UTC 时区。USEQ 时段 K 线在 UTC 和纽约均于同一日历日收盘,因此保留了每日分组。原有七种工具、排名、轮动和整股数量设置均保持不变。由于缺少 ETF 采集覆盖范围,且分钟历史数据始于 2026,忠实历史回测仍受限制。

data_unavailable:经过 5 次重试后,仍无法采集 MDY.USEQ 的回测数据: - K 线(bar_type=MDY.USEQ-1-MINUTE-LAST-EXTERNAL):已获取 0,需要 500 或跨度为 3+ 天 - K 线(bar_type=IEV.USEQ-1-MINUTE-LAST-EXTERNAL):已获取 0,需要 500 或跨度为 3+ 天 - K 线(bar_type=ILF.USEQ-1-MINUTE-LAST-EXTERNAL):已获取 0,需要 500 或跨度为 3+ 天 - K 线(bar_type=EPP.USEQ-1-MINUTE-LAST-EXTERNAL):已获取 0,需要 500 或跨度为 3+ 天 - K 线(bar_type=EDV.USEQ-1-MINUTE-LAST-EXTERNAL):已获取 0,需要 500 或跨度为 3+ 天 阻碍来自数据层(而非策略)——采集问题修复或该标的完成历史数据回填后,应重新评估此假设。

实现

每隔 30 个日历日,按加权的 30 个交易日和 90 个交易日动量为七只 USEQ ETF 排名;若得分为正,则持有得分最高的 ETF,否则持有现金。

迭代历史

验证失败(第 1 层——静态分析): - 导入不在沙盒允许列表中:from zoneinfo——策略可导入 __future__、abc、bisect、calendar、collections、copy、dataclasses、datetime、decimal、enum、fractions、functools、heapq、itertools、json、math、nautilus_trader、numpy、operator、re、src、statistics、string、typing(第 7 行)

验证失败(第 1 层——静态分析): - 禁止导入:src.data.market_calendar——策略只能导入框架基类和辅助模块(src.strategies.base_template、src.strategies.rolling_options_template、src.strategies.polymarket_series_template、src.strategies.helpers);采集器、数据库、回测引擎和注册表均在沙盒之外。(第 10 行)

结局总结

在重新评估此假设前,先回填缺失的 ETF 分钟数据。

在五次采集重试均失败后,本次运行被放弃。MDY、IEV、ILF、EPP 和 EDV 均没有所需的分钟 K 线数据;未进入后续审查阶段。

该策略旨在根据综合的一个月和三个月表现评分,在七只 USEQ ETF 之间轮动。

由于无法采集所需的分钟 K 线数据,目前没有回测结果或交易指标。

分析

ETFGlobalRotationAlgorithm

Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。