书城投资量化投资的转折:分析师的良知
4301600000030

第30章 如果你想尝试打败市场——投资的其他问题(1)

“如果某事看上去好的令人难以置信,觉得‘这次不同了’,就往往是你把它想的太好了,所以不要相信”——查尔斯 D·埃利斯(出自“赢得输家的游戏”)

结构组织和目的:

作为主体结构的终结章,我们还是要从之前量化策略设计校验的层面回到现实。再次审视这个市场的乱象时,读者应该能看穿纷繁的喧哗了。本着概率取胜的心态,对一切未知充满敬畏。此刻面对个人的交易系统时,我们已经可以比仍然浑浑噩噩的个人投资者多了几分自信,并问心无愧的说:“谋事在人,成事在天。”

有人将优秀的交易规则总结出三点特征:(1)可重复的高胜算率;(2)可证伪的低失败率;(3)符合一致性原则。读者如果觉得这三句话太过于抽象就认准一个简单的道理:“支撑结论的分析手段只有在固定的前提下得到历史验证才可以考虑相信。”最常见的现象是分析师预测失误后,增加新的信息为自己辩解。这种时候,只要问一下:“为什么不早把这些‘新’因素考虑进去?增加了‘新’因素的分析模式在历史上的胜率又是多少?”这时,往往就只有两个结果:(1)分析师罗列过去的事实,并给出具体胜率;(2)分析师强调自己的能力超群以提升可信度。读者如果遇到第1类情况,则应该仔细核对其分析依据,如果无误则表明这个分析师在人品上还是可以信赖的。如果是遇到了第2类分析师,还不如早点结束谈话,免的浪费时间。这种分析师的人品可能存在极大的缺陷,与其来赌他是否是一个好人,还不如省下时间去换一个咨询对象。而这一准则是投资行为一定要遵守的,否则就真退化为赌博了。

我们就从赌博开始,谈论一些较为轻松的话题来结束本书。

(第一节)破产风险

采用杠杆结构的资产组合存在破产风险,这也就是为什么期货市场上算法交易的应用一般都会伴随一个破产风险的检验问题。但这也并不绝对,因为常见的破产风险衡量是个基于数值计算的技术,而没有解析解更准确的说,在常见的数学工具范围内,数值解会是一个不二的选择。就接下来笔者引用的例子来说,给笔者上“高级资本市场理论”的张老师就讲过一个更通用的例子(市场作为资产无穷大的对手方),且解法简单。但本书只是工作生活的总结,也不会预期读者都能有随机过程的相关知识,所以还是按照市场书籍的方式来组织内容。与笔者一样数学基础薄弱的读者大可松一口气。不过,这也在侧面说明了数学好对于金融分析来说有多么的重要,多学点总没有害处。这是多少有些遗憾的地方,但计算机技术的普及让这种现状多少有些可以接受了。不过,认为不知疲倦的计算机能抵挡任何复杂级别的运算也未免过于极端。现实情况是,最常使用的技术将参数限定在有限的几个变量上,让策略的可执行性与破产校验可以兼顾。在本节开始之前,有必要先介绍一下破产风险这个概念。

按照鲍尔绍拉在《期货交易者资金管理策略》一书中所阐述的破产风险,其被用来当作一个概率估计。0表示交易者不可能破产,而1表示破产不可避免。为什么不能用已有的预期收益来直接衡量破产问题?其中一个重要差别在于时序。以本金1元,盈(亏)1元,胜率0.5为例。这其实是一个预期收益为0的交易系统,那么本金在此条件下的预期值应该仍为1元。不过在得出这个结论之前,我们还要小心的面对一个问题:“资金能撑到预期实现的那一天么?”这是个现实问题,毕竟本金到了0就意味着被市场消灭了。第一次就破产的概率为0.5。第二次不会破产。第三次破产的概率为0.125。第四次不会破产。第五次破产的概率为0.0625如果我们采用以本金1元,盈(亏)1元,胜率0.6为例。我们就得到了书上的例子:第一次就破产的概率为0.4。第二次不会破产。第三次破产的概率为0.096。第四次不会破产。第五次破产的概率为0.04608。笔者也承认,这是个无聊的过程。尤其当胜率没这么友好时更是如此。为此,我们采用了模拟的方法以求躲避复杂的计算。给出市值、胜率、盈亏比和亏损比率我们就能得出想要的结果估计读者也发现了,市值某种程度上是重复信息。不过,在不以百分比表示的亏损前提下,其存在还是有必要的,这也是笔者将其保留的原因。读者了解了其所阐述的意义,就可以自己来完成这个实例了。

校验破产风险的VBA代码笔者感谢李丹同事对此代码的校验工作。

