跳至正文
全部策略

策略

高波动率五分位6个月动量,采用Jegadeesh-Titman重叠队列、多空策略;在Binance USD-M永续合约市场中,按时点选取排名前-60的标的(DAILY根柱线,每月形成队列,队列持有6个月)

结局: 已放弃

HighVolQuintileMomentumJTCohortsLSDaily

结局总结

HighVolQuintileMomentumJTCohortsLSDaily将QuantConnect策略库第155号策略改编为加密永续合约策略。其假设是动量集中于波动率最高的标的,并在按时点选取的Binance USD-M永续合约排名前-60标的集合中,以6个月月度队列重叠方式进行多空交易。经过3次迭代,代码始终未能通过第3层验证:每次沙盒冒烟测试都在约20,000根日线柱线窗口上超过300秒墙钟时间限制。该运行在反复验证中被放弃,没有回测、优化或分析师结论,因此这一假设本身从未经过检验。

假设

基于第一性原理为加密永续合约重新表述,并非逐行移植自QuantConnect策略库第155号“股票中的动量与反转结合波动率效应”。沿用原策略的核心观点:动量集中在波动率最高的标的中。每月按30日美元成交量,为Binance USD-M永续合约构建按时点选取的排名前-60标的集合。保留波动率最高的五分位(12个标的),使用t-187至t-7日的实现波动率(与原策略一样跳过最后一周)。按180日回报为这12个标的排名。做多排名前3个,做空排名末尾3个。每个月度队列各占总敞口的1/6,持有6个月,最多有6个队列重叠(Jegadeesh-Titman风格)。组合总敞口为1.0x。仓位只在月界变化,所有队列均已运行后,预期市场参与时间约为90%。仅做多版本已预注册为单独评分的变体2。完整文本位于发件箱文件中。

第3次迭代修复了第-3层沙盒超时。(1)每个交易腿的历史数据结构从双端队列改为普通列表,并采用摊销式分块修剪。旧代码对双端队列切片(closes[a:b]),导致每次再平衡尝试都触发TypeError;在双端队列索引上运行bisect也会使中间位置操作达到O(n)。列表使两者分别为O(1)/O(log n)。(2)标的集合缩减为40个流动性良好且当前上市的主流币,均已在目录中确认,具有1-DAY根柱线。沙盒回测约需96千根柱线,而不是60条交易腿组合所需的约144千根以上;每根柱线的引擎成本为L155中的(c)每跨度成本。40的最高五分位包含8个标的,因此保留做多3/做空3。当数据和运行时间允许时,可恢复universe_size=60。信号逻辑、队列计算、以日历为锚的标量状态、L139截止时间对齐规则(仅使用时间戳<=月初截止时间且严格早于当前主柱线的柱线)以及1.0x总敞口配置均未改变。最大总敞口=1.0x倍权益,远低于20x上限。由于组合做空,因此使用期货市场。

verification_loop:sandbox_timeout:验证失败(第3层——沙盒回测):冒烟测试在约20000根柱线的窗口上超过了300秒的实际运行时间限制(2400天的BTCUSDT.BINANCE-1-DAY-LAST-EXTERNAL)。这几乎总是意味着每根柱线的工作量会随历史数据增长,例如反复扫描完整资金费率/补充序列,或在每根柱线的calculate_signal()/on_bar()中重建列表并调用min()/sorted()。在__init__中预先计算排序后的时间戳数组ONCE并使用bisect,或按时间戳缓存查找结果,使每根柱线的计算成本为O(log n)而非O(n)。

实现

每个日历月,按30日美元成交量为流动性良好的Binance USD-M永续合约构建按时点选取的标的集合(候选列表含40个标的)。保留波动率最高的五分位,使用t-187至t-7日的实现波动率。按180日回报为该组排名:做多前3个,做空末尾3个。每个月度队列各占1.0x总敞口的1/6,持有6个月,最多有6个队列重叠(Jegadeesh-Titman)。组合按标的合并净额,仅在月界交易。日线。

验证结果

sandbox_timeout:验证失败(第3层——沙盒回测):冒烟测试在约20000根柱线的窗口上超过了300秒墙钟时间限制(2400天的BTCUSDT.BINANCE-1-DAY-LAST-EXTERNAL)。这几乎总是意味着每根柱线的工作量会随历史数据增长,例如反复扫描完整资金费率/补充序列,或在每根柱线的calculate_signal()/on_bar()中重建列表并调用min()/sorted()。在__init__中预先计算排序后的时间戳数组ONCE并使用bisect,或按时间戳缓存查找结果,使每根柱线的成本为O(log n)而非O(n)。

迭代历史

验证失败(第1层 — 静态分析): - 语法错误:无效的十进制字面量(<未知>,第1行)(第1行)

结局总结

对于回看期较长的多腿标的集合策略,应预先计算或缓存队列与排名状态,并仅在月界重新计算,使每根柱线的成本保持在O(1)或O(log n),并确保冒烟测试在300秒沙盒限制内完成。

经过3次迭代后,该策略在反复验证中被放弃。第3层沙盒回测在约20,000根柱线的窗口上超过了300秒墙钟时间限制(2,400天的BTCUSDT.BINANCE根1日线柱),这表明每根柱线的工作量会随历史长度增长。回测审查、分析师和风险阶段均未运行。

一种基于波动率条件的动量多空加密策略:每月从按时点选取的Binance USD-M永续合约排名前-60标的中(这些标的按30日美元成交量排名),选出波动率最高的五分位标的,按180日回报为这些标的排名,然后在相互重叠的Jegadeesh-Titman月度队列中做多排名前3个并做空排名末尾3个;每个队列持有6个月,敞口为总敞口1.0x的1/6。

没有任何业绩数据:该策略从未完成验证,因此不存在回测报告、优化报告、回报、夏普比率或交易笔数。

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