转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”

转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”
## NO:01

在投资行业一直有一个说法,靠交易盈利是所有赚钱方式中最难的一种,以至于有人戏谑称交易为投资领域的搬砖工作。

为了提升交易效率、挖掘潜在投资机会,量化交易伴随着信息技术的发展大行其道,在**算法实现**、**信号分发**、**智能下单**、**智能风控**、**损益分析**等方面为交易者提供了巨大的便利。

量化交易的类别众多,但不管哪个形式的量化交易产品,其灵魂就是交易模型。在通俗的条件下,模型可以理解为定义了交易条件的一系列规则,模型的好坏决定了量化交易能否实现最终的盈利。

量化交易者必须学会从纷繁、复杂、多样的模型中挑选出合适的,并投入生产。因此,**构建区分模型好坏的评价体系便十分重要**。

## NO:02
无论是实盘交易数据的记录,还是采用历史数据进行回溯(Back-Testing)的回测报告,模型的优劣都是通过对交易情况的统计来进行评价。

而问题的关键在于,到底需要通过哪些统计数据进行比较?先来看一个例子:如下图,假设在同一时间周期的测试中得到以下两组数据,我们能从中判定哪一个模型表现更优秀么?

转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”

答案是,不能。**评价体系的片面性将导致量化交易系统走向绝境**。

## NO:03
交易系统必须能通过历史回测才可以投入使用。无法通过历史回测的交易系统不可能在实际交易中获利。历史回测是交易系统投入实盘的必要前置环节。

**能通过历史回测的交易系统不一定是好用的交易系统,但不能通过历史回测,则一定不是好用的交易系统**。一般而言,我们需要从**稳定性**、**可持续性**、判断是否正期望等角度去分析绩效报告。

转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”

如上图,但凡接触过量化的交易者,可能见过这些连篇冗长、晦涩难懂的回测绩效各项数据术语,在这些绩效数据中,甚至有许多数据都是互相矛盾的。好多量化初学者,反而会疑惑,到底要着重看哪些数据?

## NO:04
**第一,最大资产回撤比率(Max Drawdown)**

转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”

最大回撤计算公式如上,对于模型而言,最大回撤(Max Drawdown)是一个非常重要的风险指标,这个指标甚至比波动率还要重要。在回测中看到的最大回撤也在一定意义上代表你开仓后可能出现的最糟糕的状况。

从数学角度看,资金亏损20%则需要剩余资金盈利25%,才可以恢复原来的资金规模,如果亏损50%,则需要剩余资金盈利100%,才可以恢复亏损前的资金规模。

那么毫无疑问亏损的幅度越大,恢复到初始资金规模的可能性就越小,难度也就越大。资金向上的利润空间是无限的,向下亏损的空间却是有限的,触底出局的可能性也就越大。

转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”

不管怎么定义,至少这两点是目前的主流认识:

**1、最大回撤越小越好;**

**2、回撤和风险成正比,回撤越大,风险越大,回撤越小,风险越小。**

## NO:05
**第二、调整后收益风险比(RAROC)**

很多人对这个概念较陌生,事实上,**调整后收益风险比这个指标是专业玩家与业余玩家的分水岭**。这也是投行、大型基金、职业交易员非常好的评测工具,而且是全球金融领域中通用的考核标准。

转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”

**在投资中不光只看利润,更要看在获得这些利润的时候,付出了多大的风险**。一般来说,资产的风险和收益是成正比的。这意味着当模型在收益率上傲视群雄,高歌猛进的时候,其风光的背后可能隐藏着还未爆发的风险。

例如,模型中的开平仓条件或加减仓条件,在上涨时有更高的收益,可一旦出现下跌,就会把损失成倍放大,造成巨大损失。何况,**上涨和下跌具有相当大的不对称影响。**

很多经验丰富的量化交易者愿意为了降低风险牺牲一部分收益,在这种情况下,经过风险调整后的收益更具有参考价值。所以在回测中,风险高、波动大的模型,即使收益较高,也不一定是好的模型。

转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”

