第23章历史测试的统计学基础(1)
第23章历史测试的统计学基础(1)
用拙劣的方法作交易就像是站在暴风骤雨中的一叶小舟上学杂耍。这当然不是办不到的,但踏踏实实地站在地上玩杂耍则容易得多。
你已经知道根据历史数据测试结果与现实不符的某些主要原因,现在你可能会想,“既然这样,我怎么才能知道我究竟能得到多大的回报”,或者“我怎样才能避免第十一章中所说的那些问题”,或者“我怎样用正确的方法测试我的系统”。本章将讨论历史测试的一般原理。要掌握本章的内容,你必须透彻地理解上一章所说的那些预测偏差的根本原因。因此,如果你在读上一章的时候只是在粗略地走马观花,建议你先仔仔细细地重新读一遍。
在观察历史模拟结果的时候,你对未来的趋势充其量只能有一个粗略的感觉。幸运的是,即使是粗略的认识也能赋予一个优秀交易者足够大的优势。要理解你这种认识的误差幅度(或者说粗略程度)会受到哪些因素的影响,你需要掌握几个基本的统计学概念,这些概念都是历史测试的理论基础。我不喜欢那种充斥着数学公式和冗长论述的书,所以我会尽量少用数学,争取简明阐述。
测试样本的有效性
恰当的测试既要考虑到影响测试解释力的统计学概念,也要考虑到这些解释的内在局限性。不恰当的测试可能导致你空有十足信心,但实际上测试结果的预测价值缺乏保证,甚至完全没有保证。事实上,糟糕的测试可能会给出完全错误的答案。
至于历史模拟为什么充其量只是对未来的粗略估计,大部分原因已经在要讲的是如何提高测试的预测价值,在可能的范围内得到最好的粗略估计。
通过样本特征推断总体特征是统计学中的一个领域,也是历史检验结果的未来预测价值的理论基础。其中的核心观点是,如果你有足够大的样本,你就可以用这个样本的情况去近似推断总体情况。因此,如果你对某一种特定交易策略的历史交易记录有充分的研究,你就可以对这种系统的未来潜力得出结论。民意调查者们就是用这样的方法来推测广大民众的看法的。例如,他们可以从某个州随机抽取500个人进行调查,借以推测整个州的选民持何种观点。类似的,科学家们可以根据一个相对较小的病人群体来判断某种药物对某种疾病的治疗效果,因为这样的结论是有统计学依据的。
样本分析在统计学上的有效性受两大因素的影响:一个是样本规模,一个是样本对总体的代表性。从概念上说,许多交易者和系统测试新手知道样本规模的意思,但他们以为样本规模仅指他们所测试的交易次数。他们并不明白,假如某个法则或概念仅适用于少数几次交易,即使他们测试了上千次交易也不足以确保统计学上的有效性。
他们也常常忽视了样本对总体的代表性,因为这是个复杂的问题,没有一定的主观分析是很难衡量的。系统测试者假设过去的情况对未来的情况有代表性,如果这是事实,而且我们有足够大的样本,我们就可以从过去的情况中得出结论,并且把这些结论应用于未来的交易。但如果我们的样本对未来不具代表性,那我们的测试就毫无用处,对系统的未来表现也没有任何的指示意义。因此,这个假设至关重要。即使500人的样本足以告诉我们谁能当选新一任总统,而且使用代表性样本的误差幅度不过2%,在民主党全美大会中随机抽取的500个人能反映全美选民的意向吗?当然不能,因为这个样本并不能代表总体——它只包含民主党人,但真正的选民还包括很多共和党人。共和党人的投票对象也许与你的民意调查结果不一致。如果你犯了这样的取样错误,你也能得出结论,或许还是你希望看到的结论,但这并不一定是正确的结论。
民意调查者们知道,一个样本对整个总体有多大的代表性是个关键问题。用不具代表性的样本得出的调查结论是不准确的,而犯下这种错误的调查者会被炒鱿鱼。在交易世界中,这也是一个关键问题。遗憾的是,交易者与民意调查者们不同。民意调查者们大多都懂抽样统计学,但交易者们大多不懂。在这方面,交易者们的近期偏好也许就是最常见的迹象——交易者们只注重近期发生的交易,或是仅用近期的数据作历史测试,这就像是在民主党大会上抽取选民样本一样。
短期测试的问题在于,市场在这段较短的时期内可能仅出现了一两种状态,而不是我们在中所说的全部4种状态。比如,如果市场一直处于稳定波动的状态,那么均值回归和反趋势策略的效果会非常好。但如果市场状态改变了,你所测试的方法可能就不再那么有效了。所以,你的测试方法必须尽可能地提高你所测试的样本对未来的代表性。
衡量指标的稳健性
在系统测试中,你要做的是观测相对表现,分析未来潜力,判定一个特定理念是否有价值。但这里面有个问题,那就是公认的那些业绩衡量指标并不是非常稳定,也就是说,它们不够稳健。这就使评判一个理念的相对优势变得非常困难,因为寥寥几次交易中的微小变化就能对这些不稳健指标的值产生巨大的影响。指标的不稳定性可能导致测试者过高地评价一个理念,或是盲目地抛弃一个本来很有潜力的理念——因为它受到了不稳定指标的影响,并没有展现出应有的潜力。
如果对数据稍作改变并不会显著影响一个统计指标,我们就说这个指标是稳健的。但现有的指标对数据的变化都太过敏感,因此都太不稳健。正因为如此,在我们对交易系统作历史模拟检验时,参数值的轻微变化就会带来某些指标值的大幅变化。这些指标本身就是不稳健的——也就是说,它们对数据的轻微变化太过敏感。任何对数据有影响的因素都会对测试结果产生过大的影响,这很容易导致数据拟合,很容易让你被不切实际的测试结果所迷惑。要想有效地测试海龟方法,我们要做的第一件事就是克服这个问题,找到稳健的业绩衡量指标。
在我最初参加海龟计划的面试时,比尔·埃克哈特就曾问过我这样一个问题:“你知道什么是稳健的统计指标吗?”当时我茫然地呆坐了几秒钟,然后坦白说:“我不知道。”现在我可以回答这个问题了。事实上,数学中有个专门研究不完全信息和错误假设的分支就叫作稳健统计学(robuststatistics)。
从这个问题中明显可以看出,比尔对测试和历史数据研究的不完善本质有清醒的认识,对不确定性也颇有研究,这不仅在当时难能可贵,在今天依然如此。我相信这正是比尔能获得那种傲人业绩的原因之一。
这也又一次证明了里奇和比尔的研究和思维是多么超前于那个时代。我学到的越多,对他们对这个领域的贡献就越发敬畏。但我也惊讶地发现,相比起里奇和比尔在1983年的认识,现在的交易行业并没有太大的进步。
前面的章节把mar比率、cagr(平均复合增长率)和夏普比率用作相对表现的衡量指标。但这些指标并不稳健,因为它们对测试期的起始日和终止日非常敏感。这对短于10年的测试来说尤其明显。让我们看看将一次测试的起始日和终止日调整几个月会怎么样。假设我们从1996年2月1日而不是1月1日开始测试,一直测试到2006年4月30日而不是6月30日。也就是说,我们去掉了最初的一个月和最后的两个月。
在最初的测试期内,三重移动均线系统的测试得出了43.2%的回报率、1.39的mar比率和1.25的夏普比率。但在修改了起止日后,回报率上升到了46.2%,mar比率提高到了1.61,夏普比率也提高到了1.37。atr通道突破系统的最初测试结果是回报率51.7%,mar比率1.31,夏普比率1.39。起止日调整后,回报率攀升到了54.9%,mar比率上升到了1.49,夏普比率提高到了1.47。
这三个指标之所以都这样敏感,是因为回报率指标对测试期的起止日非常敏感,而回报率又是mar比率和夏普比率的要素(对mar比率来说是cagr,对夏普比率来说是月度平均回报率)。如果衰落发生在测试期的开端或结尾附近,最大衰落这个指标也会对测试期的起止日高度敏感。这会把mar比率变得特别敏感,因为它的分子和分母部分都对测试起止日敏感,变化的效果也就在计算中成倍放大了。
cagr之所以对测试起止日敏感,是因为它在对数刻度图中就等于曲线起点和终点的连接线的斜率,而改变起止日会令这条直线的斜率大大改变。我们可以看到这种效果。
标有“修改后的测试起止日”的直线斜率高于标有“初始测试起止日”的直线。在最初的测试中,1996年1月间发生了一次衰落,2006年五六月又发生了一次。因此,我们在把测试期掐头去尾之后,也就去除了这两次衰落。这在图12–1中看得很清楚:把前后两端的衰落去掉后,代表cagr的连线斜率大大提高了。
回归年度回报率
以上两条连线差异极大,但如果我们对所有可能连线上的所有点进行一次简单的线性回归,我们就能得到回报率的一个更好的衡量指标。如果你不喜欢数学,那我告诉你,回归线就是最符合散点分布趋势的一条线,有时候也被称为最佳拟合线。你可以把它理解为穿越所有散点中心位置的一条直线,回归过程就像是揪住散点图的两端将它不断拉伸,保持图形的整体方向不变,直到所有的起伏之处消失,聚合为一条直线。
线形回归线和它所代表的回报率为我们提供了一个新指标,我称之为rar(regressedannualreturn,回归年度回报率)。这个指标对测试期起止日的变化远不像cagr那样敏感。从图12–2中可以看到,当rar的测试起止日改变时,回归线斜率的变化要小得多。