书吧达 > 股海弄潮 > 第244章:确立“样本外”测试与简化原则

第244章:确立“样本外”测试与简化原则


铁律:永远留一手数据

2010年7月26日,星期一,上午九点整。

车公庙,三十平米的办公室里,气氛比往常更严肃。

白板上还留着上周五晚上周寻写的那些字——“过度拟合防范指南(草稿)”。旁边是陆方那条“完美曲线”的打印件,被周寻用红笔画满了圈,标注着“可疑”“过拟合”“童话”。

陆方坐在电脑前,脸色还有些苍白。但眼睛里的空洞已经消失了,取而代之的是一种更沉的东西——像是刚经历过一场大病后,终于看清了自己有多脆弱的那种清醒。

陈默站在白板前,看着那几行字。

“周寻,”他开口,“上周那件事,让我们看清了一个问题。”

他顿了顿:

“我们不能再靠‘自觉’去防过度拟合。得靠制度。”

周寻点头。

他走到白板前,把那几行“防范指南”擦了,重新写下几个大字:

“默石量化研究——铁律两条”

第一条,他写:

铁律一:永远留一手数据

下面,他画了一个时间轴:

```

2005  2008  2010

|------------|------------|

训练集  样本外测试集

(用于开发)  (仅用于最终检验)

```

他转过身,看着所有人:

“从今天起,我们的历史数据,必须严格分成两部分。”

他指着左边那段:

“2005年到2008年底,这是‘训练集’。用来开发策略、测试因子、优化参数。可以反复用,随便用,想跑多少次跑多少次。”

然后他指着右边那段:

“2009年1月到现在,这是‘样本外测试集’。完全不动,绝对不能碰。”

他加重了语气:

“任何策略,在训练集上表现再好,也必须通过样本外测试,才能考虑实盘。”

小林举手:

“周老师,那如果样本外测试没过呢?”

周寻看着他:

“那就说明,这个策略在训练集上的表现,可能是运气,可能是过拟合。回去重新开发,重新优化。然后用新的训练集再跑,跑完再测样本外。”

他顿了顿:

“一遍没过,就两遍。两遍没过,就三遍。直到样本外也能跑出稳定的结果,才能考虑实盘。”

小林在本子上飞快地记着。

陆方忽然开口:

“周老师,那我们现在手里的数据,只到2010年7月。样本外只有一年半,够吗?”

周寻想了想:

“不够理想。但够了。”

他走到白板前,又画了一条时间轴:

```

训练集  验证集  测试集

|  |  |

2005-2007  2008  2009-2010

```

“标准的学术做法,是分成三份:训练集、验证集、测试集。验证集用来在开发过程中做初步验证,防止过度依赖训练集。测试集只在最后用一次。”

他看着陆方:

“我们数据不够,做不到三份。但至少,必须保证有一份完全没碰过的数据,做最终检验。”

陆方点头。

陈默站在旁边,一直没说话。

等周寻讲完,他才开口:

“第二条呢?”

周寻走到白板前,写下:

铁律二:奥卡姆剃刀——如无必要,勿增实体

他转过身:

“什么意思?在效果相近的情况下,永远选择更简单的模型。”

他指着陆方上周那条“完美曲线”:

“陆方那条线,为什么可能是过拟合?因为参数太多。他把动量因子的回溯期从6个月优化到5个月零3周,把估值因子的阈值从30%分位数调整到27.5%,把状态识别的波动率阈值从90%分位数改成88%。”

他顿了顿:

“这些数字,有经济含义吗?5个月零3周,和6个月有什么区别?27.5%和30%有什么区别?没有。它们只是让曲线更漂亮。”

他看着所有人:

“真正的规律,应该是简单的。如果两个策略收益差不多,选参数更少的那个。如果两个参数差不多,选逻辑更简单的那个。”

他走到白板前,画了一个天平:

```

复杂模型  简单模型

参数多、拟合好  参数少、泛化强

\  /

\  /

选哪个?

```

他放下笔:

“答案:在效果相近时,选简单的。”

小林又举手:

“周老师,那如果简单模型的效果比复杂模型差很多呢?”

周寻看着他:

“那就用复杂模型。但前提是,它的复杂度必须有合理的解释。你不能说‘因为加了这五个参数,收益提高了3%’就完事了。你得说清楚,这五个参数背后的逻辑是什么,为什么它们能让模型更好。”

他顿了顿:

“如果说不清楚,那就还是简单的。”

---

上午十点,讨论进入细节。

陈默走到白板前,指着那两条铁律:

“这两条,从今天开始,是默石的铁律。任何人都不能违反。”

他看着周寻:

“样本外数据,谁来保管?”

周寻想了想:

“最好由一个人专门负责。这个人不参与策略开发,只负责保管数据和跑最终检验。”

陈默扫了一圈办公室。

六个人。有的在写代码,有的在研究因子,有的在整理数据。

他的目光停在赵姐身上。

