对于一个研究员来说,核心部分到这里就可以对付交差了。笔者还真就见过到此粗糙层面就停止脚步开始出系列报告的事。连最起码的能否保证成交都不考虑,除了坑害投资者笔者真是想不出还能有什么别的作用。千万不要以为一切已经结束了。恰恰相反,一切才刚刚开始。对于细节的追求会让很多人望而却步,但相信我这是必要的。首先,我们就要质疑融券策略凭什么可以在时间敏感的约束下得以执行?笔者曾遇到某高研大包大揽的说:“这些不用担心,就按照收盘价来计算就可以……”真的不用担心?下表是上交所订单标识的说明,“融券卖出不允许市价申报”就意味着交易的时效性根本不能保证。也就是说,我们根本没有办法保证收盘价一定可以作为执行价来纳入模型考虑。笔者的整个策略的校验结果都是毫无意义!(这种行文风格确实有点像与读者开了个玩笑。由于考虑融券问题已经把范围缩得很小,笔者更愿意拿自己开刀以避免得罪其他人,笔者就不在此举例了。读者只需知道类似策略都有这种问题。)
买卖方向
订单标示买入(B),卖出(S)
MRQ买券还券的市价订单。最优5档匹配后剩余量自动撤单融券卖出不允许市价申报。
NRQ买券还券的市价订单。最优5档匹配后剩余量转限价融券卖出不允许市价申报。
数据来源:宏源证券信用交易部
如果这就结束了未免还是有点不够彻底。再更为细致的使用信用交易账户下的收益率计算函数时,整个策略的收益曲线完全令人失去了兴趣。一个如此简单的策略,校验过程的代码要比策略描述复杂数倍。好在就笔者所知,券商已经开始考虑制作数量化校验平台。一旦此项服务完成,部分繁冗工作可以被忽略。
融券的最后一个功能是将T+0部分变为现实。这似乎也是被很多投资者诟病的一个因素。在信用交易还在孕育阶段的时候,就有投资者指出这对于资产和开户年限达不到标准的人来说是个显失公平的政策。尤其是对于能够进行资产组合管理的客户来说,单只股票的卖出错误可以通过买券还券得到部分更正根据《上海证券交易所融资融券交易试点会员业务指南》的有关规定,融资融券异常交易行为包括“普通账户与信用账户进行日内反向交易行为”。且该项异常交易监控属于“发生即预警”阀值类别下。甚至还可以利用延时套利概念在相对低点,申购或买入ETF,在相对高点,再将ETF卖出或赎回。在实际操作中,一般是当天完成一个交易轮回。这与日内围绕个股做“T+0”有几分类似。只要市价成交的交易指令可以被交易所确认,ETF作为融资融券标的试点可以让资金量较小的个人投资者也参与到此种套利模式中。券商的信用交易部门也在积极争取此本就应当具备的交易指令。天下没有免费的午餐,但也并不表示这顿午餐一定会多昂贵。
融资利息=Σ客户每日融资负债余额×当日的融资利率(年率)/360
融券费用=Σ客户每日融券负债余额×当日的融券费率(年率)/360
通过上式不难发现,如果以隔日了结的交易来看利息、费用都不高。不过,除了前文所述的不能保证成交等问题外,在这里还应该提示一个风险。在设计策略的时候,我们往往会假设融券卖出,买券还券是可以良好执行的。但有一个例外,就是标的股无量涨停的轧空行情。由于做空与做多的风险不对称,彼得·林奇这样的大师往往都对(长期)做空持有否定意见。所以,策略设计的步骤一定要尽量把这些问题考虑进去。除非万不得已,否则不要轻易回到赌极端行情是否出现的老路上。
(第十二节)数量化投资的注意事项——策略容量
到目前为止,所有的讨论都是在简单的以收益率为基准衡量。而这离不开一个关键性的假设——执行价本身不会因策略的执行而产生波动。其实,这也就牵引出了本节我们想要讨论的问题——策略容量。
并非是笔者特意提出这一点,实际上这是数量化基金都会面临的一个问题,尤其是追求绝对收益的基金更是如此。长期资本是一个全球布局的对冲基金,但其在2007年仍然向其投资者退还了27亿美元资金。这实际上是个多方面的问题,自认“多余”的资金会影响收益率,并拉低杠杆可能是《拯救华尔街》与《创造金钱》的统一认识。西蒙斯的大奖章基金也曾在必要的时候,将基金的现金拿出来返还给投资者。
数量化算法是有缺点的,一个盈利模式的发掘是困难的,而一旦发现之后仍必须小心的维护,否则很有可能出现策略的执行自身就打乱已有模式。换句话说,每一个策略的实际应用都面临着同样的问题——能影响最小的带动多少资金。个人投资者来说,规模执行的单一股价策略往往只能推动几十万顺利入场,这对于一般股民来说可能是够了,但是对于百万或者千万级的资金来说,这种模式显然有问题。换个市场自然是处理方法之一,但通过资金管理系统设置,这个问题实际上是可以解决的。
笔者在之前的章节就提到了一个现象,扁平化的策略设计。如果读者2004年左右在国内查看有关金融工程的书籍,就会发现那个时候这个概念还仍然是围绕着金融工具拆分和组合来进行的用霍金斯的例子来说明这个过程可能比教科书生动。面对住房抵押贷款债券,我们需要出售期限匹配的国库券对冲利率风险,利率互换来对冲收益率曲线风险,模型来负责隐性期权的定价问题。于是,剩下的又是配对交易的老问题了。如果莫顿的创新螺旋没有倒塌,这或许确实还能继续下去。但谢天谢地长期资本倒了,否则按照它的全球布局膨胀速度,我们盈利的可能也微乎其微。但外面的世界却很精彩。给笔者印象最深的是两个人,一个是当时的剑桥大学Judge Business School的Michael Dempster教授,另一个就是罗闻全公开资料上显示:“罗伯特C.默顿在MIT教的最出众的学生之一。现为麻省理工大学斯隆管理学院金融学教授,麻省理工大学金融工程实验室主任。”一个程序化技术分析的重要人物,这一点的意义太过于重要了。这让缺乏信息优势的个人投资者有了一件对抗市场的武器,尽管这武器并不容易学习,但使用起来还是高效的。他们让笔者明白其他学科的技术手段不仅可以在金融市场有所应用,而且也让那些已经被国内讨伐过无数遍的技术分析的重新检验提供了基础。而这一切都使得资金管理部分有了一些新的模式可以考虑。其中之一就是大资金的管理可以通过算法池结构体现出来,每个算法池内的算法负责一定数量资金。而算法池的管理则交由另一套系统进行甄别。这样看来,两层式的结构设计就可以在组合管理层面产生作用,进而不稳定的人为因素部分被剔除。
《解读量化投资》把这项技术形象的比喻成压水花。如果就事论事的讲,算法的建立不以单一执行价为依托也是可行的。从这一点来说,策略的容量会有较大幅度的提升。这里涉及到了另一个小问题——执行价。日线级别交易数据最经常被纳入分析范围的价格无疑是开盘、收盘、最高、最低价四个。但这四个价格却并不都是良好的执行价依托。开盘、收盘价本身由时间因素决定,所以它们是可以由策略负责执行的价格。但是最高、最低价却存在时间上的不确定,这种数据只能用作模型的输入部分,而不适合作为执行价的依托。万事没有绝对,从大数的角度来看,成交均价也可以是突破口之一。而究竟是基于成交量的平均还是基于时间的平均并无绝对要求,一切以算法为依托。而这就将大单拆细的概念摆在了眼前。策略的容量问题进而得以解决。实际上,在这里对交易技术的要求远比对算法设计的层面要高。
这里其实暴露了一个隐含的问题——数量化的方式投资需要不断演化以适应资产规模。没有什么一劳永逸的解决方案。资金在滚动过程中会需要不断提供新的算法来进行匹配,这还不算部分算法由于模式的迁移而失效的情况。不考虑被动管理的组合部分,算法池内当前状态为启用的部分不超过30%是一个完全可以接受的比例,也就是说,算法的开发力度是与组合管理应用不可分割的一部分。
(第十三节)数量化投资的注意事项
——模拟与实际的不同
几乎所有的模拟操作只是为算法应用提供一个参考。在这个层面上来看,价值投资相比起来就显得较难回溯校验。然而,模拟的结果也并不表示实际应用就可以获得满意的结果。即便我们十分小心地把前面10个问题处理得很好,仍然要有心理准备来面对现实结果的不同。这里面涉及到了一个模式迁移问题。
计量模型也好,罗闻全教授的程序化技术分析也罢,这都是一个模式识别和校验的过程。但有谁能保证这个模式会长期有效的运行下去呢?这里可能要借用一个静态转变为动态的概念。但往往面对实际策略的时候会出现两种情况:(1)模型通过参数调整可以做到适应;(2)根本就没有可以直接替代的模式。而后者就是算法池内启用状态所占比例有限的原因。这种现象也更多的出现在股价形态识别的问题中。