存款安全,但年收益只有2%。市场可以让你几天赚上50%,也可以让你几天就亏50%。交易这么多年,我自己有一个非常重要的理念就是:**正视风险,风险和收益从来不会孤立存在,交易如同出海打渔,你想打渔,却又不想承担大海的风险,是不可能的。过于保守和过于激进,事实上是走入了两个极端**。设计策略模型也是如此。

## NO:06
**第三、交易次数。**

你总不能拿着几个月的回测绩效,来证明这个模型。如果回测数据过少,那么回测结果就有可能具有偶然性,要不就是参数偶然,要不就是行情偶然等等。另外较长的历史数据,也能过滤掉部分**幸存者偏差**。

转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”

一般来讲,对于国内的股票、商品,应该回测5年以上的数据,对于新上市的品种,至少也要回测3年。对于上市较早的品种或国际市场的黄金、美元指数等商品,则应至少回测一个牛熊周期,一般应该在10年–15年以上。回测的期间足够长久,回测的成绩才足够可靠。对于不能满足这个要求的品种,则应在开仓时将R值适当加权处理,主动降低风险暴露。

## NO:07
**第四、平均利润。**

**平均利润这个指标数据,是看似普通,实则非常重要的一项**。它的计算方式也非常简单:净利润 / 交易次数。毫不夸张的说,它是分辨那些回测绩效外表光鲜的照妖镜。如下图,如果这个策略能赚钱,那就不正常了:

转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”
转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”

如果你看到这个策略回测绩效,可能会有个疑问,这种近乎完美的策略,不用岂不可惜?且慢!请仔细看第二张图的平均利润,只有17,也就是平均交易一次只赚17元。

就拿期货市场大多数一跳为10元的品种来说,但凡做过实盘交易的人就能明白什么意思。在实盘中别说一跳了,十跳八跳都有可能。两跳三跳都是家常便饭。

## NO:08
**第五、胜率。**

**胜率从来都不是单独存在的,或者说单独拿胜率说问题,是不切实际的**。如果你在恰好的行情用上恰好的模型,胜率达到80%也毫不奇怪,但这毫无意义。

转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”

**价格不是张就是跌,否则就是不动。如果时间足够长,你会发现,价格上涨和下跌的概率各是50%**。不管你用哪种类型的策略模型,如果回测时胜率超过50%,你就要小心了。从数学和物理学的角度看,这是不可能的。

## NO:09
**第六、详细权益曲线( Equity Curve )**

所谓一张图胜过千言万语,详细权益曲线 ( Equity Curve ) 是从第一笔进场的时间点一直到图表的最后一根bar的时间点结束。它是交易的实时资金曲线,说它是实时是因为它会将每根bar上的浮动盈亏计算在内。

转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”

详细权益曲线反映的就是帐户净值的变化,是最直观的评量工具,可以一眼就对该策略亏损获利状况及损益的波动/平滑程度有概略的掌握。不过策略绩效报告这张图不仅胜过千言万语,更迷惑千万信众。另外永远不要看平仓权益曲线。

## NO:10
**第七、年化收益**

年化收益是一个比较争议的指标数据,有人认为它是给外行人看的,并不具备参考意义。首先,**获得盈利是模型被选用的前提,或者说模型回报本身必须是正期望值的**。

转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”

**你可以有无数个100%的收益,但是你最多只能承受一个100%**。年化收益率,和真实的收益率(持有期收益率)的差距可能是很大的,有些时候大到超出我们想象。

## NO:11
最后,有一点需要说明的是,**十全十美的回测绩效并不存在**,除了测试数据本身的问题以外,模型的使用方还有可能面临更多的陷阱,从参数优化到成交设计都有可能与实际运行的情况不同。

更重要的是,执行层面的情绪问题是模型投入生产的X因素,实盘交易不可能在“情绪真空”的环境中运行,厚尾现象是每一个程序化交易者必须时刻警惕的。

转自 BotVS 量化平台社区 --- 如何从绩效报告中分辨出“好模型 or 坏模型”

转载自  BotVS

作者   Hukybo

上一篇:Java中的集合概述


下一篇:windows上mysql命令行的配置