如果解除注释标记,读者可以得到更为清晰的校验过程。但相应的时间损耗也极大。在结束本节之前,我们还是应该回到一开始所阐述的问题。我们在整个过程中进行了简化,将投资行为限定在了二项分布上。这当然可以实现,实际上很多期货策略就是这么设定的。但这却不是故事的全部内容。我们最常听到的“限制亏损,让利润奔跑”的逻辑没有体现出来。这也是一个可以通过回落了结实现的交易技术,但将其模型化就远没有那么简单了。一个直接的因素就在于收益率不能再用简单的盈亏比来描述。实务中,纠缠于这个问题的很少见。往往分析师会满足于盈亏比的描述,而把其他辅助策略仅作为一个基础之上的副产品来看待。正如本节开始所提到的,我们还是将其看作为一个折中方案较为合适。而且,如果读者也同样厌恶杠杆,则这个问题实际上也可以适当的忽略。

(第二节)策略设计因素——是否容易理解

很多人对于不能理解的事物有种莫名的恐惧,笔者也不例外。我们经常能看到介绍数量化投资的书籍教育读者对于数量化方法背后逻辑的理解至关重要。不过笔者还是有些不同意见想要表达。作为一个普通的投资者,我们的理解能力是有限的。能承认这一点至关重要。笔者真是不敢奢望能对所有的分析技术做到如数家珍。至今笔者的书架上还有两本因为缺少勇气、智慧和时间而没有仔细看过的书,一本是库鲁克的《金融几何学》,另一本是伊林斯基的《金融物理学》。对于到底什么是“纤维束”,这种概念是如何与金融市场联系起来的这些问题笔者确实了解甚少。笔者的认知能力是有限的,我可以欣然面对那些根本理解不了的事物。但笔者绝对不会轻易的因为自己的无知而否定他人的努力。要承认“人外有人,天外有天”,这一点很重要。而一旦这个基本观点上能达成共识,接下来要说的问题就顺理成章了。

“了解算法背后的逻辑”这一点可行么?笔者对此持保留意见。因为,我们至少在两个层面受到制约。首先就是个人的知识储备和理解能力,这也是前文笔者想要表达的观点。其次,我们需要明白算法的两种产生方法。

最容易被大家所接受的正向的方法:先有一个算法逻辑,然后编程实现它,系统校验后决定取舍。这种方法无可厚非,而且能用来汲取营养的市场书籍数量繁多。我们唯一需要担心的仅仅是算法逻辑的合理性。可能很多人就此放松了警惕,觉得此种方法就可以轻松理解。实际上远非如此,别忘了算法制作人可没有义务把自己的想法与其他人共享!通过(不太道德的)技术手段,或许能得到一部分源码,并反推出算法。即便是这些行动都完成了,要想理解其背后的逻辑也不是易事。比方说,《交易的真相》中介绍了一个该书作者所描述的易点理论:

y=a·sin(b·α+β)sin(c·α)

不解释背后的逻辑,有几人能猜出这个公式的要表达的意思?反正笔者是猜不出来,更不要提很多时候,算法制作人会适当的简化算法实现。一旦如此,我们要面临的工作就多少更近似于破译。这工作可不好做,即便是有大量的知识储备也不见得能保证理得出头绪当然了,笔者此处的出发点并不正确。我们不是基于自己的努力去找可用的策略,而是希望通过破解他人劳动成果来走捷径。不过,背后所要阐述的道理是相通的。

不太容易被投资者接受的是反向方法:从市场数据出发,直接寻找应用效果良好的算法实现,然后再尝试为其寻找某些解释逻辑(此步可省略)。此种方法的一个实现方式是基因表达式规划技术。实际上,反向方法的产生也有现实需求作为基础。最容易理解的一个困境就是算法池的枯竭。还记得笔者在前文中所叙述的每个策略算法能驱动的资金量问题的读者应该很容易明白其中的缘由。对于一个动辄以亿为单位计算的资金管理,算法池内策略算法的数量可想而知。有谁能保证自己的思路取之不尽,用之不竭?估计正常人都不会有这个胆量,而此时这种技术就正好的填补了空白。笔者在2009年时曾见过一款国外的软件应用,当时还在研究所跟研究员讨论过。只是国内应用层面却始终跟不上,卖方讲故事的投资逻辑一直把持着投资主流方向,媒体煽风点火也就围绕着新闻解读模式,投资者被忽悠的根本分不清方向,也自然没有提出此类需求。行业内反省的声音基本上还没来得及走到前台就被淹没了。这种无聊模式我们已经在前半部分批评过了,在此自然也就没必要过多浪费笔墨。

(第三节)交易系统三因素的再阐述

很多研究喜欢把交易系统拆分成三个因素:策略算法、资金管理与心理控制。笔者虽然在前面的章节都有详细的介绍过,但作为最后一个章节,将这三个问题再简要的阐述一下关系还是有必要的。

笔者认为,心理因素是最容易被投资者忽视,影响收益最为隐蔽的一个环节。与很多投资大师教育投资者战胜心理因素的做法不同,笔者认为这些问题其实本质上难以克服。唯有将人为因素压制到最低才能较好的避免那些贪婪与恐惧。方法也就是我们一直都在阐述的依托数量化操作的算法交易的推行。