《头寸管理权威指南》 评价你的交易系统质量(二)

发布于: 雪球转发:2回复:2喜欢:7

来源:Van K.Tharp 《Definitive Guide to Position Sizing》Chapter 3

翻译:量化交易读书会

评价你的系统

使用系统质量系数的方法来评价,让我们看看是否可以总结出评价一个系统的标准。如表3-11所示,当你阅读本书第三部分“使用头寸管理来满足你的目标”时,你会明白这些标准的含义。

注意我们给出的样本系统中没有一个是真正很好的。其中只有两个排名足够好,也差不多是平均水平。这就是为什么我相信如果你用系统质量系数来评价你的系统,你可能根本不会选择像系统3-6那种看上去期望和期望机会很好的系统。注意如果你认为这些系统中的任意一个足够好并且可以用来交易,那么你的标准可能就太低了。

有些人有可能会交易这些系统,但是如果你交易一些简报推荐的系统可以做得更好。比如,Steve Sjuggerud的True Wealth简报从2001年十月就开始每月推荐,其系统的系统质量系数接近3。这对于每个月特定日期都必须做出推荐的简报来说是非常突出的。另外,Steve必须把他的每次推荐限制在100,000人以内,这样他所推荐的一切才具有流动性。这些是对极端情况的限制。

