最新网址:www.00shu.la
铁律:永远留一手数据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年的时候,多少赚大钱的人,一夜之间就没了?”
他顿了顿:
“我们不想成为他们。”
小林点了点头。
他看着那两行字,忽然觉得,它们不只是“规矩”。
是护身符。
---
傍晚六点,其他人陆续下班了。
陆方还坐在电脑前。
他不是在写代码。
是在看那条“完美曲线”的打印件。
那张纸被周寻画满了红圈,看起来惨不忍睹。
但他没有扔掉。
陈默走过来,在他旁边坐下。
“还在看?”
陆方点头。
“在看什么?”
陆方指着那些红圈:
“在看这些地方。周老师说,这些是过拟合的痕迹。”
他顿了顿:
“我想把它们记住。下次再看到这种曲线,一眼就能认出来。”
陈默没有说话。
他只是拍了拍陆方的肩膀。
两人一起看着那张纸,看了很久。
窗外,车公庙的夜色渐浓。
远处,深南大道上的车流亮起了灯光。
陆方忽然开口:
“陈总。”
“嗯?”
“您说,我们这条路,走得对吗?”
陈默没有立刻回答。
他想了想,然后说:
“不知道。”
他转头看着陆方:
“但我知道一件事——如果这条路走错了,我们至少知道是怎么错的。如果走对了,我们也知道是怎么对的。”
他指着墙上那两条铁律:
“以前,我们不知道。错了都不知道怎么错的,对了也不知道怎么对的。”
他看着陆方:
“现在,我们有了这个。”
陆方没有说话。
他看着墙上那两行字,看了很久。
然后他低下头,继续看那张打印件。
窗外,夜色渐深。
办公室里,只有一盏灯亮着。
灯下,一个人在学习识别过拟合。
另一个人,在旁边陪着。
这就够了。
最新网址:www.00shu.la