金十交易学院

5.2 如何做量化交易回测

不想错过精彩课程?一键“订阅”,轻松学习!




大家好,欢迎来到金十交易学院《智能量化交易》课程。


摘要:回测的意义和重要性已毋庸置疑,在进行量化回测时,应该尽最大可能让策略处于历史的真实环境中,如果忽略历史环境中的细节,可能会导致整个量化回测是无效的。本篇将为大家讲解如何做量化交易回测。


回测就相当于数据回放,通过回放历史K线数据,并进行模拟真实的交易规则进行买卖,最终汇总一个时间段内的夏普比率、最大回撤率、年化收益率、资金曲线等数据。目前有很多软件都能做到回测,比如品种很全的文华财经、可以灵活定制的VNPY等等。


发明者量化作为一款商用量化交易软件,自带高性能回测引擎,采用for-loop(轮询)回测框架,进行向量化计算,速度更快。并且统一回测和实盘的代码,部分解决“回测易、实盘难”的困境。


一、回测界面介绍


第一步


我们以发明者量化的麦语言策略为例,打开发明者量化交易工具的官网。依次点击控制中心、策略库、选择一个策略、模拟回测,进入到如下页面:



在回测配置界面,可以根据自己的实际需求定制。如:设置回测时间,K线周期,数据种类(模拟级别数据或实盘级别数据。相比之下模拟级别数据回测速度更快,实盘级别数据回测更精准)。另外,还可以设置回测时的手续费以及账户初始资金等等。


第二步


点击麦语言交易类库,首先是交易设置标签,发明者量化交易工具中的麦语言策略有两种回测执行方式,即:收盘价模型实时价模型。收盘价模型指当前K线走完才执行模型,在下根K线开始的时候执行交易。实时价模型指的是每次价格变动都执行一次模型,当交易信号成立时,就立即交易。如下图:



默认开仓手数是指回测时开平仓数量,最大单次交易下单量就是单笔交易委托给回测引擎的最大开平仓数量。实盘的成交价位与预设的成交价位间出现偏移,这种偏移一般是向不利于交易者的方向移动,导致交易出现额外的损失,所以加入滑点是必须的,国内商品期货一般是加入1跳~2跳,甚至更多,来模拟真实的交易环境。


第三步


期货选项中填入要回测的合约品种,如rb000或rb888。实盘选项主要用于实盘交易,在回测中保持默认设置即可。如果自动恢复进度点击为true,那么当策略在实盘运行中停止机器人后,重启机器人会自动恢复之前的信号位置,而不用再重新计算信号。设置下单重试次数默认为20,当下单失败后,会尝试重新下单。网络轮询间隔就是机器人每隔段时间去执行一次策略代码。



第四步


现货交易选项主要针对数字货币交易,在回测中保持默认设置即可。可以指定单笔交易量、最小交易量、定价货币精度、交易品种精度、手续费、账户同步时间、盈亏统计间隔等,另外对于个别数字货币交易所,还可以设置杠杆倍数以及其他相关设置。



二、策略回测


在回测之前,先确定好你的交易策略,这里我们以恒温器 Thermostat 策略为例,这种策略会根据市场状态,在趋势行情中采用趋势策略,在震荡行情中采用震荡策略。源代码如下图(也可以到发明者量化官网的策略广场直接下载):



在模拟回测界面,配置好回测设置后,直接点击开始回测按钮,几十秒之后回测结果即刻呈现。在回测日志中,记录了回测用时多少秒,日志总数以及交易次数。其中账户信息打印了策略回测最终绩效结果:平均盈亏、持仓盈亏、保证金、手续费以及预估收益等。



状态信息栏中则记录了交易品种、持仓量、持仓价格、最新价格、上次信号种类、持仓后的最高价和最低价、更新次数和时间以及资金信息。另外在浮动盈亏标签中,则展示了账户的详细资金曲线,还包括常用的绩效指标:收益率、年化收益率、夏普比率、年化波动率、最大回撤率,基本可以满足绝大多数的用户需求。


其中,最为重要的绩效指标就是:夏普比率。它是同时对收益与风险加以考虑的综合指标,也是衡量一个基金产品的重要参考指标,通俗来讲,就是你每挣1块钱承担了多少钱的风险,所以夏普比率的值是越高越好。


年化波动率顾名思义就是日波动率乘于每年的交易日数,它是衡量基金的风险,但绝对不是全部风险。比如策略A波动率较大,但一直波动向上,收益率良好,策略B波动率很小,但一直横着不动,我们能说策略B优于策略A吗?如下图策略A:



最后,在日志信息栏中,详细记录了回测时每一笔交易的撮合情况,包括交易的具体时间、交易所、买卖以及开仓平仓类型、回测引擎撮合的成交价格、交易数量以及打印信息等等。



回测之后


很多时候,甚至绝大多数情况下,回测的结果都会与自己的期望,相差甚远。毕竟一个长期持续稳定盈利的策略,不是那么容易就能得到的,这需要你对市场认知能力。


如果你的策略回测结果是亏钱的,也不要灰心,这其实是很正常的。先看一下策略逻辑是不是写错了,是不是采用了极端参数,是不是开平仓条件过多等等,必要时也可以从另一个角度重新审视自己的交易策略和交易理念。


如果你的策略回测结果非常好,资金曲线非常完美,夏普比率超过1甚至更多。也先别急着高兴,遇到这种情况,大部分是利用了未来函数、或者偷价、或者过度拟合、或者没有设置滑点等等,可以利用样本外数据和仿真实盘交易,来排除这些问题。



下节预告:如何读懂策略回测绩效报告


课后习题

1、试着复制本节中的策略,并回测绩效报告

2、根据自己的交易经验,尝试改进并优化本节中的策略


最后给大家一个温馨小提示:在课程和直播页面,点击“订阅”按钮,就可以及时接收提醒,不错过课程和直播的精彩内容!


金十交易学院,8点准时更新


0人喜欢
2019-04-10 08:00:00