zoukankan      html  css  js  c++  java
  • WeQuant教程—1.3 利用回测工具降低交易风险

    量化系统投入实际使用之前,人们会希望提前测试交易的效果。这个期间往往涉及代码的改动和参数的调整。最常见的做法是将历史数据输入量化系统,让量化系统根据既定的交易逻辑进行操作,观察和分析交易结果,找到问题所在,调整量化系统,然后以此循环,直到效果达到预期为止。

    该过程在业界被称为回测。回测是量化工作者常见的工作内容之一。

    Note

    很遗憾的是,回测跟实盘交易永远存在差距,再好的系统也无法回避。现在市面上有几个开源的回测引擎框架,虽然减少了回测的开发工作量,但或多或少都存在回测的误差。在此,我们优先介绍概念,其次介绍一些常见的规避或者补偿误差的方法,供读者在实践中使用。

    回测工具有哪些功能?

    历史交易过程和结果的模拟

    顾名思义,回测当然是回顾一段时间,用既定的交易策略,向模拟的交易平台提交交易请求,然后统计交易的结果。

    这样,一个策略到底能不能运作,是不是像想象中的那样运作(实战中,策略辞不达意的情况概率很大),运作的效果在特定的行情下是不是有预期的效果(不是所有策略都适用于所有行情,显而易见的事情),一目了然。

    自动记账

    如果每一笔交易都要自己手动记录交易结果,计算扣费,遇到限制条件还要进行异常处理,这个工作量是及其繁琐和容易出错的。一般来说,回测会有专门的记账功能,确保量化系统的交易请求能被正确处理。

    回报分析

    为了辅助回测人员对自身的策略效果建立一个客观的认识,回测往往附带一套指标系统,包括但不限于回报率、alpha、beta、夏普率、最大回撤等,通过这些指标,一个策略的收益情况、收益的相对好坏、收益的稳定和波动程度、最坏情况等,都可以得到一个参考,在常规的理解里,这些指标在实盘中依然有同样的表现水准(严格数学证明略)。

    当然,为了分析的方便,回测还会提供基准参考与图形可视化功能,把市场的平均回报连同策略的回报按时间顺序用图形展示,能极大地具象化策略运作情况。

    怎么使用回测工具?

    回测工具有很多,这里只介绍我们推荐的相对简单可靠的方式。

    回测工具与量化系统高度集成。在理想的情况下(参照我们设计的简单的量化系统),用户可以原样照搬量化系统里面的策略内容,并添加少量的系统变量设置,然后回测工具自动装载策略,加载回测情报系统,对回测的交易系统进行操作,记账。

    # 回测系统示例伪代码开始 { 读取用户设置(时长、品种、误差系数) 初始化程序(策略系统,回测数据系统,模拟交易记账系统) 循环:回测数据系统.从第一条到最后一条.执行 { 策略系统.读取历史数据 策略系统.计算信号 如果(策略系统.有交易指令)执行 { 模拟交易记账系统.执行交易 } } 打印分析结果}

    这跟量化系统的执行逻辑非常相似,差别是:

    1. 情报系统是实时在更新,而回测数据系统提取历史数据;
    2. 交易系统会向交易平台提交交易请求,模拟交易记账系统则是在本地进行模拟撮合交易,记录结果;
    3. 回测系统有专门的分析结果。

    有了这样的系统,重复地运行,不断地调整参数,找到你认为可以接受的结果为止,回测也不是那么难,对不对?

    所以到底需要准备什么才能进行回测呢?

    答:完整且规范的数据源,自动记账程序,和你想测试的策略。

    可是这几件都不是省油的灯,要自己重头写一遍,基本就是《量化交易从入门到放弃》的故事原本了。

    如果你一直读到这里,还对自己完成这样的任务抱有期待,WeQuant佩服你的坚持。

    新手做回测时容易犯什么样的错误?

    这里面学问很多,主要围绕如何降低回测的系统与人为误差,回头有机会再慢慢更新。

    结语

    回测是调优你的量化系统的比较有效的手段,不过有效的回测并不容易,也不是所有的场景都能通过回测解决。对于回测可以解决的问题,我们设计了一套简单的标准和配套工具,降低大家使用回测的门槛。请阅读下一篇。

  • 相关阅读:
    C语言 realloc为什么要有返回值,realloc返回值具体解释/(解决随意长度字符串输入问题)。
    opencv中的vs框架中的Blob Tracking Tests的中文注释。
    Java实现 蓝桥杯VIP 算法提高 棋盘多项式
    Java实现 蓝桥杯VIP 算法提高 棋盘多项式
    Java实现 蓝桥杯VIP 算法提高 棋盘多项式
    Java实现 蓝桥杯VIP 算法提高 棋盘多项式
    Java实现 蓝桥杯VIP 算法提高 分苹果
    Java实现 蓝桥杯VIP 算法提高 分苹果
    Java实现 蓝桥杯VIP 算法提高 分苹果
    Java实现 蓝桥杯VIP 算法提高 分苹果
  • 原文地址:https://www.cnblogs.com/bitquant/p/11560318.html
Copyright © 2011-2022 走看看