交易系统设计及其前景

上世纪90年代中期是量化投资型交易系统发展的黄金时期:KeithFitschen、Randy Stucky、Mike Barna等开发了各种交易系统,这些系统大多基于趋势跟踪交易、指数化交易、波动率突破模型或枢轴点(pivot point)分析法。

在此期间,成百上千套程序化交易系统售出:系统供应商注意到购买程序化交易系统的这些投资者希望尽可能远离逆市,即便仍在获利,他们也会在第一次回撤时就停止使用现有程序化交易系统。程序化交易系统供应商的盈利模式非常简单:这些系统被当作软件出售,客户购买并用其交易,直到出现第一次回撤;售价一般在1000至2000美元左右。

供应商清楚地了解到只有10%左右的客户会在回撤之后继续交易;因此,即便市场容量较小,他们也不会考虑市场饱和等因素,继续出售交易系统。如果售出100套系统,每套2000美元,供应商便获得20万美元收入;其中大约只有10人会坚持使用该系统。即便在市场运行较好的时候,供应商可以卖出1000套系统,获得200万美元收入,但100人交易200至300手,对于流动性较高的市场,比如股票指数,其影响几乎可以忽略不计。

尽管对于交易来说,其中很多秘诀是相当宝贵的,但大多数系统供应商都愿意出售完全公开的程序化交易系统,而这也是成功的关键。如果客户不理解交易系统或者无法了解其背后的运作逻辑,就很容易在程序化交易系统表现欠佳时立刻停止使用。目前多数供应商愿意在不披露运作逻辑前提下出租交易系统;尽管对于用户来说,这种方式节省了费用,但通过这些程序化系统交易往往会处于弱势,他们容易更快地放弃亏损的头寸。

回撤/可靠性悖论

很多人都会使用回撤及最大交易亏损作为衡量是否使用该系统进行交易的关键因素,但这些因素往往并不是衡量系统是否可靠的较好的指标。通常,回撤幅度越大或亏损交易金额越大,未来通过这一系统继续获利可能性就越低。

开发一种程序化交易策略,应当把重点放在核心运行逻辑上,而不是市场表现指标。2005年我开发了SimpleHarmony交易系统;该系统由一组趋势跟踪交易系统构成,通过权威交易系统评选杂志《Futures Truth》跟踪验证,这些系统表现位列所有交易系统前10名。

在Simple Harmony基础上改进的TrendHarmony,因为加入了过滤条件,回撤减少40%。例如,它使用机械逻辑来过滤艾略特波浪理论中的第四浪脉冲序列。另一版本则可以使交易员在多种时间框架下交易。但相对原来的版本,使用这两种系统的交易表现相对较差。

另一个经典例子则是国债的跨市场交易系统。我们使用30年期国债及费城公用事业平均指数来观察跨市场差异:

若Bonds< Average(TBond,6),UTY>Average(UTY,20),买入

若Bonds> Average(TBond,6),UTY< Average(UTY,20),卖出

该系统虽然简单但惊人得有效。从1987年9月22日至2014年8月7日,即便计入每笔交易50美元的滑损及佣金,该系统每次交易$250,768.75,胜率在60.3%,平均每笔交易获利$1967.3,最大日内回撤为$22,131.00。尽管回撤略微偏高,但系统自1998年发布以来,整体运行良好。

1998年该交易系统刚推出时,原始系数设为8、18;上述结果是参数设定在6、20时得出的。如果我们在$5,000处加入止损程序,尽管这对利润及回撤的影响有限,但可以使得最大交易亏损从–$16,000收窄至–$5,081。同时,我们仍可以获利$240,000,回撤略高于$24,000;加入止损设置后,交易表现稍有逊色,但就交易系统的稳定性来看,这一设置相当必要。最大交易亏损对交易系统风险调整后的总体收益有重要影响。


程序化交易系统开发者往往热衷于设置更多的过滤条件,如相关性、波动率等,但这么做并不一定能达到预期的效果:即便回溯测试中回撤减小,但这种改善并不一定能在未来持续。

