第二篇
样本内外和恋爱婚姻
1
样本内和样本外
一个量化模型的生命周期有几个典型的阶段:
样本内(In-sample),也就是模型发现、研究和拟合所用的时间;非实盘样本外(Semi-OS),也就是自己留的验证集,或者用实时数据跑paper trading时的表现;实盘样本外(Real-OS),也就是模型应用到实际交易中的表现。很显然,一般来说样本内的表现>非实盘样本外>实盘样本外。样本内的问题往往是过拟合风险和各种BIAS;Semi-OS会伴随模型本身而衰减;而Real-OS相对于Semi-OS,可能有各种实盘出现的问题、错误以及模型使用后对本身的冲击(Impact)。
一对夫妻从相识恋爱,同居结婚,到养儿育女的过程,其实也正对应着In-sample, Semi-OS和Real-OS的过程。在相识恋爱阶段,双方往往表现的都是自己最好的一面,会掩饰、隐藏自己的缺点,类似于Quant们费尽心机拟合模型的表现。另一方面,情人眼里出西施,在恋爱期往往也会忽视对方的缺点以及双方结合可能出现的问题,类似于Quant没有考虑到实盘可能出现的各种意外和错误。所以恋爱期往往都是甜蜜美好的,双方期望着婚后的幸福生活。正如研究员看着新做出的笔直向上的模型曲线,期望财富自由一样。而到了同居结婚阶段,双方的掩饰逐渐褪去,本身的性格和缺点开始暴露,开始会有一些争吵。这类似于Semi-OS阶段,过度拟合的部分开始失效,但在这个时刻,模型本身往往还是有效的,只是没有样本内那么美好而已。生活真正的毒打在于婚后,从子女出生,父母亲戚,再到买房装修,一地鸡毛,就如同模型在市场实盘后的各种打脸,总会有各种意外的发生:模型总是赶不上好时候,一加仓就亏钱,一减仓就反弹。大部分模型在实盘后还能艰难地走出低谷,爬向新高,只是比起样本内的笔直身姿曲折了很多。这类模型经受住了实盘的检验,最终可能成为投资组合(Portfolio)中的主力,正如社会上存续的千万个稳定家庭。不幸的是,也有很多模型从实盘后一路向下,再也不能爬回来,就如同很多家庭的解体一样。
2
过拟合和防止过拟合
样本外不如样本内的一个重要原因,就是对样本内的过度拟合。即使研究员本身并没有过拟合的意愿,但人追求更好的本能往往会不知不觉的把模型在样本内拟合的过于平滑。而在使用这些模型之前,往往也需要先判断过拟合的风险,以及模型的鲁棒性(obustness)。这方面,生活同样可以给我们启迪:
1)素颜见人
有一个段子,说的是男生找了女友后一定要带她去游泳:第一,可以看看她是不是女的;第二,可以看到素颜的样子;第三,可以看到真实身材。这固然是个段子,但也有些道理。对于一个新的模型,我们往往要先分析其核心逻辑 (core logic), 并归因分析其收益到底是否来自于核心逻辑。比如一个分析市盈率的模型,因为市盈率里包含有价格,可能收益大部分来自于价格的反转(reversion)而并不是基本面变化本身。下一步则可以去掉模型中不很重要的,类似于“装饰”作用的一些操作,看看模型“素颜裸奔”时的表现。如果“素颜”和平时的差距过大,可能就要小心了。
2)换个环境
情侣互相考察的一个大招往往是一起去旅游。因为在旅游时脱离了日常的生活工作环境和状态,日常的伪装难以持续,往往会暴露人的本性。旅游时会在短时间接触大量新的信息,也会更好的帮助互相了解。对模型来说,在不同数据集,时间维度乃至频率上的测试也可以看成是模型换了个环境。一个在不同时间段,不同市场,不同频率乃至不同品种上都有好表现的模型,其可靠性更值得信赖。反过来说,如果稍微换了个环境模型表现就差了很多,可能就要更细致地分析原因了。
类似的,当出现生活上的变化时(工作变化、家庭变故),往往也是对情侣关系的一大考验。在恋爱期,双方往往是在固定的生活模式下表现出最好的、最吸引人的状态,也可以看成一个模型已经精心地调教好了各种参数,并表现出了最好的曲线。但如果生活状态出现了较大变化,是否双方还能保持以往的秉性和人设? 对于模型来说,除了环境本身,其表现是否对参数的变化非常敏感,其参数是否能适应各种新的环境?对恋爱,需要警惕的可能是平时精致体面,稍有变化就人设崩溃的对象;对量化研究,需要警惕的是只有一组参数表现好,稍微变化后就面目全非的模型。
3)压力测试
有一个理论是,女生在恋爱期偶尔的歇斯底里或不可理喻,是对男生的一种压力测试。如果男生能包容忍耐,那么在未来小孩出生时更可能会是一个称职的父亲。从样本内外的角度来看这也很有道理:预先模拟样本外可能出现的压力情况(小孩出生的哭闹和各种琐碎)来测试样本内的表现。模拟各种极端的市场场景(即使样本内完全没有出现过),对模型进行压力测试,会很有助于了解模型在样本外的表现下限如何。类似的,去除掉最赚钱或最亏钱的时间、品种,也是一种对模型常见的压力测试。
4)见家长
对恋爱结婚来说这一点的重要性无须多言。对模型来说,类似的方法则是对分析模型的想法本身归类溯源。大致属于哪个类别,哪个想法,使用了哪类数据。有了这些信息后,我们可以通过类似模型的表现,来对新模型的表现有一个大致判断,正如同第一次去男女朋友家里对其家庭成员的观察一样。当然,往往在第一次见家长时,新人们会有更多的伪装。QUANT在研究新模型时也往往要力争比之前同类别的模型做的更好,虽然在实际样本外往往并不能如愿。
3
直面糟糕的样本外
样本外表现不如样本内是一个普遍规律。对情侣来说,对恋爱婚姻的“样本外”有一个合理的期望,可能会对稳定的婚姻关系有所帮助。比如,对方的哪些优点,是经过了检验可以信任的;对方的哪些缺点,是放大后仍可以容忍的;对方为人处世的底线如何,最差会有什么样的预期。有了这些预判后,在遇到问题时,就不至于产生因为过于低于预期导致的不幸福感。对使用模型来说,也可以有类似的问题:模型的核心逻辑是否可靠?模型的极端风险是否可以处理?模型样本外出现最差情况是否可以接受?对模型的样本外有一个合理预判后,就可以分配给模型一个合理的资金权重,获得最好的效果。
Semi-OS则是另一个非常有效的手段。对情侣来说,类似于同居到结婚的这一段时间。这段时间双方通过共同生活卸去伪装,能发现很多之前没有想到过的问题,继而相互磨合。对模型来说,Semi-OS提供了对未来更可靠的预估,更有助于资金的合理分配。然而,要注意的是,此时不能再去重新拟合Semi-OS,看到模型表现不佳,就重新拟合一组参数直到Semi-OS变好。这样其实就失去了Semi-OS的意义,为Real-OS埋下了更大的隐患。这就类似于在同居或试婚阶段仍然精心伪装自己的人一样,婚后往往会突然转变。直面并接受糟糕的样本外,合理地管理对未来的预期,可能是量化从业者和情侣必经的过程,也许这就是人生吧。