我的简单而有效的系统,即买入高效的股票,设置25%的跟踪止损,只做多,在2006年7月至2007年7月中有23笔交易,其系统质量系数为4.08。(参见2007年7月18日的Tharp's Thoughts)这段时间的市场特征是稳步上涨。但是,市场后面变成横盘震荡,系统变得根本不起作用,我也不期待趋势跟踪系统在那种市场环境下能够有效。

你可能需要非常谨慎地对待排名非常靠前的系统,很可能是你还没见到最糟糕的情况(尽管这种可能性在每个系统都存在)。但是,对于排名非常靠前的系统,巨大的损失(即5R的损失)可能极大的损害你的权益,因为你可能高估了你的头寸。不要仅仅是把这些标准运用到你的系统中,在使用之前要确定你理解统计假设的前提。

所有这些SQN都假设你有100笔交易(即N=100),N应该是指一个固定时间段(即一年)内的交易笔数。为了基于这个标准来比较你的系统,你必须使用一年内的交易笔数来代入公式中的N。这是因为你能多快来完成这100笔交易是一个很关键的问题。

一个在一周内做100笔交易的系统远比一个在三年内做100笔相同的交易的系统要好得多。例如,一个系统的期望为0.35,一个月内做100笔交易,在月末其平均盈利为35R。当你把这个系统与另外一个期望为1.25、三年内做100笔交易的系统(即每个月2.78笔交易)相比较,这个系统每个月只能平均盈利3.47R。第二个系统的SQN可能为3,而第一个系统的SQN只有2。但是,大多数人还是更乐于使用第一个系统,因为它赚钱速度更快。

如果你只有10笔交易的样本,那么你需要SQN至少为3.5才会认为是一个好系统。如果有20笔交易,你需要SQN至少为3.00才会认为是一个好系统。如果有30笔交易,SQN会下降至2.50就可以认为是一个好系统。但是,只有这样的小样本(甚至是30笔交易都是小样本),你只是对你的系统预期略知一二。

在计算SQN时,也不能仅仅是把100笔交易插入到你的系统中。例如:Ken Long在我们的外汇交易基金课程中的一个系统的SQN为13,有38笔交易。我听到时非常惊讶。但是,这个SQN值是基于100笔交易来计算的。这意味着要乘以10(即100的平方根),而不是乘以6.16。在我看来,考虑这所有的38笔交易,我们可以说它“看上去像“一个圣杯系统,其SQN大约为8。我认为假定系统能够以相同的质量来完成接下来的62笔交易并不可靠。


SQN的问题及如何克服

假设你用了20年的数据去测试某个交易想法,回测结果看上去令人惊叹,其SQN超过了5。这一回测结果如表3-12所示。光看这些结果,你现在有一个极佳的系统。根据我们所建议的标准,像这个系统这么好的系统几乎不存在。

但是这是真的吗?并不是的。它简单地指出了SQN的问题。当你有很多笔交易时,你可能高估了你的系统的质量。以这个系统为例,其SQN为5.19,共198笔交易。

注意系统的期望只有0.39R。如果你看看期望和标准差之比,你会得到0.39/1.06=0.368。现在假设我们只有100笔交易,我们的SQN就会只有0.368*SQRT(100)=3.68。

这是一个好的系统,但并不是一个极好的系统。所以,太多笔交易可能会导致你高估了系统好的程度。

所以这是我的建议:

*如果你有少于100笔交易,那么用SQN来评价系统的质量时,一年内的交易笔数会是一个比较好的估计值。

*但是如果你有超过100笔交易,那么只要简单地把比值(期望除以标准差)乘以10。换句话说,假定你有只有100笔交易来计算SQN。用这种方法可能有点保守,但是保守总比高估系统来的好。


使用这种方法的统计假设

我们在使用这种方法来评价系统时的一个主要难点在于统计假设前提——我们要保证R乘数的分布是有效的。换句话说,你的交易样本是否反映了你的交易系统的真实情况?

当你做10笔交易时,你实际上是从你的系统可能产生的所有交易中抽取了10笔交易。所以,你的系统是否是统计上盈利的?交易样本多大程度上代表了你的系统可能产生的交易总体?

让我们分别来看以下两个问题:

第一,你的系统是否在统计上是盈利的?如果你细看我们给出的计算系统质量的公式 ,你会发现它正是一个可以决定你的系统是否在统计上盈利的公式。

这是一个t值的基本公式,检验一个样本是否均值为零。如果你有正期望,t值表明你的结果是否显著异于零或负收益。如果有95%的可能性异于0或负收益,那么你就可以拒绝收益均值为负或为零的原假设。

总的来说,SQN越大,你能拒绝原假设的可能性越大。附录II列出了不同百分位对应的t值,你可以用这个表自己来回答这一问题。如果你细看附录II中的t值,你会注意到我们本章给出的系统中没有一个值足够高并且可以赚钱,甚至是系统3-2也不行。但是人们却每天都在用这样的系统来做交易。

顺便一提,t值的假设是你的数据服从正态钟形曲线。大多数交易系统都有厚尾的特征——即都是靠一两笔交易赚取了大部分的盈利。无论如何,t值至少给出了你的系统质量的粗略估计。但是,小样本(比如10-20笔交易)还是样本数太少了,无法给出你的系统的统计上有效的估计。不过好在你已经有了一个好的开始。

第二,这些交易是否足以代表系统将要产生的实际交易?如果你要用R分布来做出诸如系统的头寸规模之类的决定,那么这是一个更为重要的问题。例如,如果你认为你的系统只有10%的可能性会亏损20R,但是你的交易样本并不足以代表你的系统,那么你可能轻易地亏损50R。所以,“我的交易样本是否足以代表我的系统?”这个问题是个非常重要的问题。

总的来说,你的样本数量越大,越足够代表你的真实统计总体。一般认为30是能够反映总体的最小样本数量。所以,如果你有30笔交易,你可能有了足够的交易来开始估计你的系统的总体表现。

不幸的是,实际情况更为复杂,不仅仅是要求有足够多的交易。你必须知道你的样本是否代表了交易的实际总体。除非它代表了不同类型的市场中足够多的样本,否则就不能表示总体。

比如,你可能挑选了200笔1998年-1999年的高科技股票的交易,看着产生这些交易的趋势跟随系统,你认为你有一个“恶魔”系统(“monster” system)。但这个系统在2000年-2002年间几乎是毁灭性的。这两个时间段的市场是完全不同的。所以,你必须问问你自己:“我的系统的交易样本是在哪种市场中产生的?”总的来说,有六种类型的市场

*震荡的上涨市:这正是1999年的股票市场。

*平稳的上涨市:这意味着一切都是平滑地上涨——几乎是一条直线往上,没有什么大的波浪。

*震荡的横盘市:2004年的股票市场基本就是横盘的,有时候是剧烈波动的,有时候是下一种类型。

*平稳的横盘市:2005年初就是这类市场。主要的均线基本不动,一周内的变动很少会超过1%。

*震荡的下跌市:这正是2000年的纳斯达克市场。

*平稳的下跌市:大多数的熊市是这种类型的市场,均线每周都在下跌,但幅度并不大。如果你是做多,这些小的损失会是致命的。

你交易的时间框架将决定你如何定义每个市场的类型。本章给出的例子假定你是做长期交易,关注三个月的变化。如果你的目标是长期持有某个头寸,那么你可以使用这种方法。短期交易可能要关注市场每周的变化,而日内交易可能要关注每日变化,甚至对交易日有不同的分类标准。

尽管你可能不会交易所有的六种市场,但你仍然需要分别来自这六个市场中的大样本的交易数据(理想情况下超过100笔,至少30笔),才能足以了解你的系统是如何表现的。

如果你不满足这些标准,几乎也没有人会去这么做,那么你实际上对你的系统的预期表现一无所知。你最多能够这么说:“我有某个【填入你打算交易的市场类型】产生的50-100笔交易,但是我非常清楚我的系统将在这些条件下如何表现。而且,我需要确定我只在这些条件下交易,因为我不知道我的系统在其他条件下会如何表现。”

你需要关注的最后一个假设是你的系统能够同时做几笔交易。对于这一点你需要非常谨慎。如果你的系统一次性开仓20笔交易,那么当整个市场崩溃的时候这些持仓会如何?正如Steve Sjuggerud所喜欢的一句话:”一般来说,所有的船都是随波逐流。“所以如果你持有20笔交易的持仓,而市场崩溃了,那么你可能就跟持有一笔大的反向持仓差不多。这一问题在后面的关于组合(portfolio)和group heat的章节中也会解决。

另外,你需要理解市场确实会有周期性的价格冲击。这意味着一切突然急剧下跌,而且跌幅巨大。如果你在交易带杠杆的工具,比如期货,那么一次这样的价格冲击可能就会让你损失所有的本金。你必须假定这些冲击可能将要发生,并且你能够生存下来。

自从开始交易指导,我已经历经两次大的冲击。第一次冲击发生在1987年10月,黑色星期一及之后一段时间。标普500指数一天内下跌了20%。其它市场(欧洲美元、白银、黄金)的冲击在第二天甚至更严重。巨大的价格跳空让你根本没有平仓的机会,如果你持有的仓位是反向的,而且带高杠杆,你可能会失去一切。

第二次大的价格冲击发生在2001年9月。华尔街在9月11日闭市了,并且在那周接下来几天也基本是闭市的。当市场于9月17日重新开盘,价格延续了九月初的下跌趋势。所以如果你是做空,对你有利。标普500在触底之前一周下跌超过12%。在接下来一周它又反弹了8%。这些都是非常大的价格波动。想象一下你做反了方向,高杠杆,重仓(甚至更糟,持有多笔交易仓位)。你可能再一次失去所有一切。


改进你的系统质量系数(SQN)

一般来说,SQN越大,你越可以用头寸管理来达到你的目标。比如,SQN在1-2的系统,不管你怎么做可能都很难达到你的目标。但是,SQN上升至4以上的时候,你会发现用头寸管理会更容易达到你的目标。这些话题会在本书第四部分进行详细讨论。

为了证明高SQN的系统在使用头寸管理后能够更容易达到你的目标,我创建了七个系统模型,SQN分别从1到7。这些SQN都是假设你有100笔交易。这些系统在本书接下来的章节中也会用来说明对于不同的SQN,如何用头寸管理来达到你的目标。记住,对于这些系统模型,你有整个的交易总体,因为模型是我建立的。而在实际交易中,你只会有一个样本,只能根据样本去推断总体是什么样的。系统SQN1至SQN7在图3-1至图3-7中分别列出。在每个例子中,我都保守地假设最大的一笔亏损为5R,尽管在低SQN的系统中你的单笔最大亏损可能会更大。

为了得到高SQN,什么最重要?

首先,胜率和SQN有很强的相关性,尽管系统SQN2比系统SQN3有更高的胜率。

其次,增加大的R乘数交易完全可以改进系统的期望,但是如果我决定增加2笔30R的盈利交易到一个期望为1.1、SQN为4.51的系统中,猜猜看会发生什么?当我增加2笔30R的交易,期望几乎翻倍至2.13,但是标准差也增加了很多,达到5.99,二者之比为0.355,若我们假设用100笔交易来计算SQN,则SQN为3.55。所以,仅仅增加2笔大的R乘数的交易到分布中,我实际上把SQN降低了20%多。这就解释得通了,因为它的标准差增加得比平均值要多,但是这不是我之前想要的效果。相反,为了把SQN增加到5,我需要增加较小的盈利交易。

SQN越大,越难再改进。比如,让我们看看对每个系统的净R值、正R与负R之比的改进,如表3-13所示。

随着SQN的增大,期望、胜率、盈利交易与亏损交易的总R值之差、盈利交易与亏损交易的总R值之比都增加了。但是,很明显+R总和与-R总和之比最能反映SQN的大小。当我们为了把SQN从一个较小值开始改进时,+R减-R、+R比-R只需要变化很小的量,但是随着我们的系统变得越来越好,这两个值需要变化很大的量。总而言之,我对高SQN的系统印象更深刻。

全部讨论

2021-03-15 09:33

比较玄虚

2021-03-10 13:47

感谢分享,终于搞清楚如何评估我的交易系统。SQN,是关于风险分布、系统数学期望和交易机会的函数,萨普博士这个公式,让我知道我现在引以为豪的系统竟然是渣渣……