复杂的过滤条件在样本期内可能会很有效:该系统可能与历史高度拟合,但或许并不适用于未来交易;特别地,加入筛选条件后的结果往往在统计上不显著。一个过滤条件可能会剔除30个交易,但实际上,其中可能只有2至3个策略会导致亏损。为了确定过滤条件是否有效可行,首先必须通过统计检验,证明被过滤的交易策略比样本中的交易策略表现要差;假如我们不能证明这一结论,我们就不应认为该过滤条件是有效的。

尽管较简单的系统对于交易大笔资金的基金有用,但他们并不适合那些运作资金较少的交易员。对于交易金额在$20,000至$50,000的交易员,他们更关心回撤及最大交易亏损;这种思路实际并不正确,这些统计数据很可能是一些大幅偏离的异常值,不太会很快再次出现。对于上述国债交易系统,考虑到回撤,可以合理假设账户所需资金$50,000。但这一回撤实际可以追溯到2008至2009年金融危机,而这种事件的发生通常又是几十年难遇的;那么,如果不考虑这种极端情况,$25,000资金账户的假设更为合理。

初始交易回撤则可以从更现实的角度来衡量风险;这一理论是由Keith Fitschen提出的,并运用在TradersStudio这套系统中。在回溯测试中,每天我们都思考这样一个问题:如果从当天开始交易,剩余样本期内我们能承受的最大损失是多少?我们比较以下两个图表:在没有设置$5,000止损程序前提下,该交易策略系统第一次迭代所得的结果(上图“Start trade drawdown”)与加入$5,000止损程序后的结果。

破产风险

破产风险同时考虑了账户规模及交易系统性能。通常,一个回撤较高的交易策略系统,如果能够按照预先设想运行,其破产风险依然较低。在某个时点,系统可能会无法继续交易初始账户规模。比方说,我们将“破产”定义为失去50%账面价值、“破产风险”则是发生这一事件的可能性。对交易金额相对较小的账户来说,当获得资金注入,相关风险下降。

PerryKaulfman在《新交易系统与方法》一书中阐述了破产风险及其计算公式。这一公式源于Ralph Vince的《投资组合管理》,并对P. Griffin在1981年发表的“21点理论”作了总结。总的来说,这一公式可以较好地估计风险。

具体计算公式如下:

这一方法使我们可以得到对破产风险较好的估计。假设我们有一个$35,000的资金账户,交易系统回撤在$22,000至$24,000,并设想我们的国债交易系统没有设置止损程序;最大交易亏损为$16,380,胜负比率为1.21,胜率为60.32%;同时定义70%回撤为“破产”。在这一例子中,我们的破产风险为44.8%,因此,在超过55%的情况下,我们都可以使用该系统针对$35,000的资金账户进行交易。

再考虑另一个交易系统。与上述系统不同,它在$5,000处设置止损程序。尽管胜负比率降至1.18,胜率降至59.4%,但最大交易亏损仅为$5,081。这一变化会对破产风险产生重要影响,使其降至9.42%。这样一来,90%的情况下,我们可以使用该系统对$35,000的资金账户进行交易。此外,对于$25,000的资金账户,这一风险值也仅有18.45%,即:80%的情况下,使用该系统对$35,000的资金账户进行交易,而每年平均花费为$8,800。

需要注意的是,不应过分追求理论风险值的最小化,因为这么做的代价可能是系统的长期可靠性降低;同样,我们不应仅仅关注一个指标,而应当将系统看作一个整体进行评估;利用上述公式计算时,必须认识到交易是一组序列,如果初期该策略已经获利,则需要对破产风险进行修正。

当交易序列中存在自相关性,我们需考虑减少破产风险计算。对大多数趋势跟踪交易系统,我们可以在趋势回撤中交易。下面来看一个日元通道突破策略的例子。

这一程序化交易系统只有在当前股票理论价格曲线位于平均线之下,才进行交易;简单地说,在价格调整一段时间后,我们才开始交易。我们使用1990年1月1日至今的日元走势来测试该系统,并且考虑$50滑损及佣金。

