跳至正文
全部策略

策略

DOGE 新闻情绪冲击欠反应漂移,多空策略(DOGEUSDT.BINANCE USD-M,1H bars + news_sentiment 数据源 —— 交易紧随单资产情绪剧烈冲击之后的多小时价格 DRIFT,采用冲击门控以使交易 RARE 且单笔收益较大,3 参数)

结局: 已放弃

DogeNewsSentimentShockDriftLS

结局总结

这是数据墙问题,而非对策略优势的判定——该机制从未真正接受检验。

假设

一个 LONG-SHORT、单品种方向性策略,由 BRAND-NEW news_sentiment 补充数据源触发(LLM 打分的单资产情绪,5 分钟桶,自 2026-08-13 上线,通过 supp_window 以点时方式访问)。这是工厂中首个将 news_sentiment 作为主信号的策略 —— 非价格动量、资金费率、OI、订单流-tick、溢价回归、清算或门控动量机制(均为已记录在案的失效类别 L68-L92)。前提假设:叙事/社交驱动的永续品种在新闻之后的 UNDER-REACTION 漂移。采用冲击门控以使交易稀有且高确信度,规避曾令日内/VWAP/订单流类别失效的亚费率磨损。强正向冲击做多,强负向冲击做空,其余时间保持空仓。

迭代 4 旨在 ONLY 解决所报告的失败(「Sharpe -0.24 与 total_return 1.20% 的符号方向不一致」),该问题属于度量一致性缺陷,而非信号缺陷:两个数值均源自盯市曲线,因此符号分裂意味着 (a) 成交价落在收盘价标记序列从未触及的价格上;(b) +1.2% 的头条数值小于每日序列中按成交成本加总修正的数值。对产生更糟分裂的 iteration-3 改动进行两处回退:(1) 取消括号式退出,改为每笔成交都以 bar 收盘价为市价单,按构造使实现路径 IS 收-收标记路径(风控保留为较宽的 4% bar-close 止损,无括号腿即无双重退出);(2) 按假设实际规定,使交易更稀有、单笔更大 —— entry_z 1.2 -> 1.8,hold_hours 3 -> 6,加入重新布防保护以使一次新闻爆发仅对应一次往返,position_frac 0.3 -> 0.5 —— 这样单笔收益即可覆盖约 0.10% 的往返 taker 费加冲击,而不被成交笔数拖累所淹没。信号逻辑、点时新闻查询、缺数据保持空仓规则与仓位路径均未改动(对应 Layer 1/1.5/2/3 已通过)。诚实的告诫:news_sentiment 数据源仅自 2026-08-13 起才有数据,因此任一窗口中 live-feed 部分仅约 3 周 —— 在该数据源积累更多历史之前,样本都将保持较小;这才是该假设真正的约束,而非代码。

data_wall / 不可测量:news_sentiment 数据源仅在 2026-08-13 上线,因此尽管主回测跨度为 6 年(53,967 根 bar),EVERY 的 24 笔交易中有一笔落在 2026-08-16 -> 2026-09-05 内(daily_returns 和 annual_returns 仅为 2026;entry_diag 显示 live-feed 窗口内的全部 24 信号)。这一结果有利于机制本身,消除了 QA 的疑虑 —— 代码的缺数据保护生效,且并非 NOT 合成回填 —— 但实际可用数据仅剩约 3 周 / 24 笔交易。一个刻意稀有、由冲击门控的策略无法在此基础上得到验证:滚动前推窗口将仅容纳约 8 笔交易,样本外测试仅有寥寥数笔,因此 2 小时、3 阶段的优化将是对噪声的过拟合(在 17 个有效日观测上,跨零的 Sharpe 0.40 与 CI [-0.43,1.00] 不具备诊断意义)。该假设实际上从未被真正测试过。这是 DATA 的判定,而非 edge 的判定:一旦 news_sentiment 数据源积累了足够的实时历史(约 6-12 个月,>=100 笔冲击交易)以跨周期采样新闻后漂移,请重新运行完全相同的策略。abandon_class = data_wall / 不可测量。

实现

在 1 小时 K 线上交易多空 DOGE USD-M 永续合约,由 LLM news_sentiment 数据源中的 Z 分数冲击触发(对 5 分钟情绪分桶求滚动 2 小时总和,再根据该流量自身的 48 根 K 线分布计算 Z 分数,通过 supp_window 实现时点准确)。|z| >= 1.8 时,沿冲击方向开仓,以捕捉新闻发布后数小时的反应不足漂移;仓位在 6 小时漂移期限止损、出现反向冲击或触发 4% 根 K 线收盘止损时退出。重新武装保护要求 |z| 回落至触发阈值以下,之后才能再次交易同一轮新闻冲击,从而保持交易稀少、单笔捕获幅度较大。如果 K 线前 6 小时内没有新闻数据观测值,则保持空仓(即在 2026-08-13 之前,数据源尚不存在时)——不使用仅基于价格的备用方案。

验证结果

要么将 hold_hours/position_frac/stop_loss_pct 固定为默认值(按假设所述,仅优化 3 个核心参数),要么将假设表述更新为 6 个参数。