“赵姐。”

赵姐抬起头。

“这个任务,交给你。”

赵姐愣了一下:“我?我不懂量化……”

“不用懂。”陈默说,“你只需要做一件事:把那部分样本外数据,单独存起来,谁也不给。任何人要跑样本外测试,必须通过你。你只负责执行,不负责判断。”

他看着赵姐:

“你是公司的财务,最清楚钱是怎么来的。现在,你要帮我们守住另一笔财富——数据的清白。”

赵姐沉默了几秒。

然后她点了点头。

“好。我干。”

陈默又看向陆方:

“陆方,你负责把回测框架改一下。以后跑回测,必须指定‘训练集’和‘样本外’。系统要自动禁止在样本外数据上做任何参数优化。”

陆方点头。

“小林,小吴,”陈默继续,“你们俩负责把2005年到2008年的数据,重新整理一遍。确保训练集干净、完整、可用。”

两人点头。

最后,陈默看向周寻:

“周寻,你负责写一份《样本外测试操作手册》。明确每一步怎么走,什么情况下算‘通过’,什么情况下算‘不通过’。要细,要严,不能有漏洞。”

周寻点头。

---

中午十二点,赵姐从财务室搬出来一个移动硬盘。

银白色的,很小,比手掌大一点。

她把硬盘放在桌上,看着所有人:

“这个硬盘,从现在开始,只用来存样本外数据。”

她顿了顿:

“2009年1月到现在的所有数据,都在里面。谁要用,来找我。我会当着你的面,把数据拷出来,然后看着你跑完测试。”

她看着陆方:

“跑完之后,数据必须当场删除。不能留在你们的电脑里。”

陆方愣了一下。

“这么严?”

赵姐看着他,表情平静:

“陈总说的,这是铁律。”

陆方沉默了几秒。

然后他点头:

“明白了。”

---

下午两点,周寻把那两条铁律,正式抄在了墙上那块流程白板上。

白板上原本的“默石量化研究标准流程”还在,现在下面多了两行加粗的大字:

铁律一:永远留一手数据——样本外测试是实盘的唯一通行证

铁律二:奥卡姆剃刀——复杂是敌人,简单是朋友

周寻抄完,退后一步,看着这两行字。

小林站在他旁边,也看着。

“周老师,”小林问,“这两条,是不是学术圈的规矩?”

周寻点头:

“是。但很多人不守。”

“为什么?”

“因为守规矩太慢了。”周寻说,“训练集跑完,还要跑样本外。样本外没过,还要重新开发。一个策略,可能要折腾好几个月。”

他看着小林:

“而市场不等人。你在这边慢慢测,别人的产品已经发出去赚钱了。哪怕那些产品最后会死,但至少眼下,他们在赚钱。”

小林沉默了几秒。

然后他问:

“那……我们为什么要守?”

周寻没有直接回答。

他指着墙上那条“永远留一手数据”:

“因为我们要活得久。”

他看着小林:

“那些不守规矩的人,可能今年赚大钱,明年赚大钱,后年呢?大后年呢?2008年的时候,多少赚大钱的人,一夜之间就没了?”

他顿了顿:

“我们不想成为他们。”

小林点了点头。

他看着那两行字,忽然觉得,它们不只是“规矩”。

是护身符。

---

傍晚六点,其他人陆续下班了。

陆方还坐在电脑前。

他不是在写代码。

是在看那条“完美曲线”的打印件。

那张纸被周寻画满了红圈,看起来惨不忍睹。

但他没有扔掉。

陈默走过来,在他旁边坐下。

“还在看?”

陆方点头。

“在看什么?”

陆方指着那些红圈:

“在看这些地方。周老师说,这些是过拟合的痕迹。”

他顿了顿:

“我想把它们记住。下次再看到这种曲线,一眼就能认出来。”

陈默没有说话。

他只是拍了拍陆方的肩膀。

两人一起看着那张纸,看了很久。

窗外,车公庙的夜色渐浓。

远处,深南大道上的车流亮起了灯光。

陆方忽然开口:

“陈总。”

“嗯?”

“您说,我们这条路,走得对吗?”

陈默没有立刻回答。

他想了想,然后说:

“不知道。”

他转头看着陆方:

“但我知道一件事——如果这条路走错了,我们至少知道是怎么错的。如果走对了,我们也知道是怎么对的。”

他指着墙上那两条铁律:

“以前,我们不知道。错了都不知道怎么错的,对了也不知道怎么对的。”

他看着陆方:

“现在,我们有了这个。”

陆方没有说话。

他看着墙上那两行字,看了很久。

然后他低下头,继续看那张打印件。

窗外,夜色渐深。

办公室里,只有一盏灯亮着。

灯下,一个人在学习识别过拟合。

另一个人,在旁边陪着。

这就够了。


  (https://www.shubada.com/128914/49934978.html)


1秒记住书吧达:www.shubada.com。手机版阅读网址:m.shubada.com