
有一个问题很多做回测的人平时不太愿意深想如果一个信号真的被拿去交易它还只是一个“预测变量”吗在研究阶段Alpha 看起来很干净。它读历史行情输出信号然后我们拿下一期收益去验证它。但一旦进入执行层信号就不再只是旁观者了。它会触发下单、成交、冲击价格最后又反过来改变它原本要预测的收益。这就是交易信号的反身性。这篇文章里提到的 SEERSelf-Equation Extractor Recognizer重点不在 Alpha 挖掘而在一个更底层的问题当信号本身开始影响价格时我们能不能把这种反馈关系写成一条可解释的公式这个问题比“模型准不准”更靠近实盘。因为策略规模、换手率、流动性、拥挤度一旦上来信号和收益之间就不再是单向预测而是一套反馈系统。你不能只问信号有没有预测力还要问这个信号被交易以后会不会把自己要预测的东西改掉。1. 为什么直接回归不靠谱最直觉的做法是future_return a * signal error看起来很简单拿信号回归下一期收益系数a就是反馈强度。但这里有个硬伤。信号本身是从市场状态里算出来的比如价格、成交量、波动率、RSI、MACD、布林带位置等。下一期收益也受这些市场状态影响。也就是说market_state - signal market_state - future_return signal - future_return ?我们真正想识别的是第三条箭头但观测数据里前两条箭头混在一起。所以直接回归很容易把“共同市场状态”造成的相关性误判成“信号自己的市场冲击”。这就是原文说的因果识别难题。传统 OLS、Lasso 还有另一个问题它们偏线性。而真实交易反馈通常很难这么规整。可能是平方项可能是正弦结构可能是两个信号的乘积项也可能只在信号为正时才触发。随机森林、深度学习能拟合一部分非线性但会变成黑盒。策略研究里黑盒分数不够用。你要做容量、冲击成本、风控、信号衰减最好拿到的是一条能审查的公式。这就是 SEER 选择符号回归的原因。2. SEER 的核心思路先造一个有答案的市场SEER 没有直接在真实市场里硬找因果。它先搭了一个可控实验真实 BTC 小时收益率 人为注入的反馈公式 带有已知非线性冲击的合成收益率这样做有两个好处。第一市场噪声是真的。第二反馈公式是已知的。也就是说模型会在一个有“标准答案”的市场噪声环境里接受测试而不是对着真实市场凭感觉讲故事。为了防止事后调参反馈公式的系数在拟合前用 SHA-256 哈希锁定。先把答案封起来再让模型去找。这个设计很朴素但很关键。量化研究真正麻烦的地方是你很难确定自己解释的是规律还是噪声。SEER 先创造地面真值再测试公式恢复能力这一点比直接拿真实数据硬讲因果更稳。3. SEER 管线六步走原文的技术路线可以压缩成下面这张结构图。Binance 小时级行情 | v 滚动特征工程 RSI / MACD / 布林带位置 / 24h 实现波动率 / 成交量比率 | v MLP 信号发生器 两层隐藏层64 - 32 - scalar signal | v 受控反馈注入 真实 BTC 小时收益 f(signal) | v PySR 符号回归 - * square cube sin cos exp | v 归因检查 信号衰减 消融 / 特征重要性 / 条件独立性1特征工程与输入准备数据来自 Binance 小时级数据。外生特征包括1. RSI2. MACD3. 布林带位置4. 24 小时实现波动率5. 成交量比率所有特征都在滚动窗口上标准化避免把未来信息泄漏进历史样本。2自身模型构建用一个两层隐藏层的 MLP 生成标量信号features_t - MLP(64, 32) - signal_t这里的关键是MLP 在反馈注入前训练完成。也就是说信号只来自外生市场状态不提前知道后面要注入的反馈公式。3受控反馈注入把真实 BTC 小时对数收益作为噪声底座再叠加人工设计的反馈项r_synthetic(t1) r_btc(t1) f(signal_t)其中f(signal_t)可以是线性、二次、正弦、乘积或非对称结构。4PySR 符号回归PySR 的任务是找公式而不是只给一个预测分数。候选算子包括, -, *, square, cube, sin, cos, exp训练时使用 70/30 时间序列切分不随机打乱最后选择测试集均方误差最小、复杂度可接受的表达式。一个简化版伪代码大概是features rolling_standardize(raw_features) signal mlp.predict(features) r_synthetic btc_hourly_return injected_feedback(signal) equation pysr( xsignal, yr_synthetic, operators[, -, *, square, cube, sin, cos, exp], complexity_penaltyTrue, time_split(0.7, 0.3) )5归因与混杂因子筛选这一部分很重要。很多模型的问题在于太容易找到“看似有用”的关系。高相关特征一多模型很容易把“影子变量”当成因果。SEER 用了三道防线1.消融测试把信号打乱看拟合优度下降多少。2.特征重要性看恢复公式到底依赖哪些变量。3.条件独立性筛查对高相关混杂变量做偏相关检验防止伪归因。6自适应信号衰减如果估计出的反馈项过强算法会自动缩小信号if abs(feedback(signal)) threshold: signal signal * shrink_ratio这一步的含义很实在如果信号强到开始明显冲击市场就不要继续无脑放大。有些 Alpha 本来存在但规模一上来就会被自己的交易行为吃掉。4. 六个场景它到底能不能找回公式作者用 2022-2024 年历史数据大约 17500 个小时样本设计了六组实验并和 OLS、Lasso、随机森林做对比。这里建议按“设定 / 结果 / 启发”来看。场景 1线性反馈与负控制设定信号和收益之间是简单线性关系。结果SEER 成功恢复线性公式相对误差约 0.13%测试集表现约 0.998。更关键的是负控制不注入任何人工反馈直接在真实 BTC 数据上跑 SEER估计系数处于噪声水平。启发这说明它不是在真实噪声里随便编公式。一个方法如果在负控制里也能挖出漂亮结果反而要警惕。场景 2二次非线性反馈设定信号平方项影响价格feedback a * signal²结果OLS 和 Lasso 测试集表现为负甚至不如均值模型。随机森林可以拟合到 0.871但不给解析式。SEER 恢复出二次结构相对误差约 0.97%测试集表现约 0.983。启发对称的二次冲击会天然绕开线性模型。这个场景说明识别市场反馈时非线性建模是基本要求。场景 3周期性正弦反馈设定反馈呈正弦波结构feedback a * sin(signal)结果OLS 和 Lasso 表现只有 0.012 和 0.011。SEER 在浮点误差范围内恢复正弦公式测试集表现约 0.9998。启发如果反馈本身是周期或波动结构线性回归几乎没有解释力。符号回归的优势是能直接恢复函数形态。场景 4隐式乘积交互设定两个信号的乘积项影响收益feedback a * signal_1 * signal_2结果OLS 表现约 0.007。SEER 恢复乘积关系相对误差约 0.25%测试集表现约 0.990。启发这类结构很像真实策略里的 regime 条件单独看一个因子不明显但和另一个状态变量叠加后才有效。场景 5非对称反馈设定只有信号大于零时产生影响小于零时不产生反馈类似 ReLUfeedback a * max(signal, 0)结果SEER 恢复单侧结构相对误差约 1.72%测试集表现约 0.971。OLS 和 Lasso 只有约 0.04。启发实盘冲击经常是非对称的。买入冲击、卖出冲击、流动性约束、做空限制很多时候不是镜像关系。场景 6混杂因子处理设定加入一个与真实信号高度相关、但本身不直接改变价格的干扰变量。结果SEER 通过偏相关条件独立性检验判断该变量在给定真实信号后与收益独立没有把它误判为真正原因。启发这比单纯提高拟合分数更重要。策略研究里真正危险的情况是模型看起来能工作但理由是错的。5. 实验结果图原文有一张汇总图用来展示各场景下不同模型的测试集表现。各模型在六类反馈场景下的测试集表现这张图可以直接看出两个差异1. 线性模型在非线性反馈面前会快速失效。2. 随机森林虽然能拟合部分场景但缺少可审查的显式公式。这也是 SEER 的定位它不只是追求测试集分数而是追求公式级恢复。6. 信噪比探测边界这部分最接近实盘如果只看前面的六个场景很容易觉得 SEER 很强。但真实市场里更常见的情况是反馈结构未必复杂反馈强度却太弱。弱到被市场噪声盖住。作者固定小时级收益波动率用 0.003 代表真实市场波动然后逐步降低反馈强度测试 SEER 的探测边界。不同信噪比下的公式恢复能力结果很现实。在可探测边界附近系数相对误差仍能维持在约 0.30%。但当反馈继续减弱测试集表现会迅速掉到 0.03 以下误差明显扩大。这说明 SEER 不是魔法。它能恢复足够强的非线性反馈但当冲击信号低于市场噪声底线时它也只能承认看不见。这点反而让我更相信这个框架。很多模型真正危险的地方是不知道自己什么时候该闭嘴。7. 这套东西能拿来做什么不要把 SEER 理解成一个可以直接接到实盘里的自动调仓器。真实市场没有预先封存的反馈公式也没有干净的地面真值。候选算子空间也不可能覆盖所有真实市场结构。它更适合做研究审查。1策略容量和市场冲击仿真在真实噪声背景下注入不同形态和强度的反馈观察信号什么时候开始自我污染。2黑盒模型白盒化如果一个黑盒模型说“这里有非线性关系”SEER 可以进一步追问这条关系能不能写成公式公式看起来像不像一个合理的交易机制3信号衰减机制当反馈强度超过阈值时自动缩小信号避免 Alpha 被自己的交易行为吃掉。这点对高换手、高拥挤、容量敏感的策略尤其重要。很多策略有 Alpha但规模一上来交易行为就开始反噬信号。8. 最后SEER 这篇文章最有价值的地方并不在于用了 MLP 或 PySR。而是它把“交易信号反过来影响价格”这个很难直接测的问题拆成了一个可验证实验生成信号 - 注入已知反馈 - 符号回归恢复公式 - 消融与条件独立性检查归因 - 测试信噪比边界这套流程给量化研究一个很重要的提醒漂亮回测不难。黑盒拟合也不难。难的是你能不能解释清楚信号进入市场以后会不会改变自己要预测的东西。如果能解释就可以讨论容量、冲击、衰减和风控。如果解释不了最好别急着把它放大。复现代码和更完整的实验细节我会放在析境科技AI量化平台。SeekGain 析境科技是国内首个个人AI量化平台也是连接量化研究者、AI 开发者和投资实践者的高端社群。我们聚焦机器学习在量化投资中的前沿应用持续分享论文复现、模型代码、核心 Alpha 因子、策略研究框架和 AI 量化工具链。核心价值1. 顶级圈层连接头部机构从业者、知名私募创始人、机构量化负责人、基金经理、券商金工分析师、GitHub 高星项目作者及前沿研究者。2. 每日高价值内容持续更新前沿论文、研报复现、模型代码、核心 Alpha 因子和可落地的量化研究案例。3. AI量化工具链围绕因子挖掘、策略复现、回测验证和量化 Agent帮助个人研究者把想法更快落到可验证的策略研究里。加入 SeekGain 析境科技和真正做研究的人一起把 AI 量化从概念推进到可复现、可验证、可迭代。