量化交易的工具陷阱
量化交易的工具陷阱
一、量化交易的两张皮
量化交易这个词本身就带着误导性。它把两个完全不同的东西绑在了一起:量化分析和程序化交易。
量化分析是一种方法论。面对一个交易机会,你用数量的方式去看待它——算一算赔率,量一量波动,比一比历史分位。它不一定比直觉更准确,但它提供了一个更理性的视角。量化分析内部又分很多流派:有信统计回归的,有信贝叶斯概率的,有信动量的,有信均值回归的。每个流派都有自己的逻辑闭环,也都有自己的失效时刻。
程序化交易是另一回事。它是把你的交易计划交给机器去执行——入场、出场、止损、仓位管理,全部机械化。本质上,你是在雇佣一个不需要睡觉、不会情绪化的交易员。
这两件事可以结合,但不必然结合。你可以用量化分析做决策,手动下单;也可以凭直觉做决策,用程序去执行。混淆这两者,是很多量化交易者走入歧途的起点。
二、回测:一种精致的自我安慰
在量化交易的圈子里,回测几乎是标配。写一个策略,跑一遍历史数据,看看收益率曲线——年化多少、最大回撤多少、夏普比率多少。数字漂亮的时候,你会觉得自己发现了市场的密码。
但回测有一个根本性的问题:它是对过去数据的拟合,不是对未来行为的预测。
这里面有一个容易被忽视的因果倒置。比如”低风险因子”——你发现低波动率的股票收益更好,于是构建了一个低波动策略。但低波动率可能本身就是盈利的结果:一个持续上涨的股票,它的回撤自然小,波动率自然低。你把结果当成了原因,然后用历史数据”验证”了这个因果倒置的结论。这就是为什么很多回测漂亮的策略,一上实盘就崩塌。
回测最大的诱惑不是发现真理,而是提供确定性。面对不确定的市场,回测给了你一张看起来很可靠的地图。但市场不会重复过去,就像水流不会两次经过同一个河道。对过往行情的分析,很多时候是一种懒惰的行为——你看起来在工作,实际上在回避真正的问题。
三、利润从哪里来
如果利润不来自回测发现的规律,那它从哪里来?
我的观察是:利润来自于市场中参与者”不得不”的交易行为。
一轮趋势的到来,多头的被迫平仓会加速下跌;一个品种的恐慌性抛售,会制造出极端的定价错误;临近交割月的持仓者不得不移仓,会产生可预测的价差扭曲。这些都不是”规律”——它们是结构性的压力。
大的机会像系统的崩塌——超出所有人的认知范围,历史数据里找不到先例。但除了这种大的崩塌,市场中还有无数的小崩塌:一次强平引发的连锁反应,一个传言导致的区域性恐慌,一段流动性突然枯竭后的价格真空。这些小崩塌才是日常交易的利润来源。
这也就解释了为什么回测在这个框架下是无效的——因为”被迫交易”的时刻在历史数据中看起来和正常交易没有区别。你需要理解的不是价格形态,而是参与者面对压力时的行为模式。
四、工具陷阱
一个交易者如果认定利润来自于”别人被迫交易的时刻”,那他真正需要做的是两件事:判断压力在哪里形成,以及在压力释放时果断执行。
但现实中,很多有技术背景的交易者会走入一条完全不同的路径。
他先想到的是:我需要一个工具来帮我执行。于是开始写代码。写了一会儿发现现成的行情接口不好用,于是自己搭行情服务。行情服务搭好了觉得需要一个策略框架,于是写策略引擎。策略引擎写好了觉得需要回测验证,于是又折腾回测系统。回测结果不理想,于是开始研究新的因子。研究因子的过程中发现数据不够,于是又开始搭建数据仓库……
每一个步骤单独看都合理。但当你退后一步看全局:原始的需求是”画一条趋势线,价格碰到就下单”,最终你造了一个包含行情网关、消息中间件、策略框架、因子引擎、模拟选拔、论坛社区的完整生态系统——而那一条趋势线,从来没有被交易过。
这就是工具陷阱。它的特征是:基础设施建设永远领先于交易实践。 每一次方向切换——从技术指标到因子研究,从因子研究到期权策略,从期权策略到平台开发——看起来是在探索新方向,实际上是在旧方向被市场否定之前,主动撤退到下一个还能继续写代码的安全区。
工具本身不是问题。现有的程序化交易平台确实有各种限制——可视化不足、接口不够灵活、逻辑表达力有限。自己造工具的动机是正当的。问题在于:造工具的过程太舒服了,而面对市场的过程太不舒服了。当两个过程纠缠在一起的时候,人会本能地选择舒服的那一个,然后用”我正在完善系统”来为这个选择辩护。
五、最小可行方案
回到起点:如果你有一个交易的判断——比如”这个品种的趋势线被突破后会有一波行情”——你需要什么?
你需要的是:一个能看到行情的界面,一根能画上去的趋势线,一个价格触碰到这条线时自动下单的机制,和一个明确的止损点。
这不需要Rust写的行情服务,不需要消息队列,不需要策略引擎,不需要22个虚拟用户。几百行Python代码加一个SDK就够了。
复杂的系统不是错的,但它的位置应该是在简单方案验证有效之后,而不是之前。先跑起来,先亏钱,先被市场教训,再决定哪些基础设施值得投入。
先有交易,再有工具。顺序不能反过来。