我们的交易系统以30分钟突破线为核心,但运行结果不甚理想。该系统每次交易$45,500,胜率为33.9%,平均每笔交易获利$6,864.06,最大平均交易亏损为$2,937,最大日内回撤为$65,088。

以上是在股票价格曲线低于平均线后进行交易所获得的结果。而我们的程序化交易系统只在股票价格低于130天移动平均线时才进行交易;由于交易表现存在序列相关性,我们得到的结果显然好得多:净利润为$127,587.50,胜率为42.3%,平均每笔交易获利$8,001.67,最大平均交易亏损为$2,743,最大日内回撤为$30,887.50。

鉴于胜负比率及胜率显著提升,破产风险也就随之降低,最大交易亏损大幅减少。如果使用没有设置过滤条件的系统,来交易$35,000的资金账户,破产风险达67.6%,表现欠佳;加入过滤条件后,破产风险迅速降至24.4%的可控水平;可见这一设置相当必要且颇为有效。

但问题是,这一操作理念只在交易表现存在序列相关性时才适用;否则,我们不能凭借任何此类交易表现反馈信号来改进交易系统。

开发适用于不同交易账户规模的程序化交易系统:

开发一个可以使小规模资金账户稳健交易的系统一直以来都是重要的研究课题。通常,这些交易表现不存在序列相关性,因此我们不能使用简单的类似股价走势曲线的反馈信号。


Ralph Vince从数学上定义风险,他称之为“杠杆空间”(leverage space)。这一理论可以告诉我们,12个月后该交易系统能够获利的概率。

Vince最著名的理论莫过于optimalf,但这种资金管理方法存在一定局限性。首先,它不适用于投资组合;其次,它过于激进。Vince便在此基础上进行改进,最终提出leverage space这一理论,其中,他定义了“拐点”,即:收益递减,但optimalf风险值以快于收益的增速递增。

一般有两个拐点:一个在最优顶点的左侧,另一个则在右侧;而我们关心的是左侧的拐点,因为根据这一拐点设计的策略相对稳健:事实表明,拐点是最佳的风险调整值;由于我们的策略是基于左侧的optimalf,如果系统表现稍稍偏离预期,最坏的情况是optimalf位于峰值或稍稍偏右。该风险值是基于近期的交易序列,因此可以通过实时数据计算得到,并根据交易分布及相关性作出相应调整。


利用拐点及optimalf作为交易系统开启与否的条件,可以使系统得以为规模较小的资金账户交易。在撰写这篇文章的过程中,我咨询了Vince,他提出了以下想法:首先,定义两个时间窗口——长期时间窗口A与短期时间窗口B;其次,跟踪A与B的optimalf以及B的左侧拐点——当B的optimalf大于或等于A,停止交易;相反,当B的optimalf小于或等于A的左侧拐点开始交易。相对根据股票价格曲线反馈信号进行交易的系统,上述方法适用性更广,因为它不建立在交易表现相关的假设基础上。

程序化交易系统开发趋势已经发生改变:原本拥有大规模资金账户的交易员已被更多小规模资金账户的交易员取代;因此,开发出可以使小规模资金账户稳健交易的系统成为未来一大挑战;其中,只有开发更多新的资金管理方法,才能使我们得以为各种资金规模的账户定义破产风险。

程序化交易系统最好能够充分披露运作逻辑,被客户所理解。交易系统供应商应当提供更好的服务,理解客户面临的风险;其中,最重要的是,在理解交易员现有资源的基础上,为他们可能面临的各种风险提供多种解决方案。

拓展阅读:

1.一个量化策略师的自白(好文强烈推荐)

2.市面上经典的量化交易策略都在这里了!(源码)

3.期货/股票数据大全查询(历史/实时/Tick/财务等)

4.干货| 量化金融经典理论、重要模型、发展简史大全

5.从量化到高频交易,不可不读的五本书

6.高频交易四大派系大揭秘

发布了1 篇原创文章 · 获赞 3 · 访问量 1708

猜你喜欢

转载自blog.csdn.net/zk168_net/article/details/103781282