最新网址:www.00shu.la
给机器装上“眼睛”2010年6月25日,星期五,上午九点整。
车公庙,三十平米的办公室。
墙上那张因子分类表旁边,又多了几行新写的数据——那是上周“低PE+高ROE”组合的样本外测试结果。
样本外区间:2009.1 - 2010.6
组合年化收益:16.3%
同期沪深300:8.7%
最大回撤:21.5%
同期沪深300最大回撤:32.8%
数字就写在白板上,工工整整,旁边还画了一个小小的对勾。
小林每天进门第一件事,就是看一眼那个对勾,然后傻笑一下。
但今天,陈默没有让任何人傻笑。
他站在白板前,手里拿着马克笔,脸色比平时更严肃。
“周寻,”他说,“上周的组合,样本外验证通过了。16.3%,回撤21.5%,比指数好,也比单一因子好。”
周寻点头。
“但有一个问题。”陈默说。
他把白板上的因子分类表擦了半边,重新画了一个简单的坐标系:
```
牛市
↑
│
熊市←──┼──→震荡市
│
↓
熊市
```
他指着这个坐标系:
“上周的组合,在两种市场里表现不错——牛市的上涨阶段,熊市的反弹阶段。但在一种市场里,表现很一般。”
他顿了顿:
“震荡市。”
周寻愣了一下。
陈默从桌上拿起一份打印好的报告,翻开,指着其中一页:
“你看,2009年8月到2010年3月,这八个月,市场在什么区间里震荡?3000点到3300点,来回拉锯了三次。我们的组合,在这八个月里,涨了3.2%。”
他顿了顿:
“同期指数,跌了1.8%。我们是跑赢了。但跑赢得不多。而且波动不小,有好几次回撤超过5%。”
周寻看着那组数据,没有说话。
陈默继续说:
“我在想一个问题——我们的组合,是‘固定的’。不管市场是牛市、熊市、震荡市,都用同一套因子权重,同一个选股标准。”
他看着周寻:
“但市场不是固定的。它在不同的时候,需要不同的打法。”
周寻沉默了几秒。
然后他说:
“陈总,您的意思是……”
陈默走到白板前,在那个坐标系旁边,又画了三个小图:
趋势市——一条斜向上的线
震荡市——一条波浪线
恐慌/狂热市——一条剧烈波动的线,最后急坠或急升
“这是我这十几年,对市场的理解。”他指着这三张图,“不是用数据算出来的,是用眼睛看出来的,用身体感受出来的。”
他顿了顿:
“趋势市——就是牛市的上涨阶段和熊市的下跌阶段。这时候,最重要的是‘顺势’。追涨杀跌,反而能赚钱。”
“震荡市——就是上上下下、来回拉锯的时候。这时候,‘顺势’就是找死。涨了追进去,马上跌;跌了割肉,马上涨。这时候,最重要的是‘低买高卖’,反向操作。”
“恐慌/狂热市——就是2008年那种,情绪主导一切的时候。这时候,所有正常逻辑都失效。唯一能做的,是保住本金,等待风暴过去。”
他放下笔,看着周寻:
“我的经验告诉我,这三种市,需要的打法完全不一样。如果我们用一个固定的组合去打所有的市场,就像……”
他想了想,打了个比方:
“就像用一把锤子去干所有的活。能钉钉子,但拧不了螺丝,锯不了木头。”
周寻看着他,眼睛里有复杂的光在闪动。
“陈总,”他开口,“您说的这个,在量化里叫‘市场状态识别’。学术界有人研究,但做的人不多。”
“为什么不多?”
“因为难。”周寻说,“市场状态不是非黑即白的。很多时候,你根本分不清现在是震荡还是趋势。而且,状态是会变的。今天还以为是趋势,明天可能就变成震荡了。”
他顿了顿:
“更重要的是,一旦加入状态识别,模型的复杂度会指数级上升。本来我们只需要算几十个因子,现在还要先算市场状态——用什么指标识别?阈值设多少?状态切换的频率多快?这些都增加了‘参数’的数量。参数越多,越容易过拟合。”
陈默听着,没有打断。
等周寻说完,他才开口:
“你说的这些,都对。”
他看着周寻:
“但有一个问题,你想过没有?”
“什么问题?”
“如果我们不敢碰复杂的问题,那我们还做什么量化?”
陈默走到窗边,背对着所有人:
“2008年,我犯的最大的错,不是判断错了方向。是我以为,有一套固定的方法,能应对所有的情况。”
他转过身:
“结果呢?市场换了个打法,我就死了。”
他看着周寻:
“现在,我们要建的这套系统,如果要避免重蹈覆辙,就必须学会‘看天气’。必须知道,现在是晴天还是雨天,是该打伞还是该戴帽。”
他走回白板前,在那三张小图旁边,写下几个字:
给机器装上“眼睛”
“周寻,”他说,“我知道这件事难。但难,不代表不该做。恰恰是因为难,做了才有价值。”
周寻沉默。
房间里很安静。小林、陆方、小吴,都屏着呼吸,看着这两个人的对话。
过了很久,周寻终于开口:
“陈总,您说的那些‘经验’——趋势市、震荡市、恐慌市——能用数据定义吗?”
陈默想了想:
“不知道。但我们可以试试。”
他走到白板前,拿起笔,开始写:
趋势市的特征:
· 指数在20日均线以上,且20日均线向上
· 成交量温和放大
· 板块轮动明显
· 创新高的股票数量持续增加
震荡市的特征:
· 指数在20日均线和60日均线之间来回
· 成交量萎缩
· 热点散乱,没有持续性主线
· 创新高的股票数量很少
恐慌/狂热市的特征:
· 指数远离均线,乖离率过大
· 成交量异常放大或萎缩
· 波动率飙升
· 个股普涨或普跌,分化极小
他写完,看着周寻:
“这些,是我凭感觉写的。不一定对,也不一定全。但它们至少是个起点。”
周寻走过来,看着那几行字。
他看得很仔细,每一个词,每一个条件,都在脑子里过了一遍。
然后他说:
“这些,大部分可以量化。”
他指着第一条:
“20日均线,乖离率,成交量,创新高数量——这些都有现成的指标。我们可以用它们构建一个‘市场状态指数’,每天打分,然后根据分数判断状态。”
陈默看着他:
“能做吗?”
周寻想了想:
“能做。但有一个前提——不能用太多参数。状态切换的阈值,尽量设成简单的、有经济含义的数字。不能用优化的方法去‘拟合’历史。”
他看着陈默:
“您刚才说的那些,是经验,不是数据挖出来的。这个方向,对。”
陈默点了点头。
他转过身,看着陆方:
“陆方,这个状态识别模块,要加到回测框架里。能行吗?”
陆方想了想:
“框架要改。现在的回测是固定策略,没有状态切换。如果加状态识别,每次回测都要先算历史状态,然后根据状态调权重。”
他顿了顿:
“复杂度会翻倍,速度会慢一半以上。”
陈默看着他:
“能接受吗?”
陆方点头:
“能。”
陈默又看向小林和小吴:
“你们俩,负责整理历史数据里的‘市场状态’特征。把我刚才写的那些,变成可计算的指标。每天算一遍,从2005年开始算,看看历史上的趋势市、震荡市、恐慌市,和我们用指标判断的结果,有多少重合。”
小林点头。
小吴已经在本子上开始记了。
陈默最后看向周寻:
“周寻,你负责设计状态识别的框架。用多少指标,阈值怎么设,状态怎么切换——你先出一个草案,我们下周讨论。”
周寻点头。
陈默环视一圈。
六个人,都在看着他。
“我知道,”他说,“这件事很难。可能会走很多弯路,可能会失败。但如果我们做成了——”
他顿了顿:
“我们就不是在用固定的工具打市场。我们是在教机器,学会‘看天气’。”
他看着窗外:
“这就不是一把锤子了。是一整套工具箱。”
没有人说话。
但陈默能看到,那些眼睛里,有光在慢慢亮起来。
那是面对挑战时的光。
不是害怕,是兴奋。
---
中午十二点,周寻还坐在电脑前,盯着那几行“市场状态特征”发呆。
陈默端着一份盒饭走过来,在他旁边坐下。
“还在想?”他问。
周寻点了点头。
“陈总,”他说,“您刚才说的那些,我在想一个问题。”
“什么问题?”
“您是怎么总结出这三种状态的?”
陈默愣了一下。
“什么意思?”
周寻看着他:
“我是学数学的。我学到的第一件事是:数据不会骗人,但人会骗自己。您刚才说的那些特征——指数在20日均线以上、成交量温和放大、板块轮动明显——这些,都是您自己观察出来的,还是从书上看来的?”
陈默想了想:
“都有。有书上读的,有听老前辈讲的,有自己亏钱亏出来的。”
他看着周寻:
“你是不是担心,这些‘经验’不靠谱?”
周寻点头。
“有这个担心。”他说,“经验这个东西,最大的问题是‘幸存者偏差’。您只记得那些对的判断,不记得错的。那些错的,被您自动过滤掉了。”
陈默沉默了几秒。
然后他说:
“你说得对。”
他看着窗外:
“2005年,我觉得市场要涨,涨了。2006年,我觉得还要涨,涨了。2007年,我觉得涨太多了,该减仓了——减对了。2008年,我觉得跌得差不多了,可以抄底了——抄在半山腰。”
他顿了顿:
“所以我的‘经验’里,有对的,也有错的。你怎么知道,我现在总结的这些,不是错的那些?”
周寻没有说话。
陈默转回头,看着他:
“所以,你要做的,不是照单全收。是用数据去验证。用回测去检验。看看我这些‘经验’,在历史上到底准不准。”
他拍了拍周寻的肩膀:
“你担心的,正是你该做的。”
周寻看着他,很久。
然后他点了点头。
“好。”他说,“我试试。”
---
傍晚六点,周寻把第一版“市场状态识别草案”贴在了墙上。
草案很简单,只有几行:
市场状态识别 v0.1
指标集:
1. 指数相对于20日均线的位置(乖离率)
2. 20日均线的斜率(趋势强度)
3. 20日波动率(风险指标)
4. 成交量相对于20日均量的比率(活跃度)
5. 创新高股票数量占比(宽度指标)
状态分类规则:
· 趋势市:乖离率>2% 且 均线斜率>0.5% 且 创新高占比>20%
· 震荡市:乖离率在-2%~2%之间 且 均线斜率在-0.5%~0.5%之间 且 创新高占比<10%
· 恐慌/狂热市:波动率>历史90%分位数 或 乖离率绝对值>10%
注:以上阈值均为临时设定,需回测验证。
小林站在墙前,读着这几行字。
“周老师,”他问,“这个‘乖离率>2%’、‘均线斜率>0.5%’,这些数字是怎么来的?”
周寻坦白地说:
“猜的。”
小林愣了一下。
“但我们会用数据去验证。”周寻说,“从2005年开始,一天一天算,看看用这套规则判断出来的‘趋势市’,和真实的市场走势,有多大差距。”
他看着小林:
“如果差距太大,就调阈值。调完再验证。直到找到一个相对稳定的版本。”
小林点了点头。
陈默走过来,站在他们身后,也看着那张草案。
“周寻,”他说,“你刚才说,阈值是猜的。那万一猜错了呢?”
周寻想了想:
“那就错了。错了就改。”
他看着陈默:
“您说的那些经验,我没办法直接相信。但我们可以一起,用数据把它们‘翻译’成可以验证的规则。对的留下,错的扔掉。”
陈默点了点头。
他看着墙上那张草案,忽然想起1999年,自己刚开始学投资时,在老陆的笔记本上看到的那句话:
“所有的判断,都要经过市场的检验。过不了检验的,不管看起来多对,都是错的。”
十六年了。
他终于开始,真正践行这句话。
最新网址:www.00shu.la