假设宣称这是一个“3 参数”策略,代码将 shock_window_hours / baseline_bars / entry_z 标为 3 个核心机制参数,但 _param_bounds 暴露了 6 个可优化参数(另外加入 hold_hours、position_frac、stop_loss_pct)。机制结构仍与假设相符,因此这并非不匹配;但优化器搜索的空间比“3 参数”的表述所暗示的更大——在小样本上会有更大的 PBO/过拟合空间。

确认基础模板调用子类的 min_bars_required();如果它改用配置/属性,则通过该方式设置预热期,以避免覆写被静默忽略。

静态分析指出 min_bars_required(self) 遮蔽了框架方法(“基类依赖自身实现”)。如果基础模板实际上没有调用该覆写,预期的 24 根 K 线屏障可能会被忽略。非致命问题——冲击基线仍会通过自身双端队列完成预热。

数据覆盖 / 可测量性是这里的真正风险,而非代码。假设与开发者均指出,news_sentiment 数据源仅在 2026-08-13 上线,即截至 2026-09-07 仅有约 3.5 周的真实历史。对于一个刻意追求 RARE、冲击门控(|z|>=1.8、持仓 6 小时、带重新布防保护)的策略,~3 周的实时数据仅能产生寥寥数笔真实交易。然而 Layer-3 沙盒报告了 1283 笔交易,其周期/压力归因跨越 2024-2025 —— 这些交易早于该数据源的存在。这意味着沙盒要么在该窗口注入/回填了合成新闻,要么该数据源已做了历史回填;若是前者,沙盒结果不具备判别力,在真实 3 周数据源上进行的全历史回测将 UNMEASURABLE(数据墙)。在采信任何头条指标之前,分析师应核实 news_sentiment 的实际覆盖:确认回测区间内是否存在真实的 DOGE news_sentiment,若仅有约 3 周,则归为不可测量,直至该数据源积累更多历史。另需注意,沙盒的权益曲线深度为负(-90.3%,PF 0.77,avg_trade_return_pct -0.014%),但根据冒烟测试的提示,这是可能基于合成数据的一次未优化结果,不足以作为驳回依据。

回测评审

夏普
0.40
总收益率
10.25%
最大回撤
1.94%
总交易数
24
胜率
62.5%
盈利因子
2.28

首个将 news_sentiment 数据源作为主信号的策略,这是一个真正新颖的机制,区别于已记录在案的失效动量/资金费率/OI/订单流类别。

代码对缺失历史的处理正确:无数据保护(_news_shock 在 2026-08-13 之前返回 None)使策略在 2020-2026-08-12 期间保持空仓,且策略只在数据源实际存在时交易。

单笔交易的经济效益表面上看不错:avg_trade_return_pct 1.04% 高于 Binance USD-M 0.15% 费用底线,PF 2.28,win_rate 0.625,多空两侧均衡,与由冲击门控的做多+/做空-前提一致。

全历史运行 RESOLVES 了 QA edge 方面的疑虑:它并非 NOT 合成注入(-2026-08 之前无交易),而仅仅是一个确实仅约 3.5 周大的实时数据源。

全部可交易样本只有约 3 周:所有 24 笔交易都落在 2026-08-16 -> 2026-09-05(daily_returns 和 annual_returns 仅显示 2026)。entry_diag 确认在 53,944 根 K 线上有 24 个信号/24 次提交,且全部位于实时数据源窗口内。

24 笔交易不足以支持 3 阶段优化:滚动前向验证会切分出约 1 周的窗口,每个窗口约有 8 笔交易,而留出集只有寥寥几笔——优化器拟合的会是噪声,而非优势。

Sharpe 0.40(CI [-0.43,1.00] 跨零)与 effective_daily_obs 17 均表明,该头条指标在统计上无判别力;冲击门控(|z|>=1.8、持仓 6 小时、带重新布防保护)的设计刻意追求稀有,因此交易笔数将缓慢累积。

所有 pre-2026 窗口的市场状态/压力归因均为空(全为零/空值),因为当时没有发生交易——因此没有任何内容经过跨市场状态验证。

分析

回测门控: - 指标不可靠:不一致:夏普 -0.24 与 total_return 1.20% 符号相反——夏普根据 mtm_equity_curve 序列计算,而收益来自权益曲线。应以权益曲线为准。

结局总结

低频、由冲击门控的机制无法用只有数周历史的全新数据源来验证;等待约 6-12 个月 / >=100 笔冲击交易后再测试。

在回测审查门槛处、优化之前即已放弃:实时数据仅约 3.5 周 / 24 笔交易,低于 30 笔交易和 26 周的门槛,且 sharpe_ci_low 低于零——无法衡量,因此优化只会拟合噪声。

首个将 news_sentiment 数据源用作主要信号的工厂策略:一项做多做空 DOGEUSDT.BINANCE 的 1 小时策略,交易新闻发布后数小时的反应不足漂移;通过自归一化 Z 分数进行冲击门控,因此交易稀少、单笔捕获幅度较大。

24 笔交易覆盖 6 年的时间跨度,其中 total_return 10.25x、win_rate 0.625、PF 2.28、avg_trade_return_pct 1.04% —— 但 Sharpe 仅 0.40,其 CI [-0.43,1.00] 跨零。所有 24 笔交易均落在 2026-08-16→09-05,因为该数据源仅在 2026-08-13 上线。

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