## NO:01

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

转载自  BotVS

作者   Hukybo

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

  1. FMZ发明者量化平台回测机制说明

    原文连接:https://www.fmz.com/digest-topic/4009 大部分策略在实盘之前都需要回测进行验证,FMZ支持部分品种数字货币现货.期货和永续合约,以及商品期货所有品种.但发 ...

  2. [转]基于WorldWind平台的建筑信息模型在GIS中的应用

    1 引言   随着BIM(Building Information Modeling)的不断发展,建筑信息建模的理念贯穿着建筑.结构.施工.运行维护以及拆迁再规划的整个建筑的生命周期,这种理念不仅使得 ...

  3. 国内物联网平台初探(八):中移物联网开放平台OneNet

    平台定位 OneNET是中移物联网有限公司搭建的开放.共赢设备云平台,为各种跨平台物联网应用.行业解决方案,提供简便的云端接入.存储.计算和展现,快速打造物联网产品应用,降低开发成本. IoT Paa ...

  4. 全链路压测平台(Quake)在美团中的实践

    背景 在美团的价值观中,以“客户为中心”被放在一个非常重要的位置,所以我们对服务出现故障越来越不能容忍.特别是目前公司业务正在高速增长阶段,每一次故障对公司来说都是一笔非常不小的损失.而整个IT基础设 ...

  5. 如何配置一个路径,能够既适合Linux平台,又适合Windows平台,可以从这个路径中读取文件

    如何配置一个路径,能够既适合Linux平台,又适合Windows平台,可以从这个路径中读取文件? 目的:就是希望在项目的配置文件中配上一样的路径,不管协作者使用的是什么平台,都能够读到文件. 比如:L ...

  6. 21全志r58m平台的framework在使用过程中会莫名的崩溃掉

    21全志r58m平台的framework在使用过程中会莫名的崩溃掉 2018/10/25 16:20 版本:V1.0 开发板:SC5806 1.系统编译: rootroot@cm88:/home/ww ...

  7. PLUTO平台是由美林数据技术股份有限公司下属西安交大美林数据挖掘研究中心自主研发的一款基于云计算技术架构的数据挖掘产品,产品设计严格遵循国际数据挖掘标准CRISP-DM(跨行业数据挖掘过程标准),具备完备的数据准备、模型构建、模型评估、模型管理、海量数据处理和高纬数据可视化分析能力。

    http://www.meritdata.com.cn/article/90 PLUTO平台是由美林数据技术股份有限公司下属西安交大美林数据挖掘研究中心自主研发的一款基于云计算技术架构的数据挖掘产品, ...

  8. 金融量化分析【day112】:量化平台的使用-初始化函数

    一.set_benchmark - 设置基准 1.实现代码 # 导入函数库 import jqdata #初始化函数,设定基准等等 def initialize(context): set_bench ...

  9. 金融量化分析【day112】:量化平台的使用-下单函数

    order - 按股数下单 1.代码 # 导入函数库 import jqdata #初始化函数,设定基准等等 def initialize(context): set_benchmark('00030 ...

随机推荐

  1. Node.js显示页面

    首先我们先要下载并安装Nodejs,然后进入Node.js中安装supervisor, npm -g install supervisor -g表示全局模式 (无论windows哪一个用户登陆都可以使 ...

  2. 《极客与团队》【PDF】下载

    <极客与团队>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196337 内容简介 软件开发是一项团队运动,人的因素对结果的影响完全 ...

  3. Hibernate学习---基本介绍+作用+配置

    从今天开始重新学习(以前学的太匆忙)Hibernate,这篇文章主要就一下几点进行讲解和说明: Hibernate的基本介绍 Hibernate的作用 Hibernate基本配置 Hibernate的 ...

  4. ES6之Symbol

    ES6中Symbol是为了防止属性名冲突而引入的,是独一无二的.Symbol值是通过Symbol函数生成.Symbol值不能与其他类型的值运算否则会报错且Symbol的值可以转换为字符串或者是布尔值但 ...

  5. The Movie db (TMDB)的API申请

    在共享API TMDB中申请时,一只报错Application summary please elaborate on how you plan to use our API,我是用汉字描述的,开始以 ...

  6. ABP 找不到版本为 (>= 1.0.0-preview1-27891) 的包 Microsoft.AspNetCore.SignalR 错误

    错误描述: 下载ABP模板项目3.4.1的版本(当前最新版本),编译加载nuget包Microsoft.AspNetCore.SignalR时会报如下错误: 严重性     代码         说明 ...

  7. 使用VMware安装linux虚拟机以及相关配置

    前言 使用VMware安装虚拟机这个一般都知道,操作简单.而本文主要讲使用虚拟机的后续相关配置.并记录使用过程中遇到的问题以及一些技巧.本篇文章以后回持续更新的... 安装包准备 VM:12 Linu ...

  8. bzoj 3620: 似乎在梦中见过的样子

    Description "Madoka,不要相信 QB!"伴随着 Homura 的失望地喊叫,Madoka 与 QB 签订了契约. 这是 Modoka 的一个噩梦,也同时是上个轮回 ...

  9. iOS XIB等比例适配

    选择两个视图使其等宽高,再去约束里面就可以设置乘数因子. 简单的一个例子: 要求:设置白色视图的宽度为蓝色视图的一半 1.点击白色视图连线到父视图,选择 Equal Widths     2.选择右边 ...

  10. 改造 Combo Select支持服务器端模糊搜索

    项目中使用了 combo select,为缺省的select增加模糊搜索的功能,一直运行得很好. 1    碰到的问题 但最近碰到一个大数据量的select:初始化加载的数据项有2000多个.我们采用 ...