zoukankan      html  css  js  c++  java
  • 【数量技术宅|量化投资策略系列分享】多周期共振交易策略

    更多精彩内容,欢迎关注公众号:数量技术宅。想要获取本期分享的完整策略代码,请加技术宅微信:sljsz01

    多周期共振,提高策略胜率

    趋势策略是量化投资策略中一个重要的类别,趋势策略有着低胜率、高盈亏比的特征,低胜率意味着当行情长期不出现趋势,策略会面临较大的回撤幅度、较长的回撤周期,容易让策略交易者产生无法继续执行策略的念头。那么,如何可以提高趋势策略的胜率,使其在震荡行情尽可能少开仓、甚至不开仓,我们这里引进多周期共振的方法。

    多周期共振,理论依据是自然界的“分形理论”。我们把该理论应用到K线图表上,市场不同级别的K线,如果抹去K线周期,很难看出所属的K线周期;根据分形理论,大小周期K线的属性是极其相似的,同样的,他们都具有识别趋势的功能。

    因此,当大、小K线周期都提示市场具有趋势行情的时候,此时趋势延续的概率也将更大,而我们在开发策略中需要做的,就是实现多周期共振信号的编写。

    日线与其他日内周期共振的策略开发

    在本文的分享中,我们将采用一个支持策略编写开发、测试、交易的三方平台:交易开拓者(TB)来为大家实现多周期共振的策略思路。我们首先来看日线与其他日内分钟周期共振的策略开发,我们以日内想要交易的分钟周期作为主周期,所以此时需要获取的是日线这个非主周期的K线数据,并计算相应的指标。

    日线的跨周期数据获取比较便捷,TB为我们直接定义了日线的跨周期函数,可以调用日线的开、高、低、收等常用K线数据。日线收盘价用法如下,可以用CloseD(N)的方式获得。日线开盘价、最高价、最低价的数据获取方式同理,分别是OpenD(N)、HighD(N)、LowD(N)。

    我们以著名的技术指标Keltner通道为例,演示如何在分钟级别的主周期,利用TB的日线跨周期函数来计算日线的Keltner通道。先通过循环依次获取日线周期前N天的收盘价,计算辅助指标SumValue(日线收盘价之和)以及SumTR(日线真实波幅之和),最后计算Keltner通道的上下轨。

    日线Keltner通道的效果展示:由于日线数据在对应的分钟级别K线周期上,不是连续变化的,所以我们看到的Keltner通道是呈现一小段一小段折线形式变化的。

    任意K线级别的多周期共振

    如果我们不仅需要日线级别周期,还需要其他更精细的分钟级别周期,来进行共振的确认,此时,我们就需要自己编写跨周期获取K线数据的函数了,在本文中,技术宅将分享给大家一个自编的计算任意K线级别跨周期K线的函数。

    这个函数有两个参数:一是目标时间周期,支持任意跨周期时间的获取,月、日、小时、任意分钟;二是目标时间周期BAR偏移,一般情况下我们选1,即当前主周期能获取到的历史最近1个跨周期K线的数据,避免未来数据。该函数支持输出跨周期K线的所有数据:开、高、低、收、成交、持仓等数据。

    接下来是跨周期数据获取的核心实现部分,我们首先需要在每根小周期的K线上,记录它所属的大时间周期(跨周期)下的开高低收等值的变化;接下来,我们需要把在大的时间周期级别上属于同一根K线的开高低收等数据,记录在这一组小周期K线的最后一根K线上;最后,将相应的K线数据作为引用参数返回,就能得到任意跨周期的K线数据了。

    自编的跨周期函数,它的使用方法很简单,我们可以通过调用跨周期函数,进一步计算所需要的跨周期技术指标,我们在此处以简单移动平均线为例。只需要设定拟跨的K线周期、偏移、均线计算周期,首先调用跨周期K线数据获取函数得到跨周期的收盘价,再调用求和函数并除以均线计算周期,就能得到跨周期计算的均线指标了。

    我们举一个简单的任意跨周期均线指标的计算示例,此处我们以5分钟K线作为主周期,拟计算30分钟跨周期K线的均线,均线的计算周期为20、60周期的双均线,并展示效果。有了前述函数的铺垫,代码实现变得相当简单。

    再来看一下跨周期均线的绘图结果,完美实现了跨周期指标的计算和呈现。

    一个多周期共振的策略实例

    现在,有了计算任意跨周期K线、跨周期指标的函数,我们就可以根据策略的思路,轻松构建多周期共振的交易策略了。在文末,我们为大家展示一个多周期共振的交易策略实例,该示例用到了多周期共振的思路,以及我们实现多周期共振的函数。

    我们按照等权重,对目前期货市场所有交易活跃的品种,应用该策略做了组合测试。不刻意挑选品种,是为避免选品种带来的过度拟合,验证多周期共振逻辑是否真正有效

    从回测结果来看,总体业绩比较稳健的向上,不同品种互有盈亏。我们没有刻意筛选品种,也没有对单个品种做任何的参数调优,已经充分说明策略思路是有效的。

    如果你想要获取上述分享的策略欢迎加小编微信(sljsz01),与我交流

     

     

     


    往期干货分享推荐阅读

    【数量技术宅|金融数据分析系列分享】为什么中证500(IC)是最适合长期做多的指数

    商品现货数据不好拿?商品季节性难跟踪?一键解决没烦恼的Python爬虫分享

    【数量技术宅|金融数据分析系列分享】如何正确抄底商品期货、大宗商品

    【数量技术宅|量化投资策略系列分享】股指期货IF分钟波动率统计策略

    【数量技术宅 | Python爬虫系列分享】实时监控股市重大公告的Python爬虫

  • 相关阅读:
    第八周上机练习
    第七周作业
    第七周上机作业
    第六周作业
    第六周上机作业
    第五周上机作业
    第四周作业
    第四周上机练习
    第三周作业
    第一次上机作业
  • 原文地址:https://www.cnblogs.com/sljsz/p/13835394.html
Copyright © 2011-2022 走看看