zoukankan      html  css  js  c++  java
  • 【转】动态复权(真实价格)模式原理详解!

    动态复权(真实价格)模式原理详解!
     
     

    如果没有意外,你之前一直在使用前复权价格做回测,使用前复权价格回测存在未来函数(未卜先知,提前使用未来的数据),因此你的回测结果都是错的。

    有没有搞错.jpg

    Tell me why?

    使用前复权价格,不论回测开始时间、结束时间是何时,使用的数据都是基于今天(回测当天)或某个时间的复权因子进行前复权获得的价格,因此使用前复权价格进行回测,回测结果肯定有问题。示意图如下:

    传统回测模式

    不论历史时刻1或历史时刻2,拿到的数据都是基于未来某一天的前复权价格,使用这样的数据存在未来函数(未来函数是回测最大的敌人之一)

    真实价格回测(动态复权回测)是如何解决这个问题的?

    开启真实价格回测

    使用真实价格回测模式,回测到历史时刻1,使用历史时刻1的真实价格撮合成交;如果需要复权,会使用的历史时刻1的复权因子,对“历史时刻1"之前的价格进行前复权,这样有效避免了未来函数,因为回测全程都不可能使用未来的数据。

    enter image description here

    你可能没有看懂,下面举个例子:

    p3

    如现有一只股票,股价一直没有波动,只进行了拆分。

    • 前复权回测模式

      • 站在“历史时刻3”看历史数据:因为使用今天的复权因子,“历史时刻3”之前的股价均为2;
      • 站在“历史时刻2”看历史数据:因为使用今天的复权因子,“历史时刻3”的股价是2;
      • 站在“历史时刻1”看历史数据,因为使用今天的复权因子,“历史时刻2”和“历史时刻3”的股价是2;
    • 真实价格回测模式

      • 站在“历史时刻3”看历史数据:因为使用历史时刻3的复权因子,“历史时刻3”之前的股价均为8
      • 站在“历史时刻2”看历史数据:因为使用历史时刻2的复权因子,“历史时刻3”的股价是4;
      • 站在“历史时刻1”看历史数据:因为使用历史时刻1的复权因子,“历史时刻2”和“历史时刻3”的股价是2;

    因为使用了未来的复权因子,前复权回测模式,回测过程中使用的价格是不正确的。

    下面再举一个真实的例子,比较一下前复权回测模式和真实价格回测模式的区别

    GL_pre

    GL_pre

    2007-01-30,波导股份的真实股价(绿色曲线)是低于格力电器(黑色曲线)的;但使用前复权价格,波导股份的价格会高于格力电器。
    采用最简单的交易思路,购买股价低的股票并持有,前复权模式会买入格力电器,真实价格回测模式会买入波导股份。

    下面我们使用JoinQuant进行回测,根据2007-01-30当天格力电器与波导股份的收盘价,买入低价位股票并持有到现在。回测结果如下所示:

    前复权回测模式的回测结果:
    初始资金:100,000
    策略收益:776.54%
    沪深300收益:21.98%
    最大回撤:64.98%

    gbzs

    真实价格回测模式的回测结果:
    初始资金:100,000
    策略收益:78.35%
    沪深300收益:21.98%
    最大回撤:79.78%

    kqzs

    由回测结果不难看出,前复权回测模式因为存在未来函数,结果是不准确的,使用前复权回测模式可能会让你获得非常高的收益,但实盘时,效果却非常一般;

    如果你想要获得正确的回测结果,请使用真实价格回测。

    enter image description here

    作为最专业的量化交易平台,JoinQuant全球首推真实价格回测,从此,再也不用担心回测结果不准确了。

    如何开启真实价格回测功能?

    其实很简单,只需一步即可搞定:

    在initialize中使用set_option即可,如下所示:

    def initialize(context):
        set_option('use_real_price', True)
  • 相关阅读:
    数据库常用连接字符串(网址)
    WPF布局(2)控件拖动
    TreeView templete(code project)
    寄宿(host)和应用程序域(appdomain)
    C#DSN操作
    WPF布局(3)坐标(转)
    C#注册表操作
    程序集加载与反射
    关于RichTextBox 及 RTF格式文件的保存
    Ajax实现不刷屏的前提下实现页面定时刷新
  • 原文地址:https://www.cnblogs.com/xuyuan77/p/7802349.html
Copyright © 2011-2022 走看看