分享

Python量化策略开发框架,固定的套路、突破策略的福音

 追梦文库 2020-09-17

点及财经,股票期货专业投机者。

Python量化策略开发框架,固定的套路、突破策略的福音

前言

策略的触发方式,可以分为两种。一种是条件满足,在下一根k线开仓,比如均线金叉死叉;另一种是即时突破,比如当前最高价突破前高后,开仓。

Python量化策略开发框架,固定的套路、突破策略的福音

这两种开仓方式中,第一种在天勤量化中比较简单,直接用过去的均线值来判断是否金叉死叉。但是第二种如果处理不好,会造成在同一根k线频繁开仓。

Python量化策略开发框架,固定的套路、突破策略的福音

这就是本期作者所要分享的内容,虽然内容比较简单,但是我觉得有必要给大家分享出来,毕竟刚接触天勤或者python语言的可能稍微有点迷。

作者将借助天勤量化平台,给出一个相对简单的一个框架,读者可以在此基础上进行改进添加自己所需要的功能。

Python量化策略开发框架。

1.首先,读者需要按照tqsdk包才能够正常使用,

下载的方式有两种:

  • pip install tqsdk。这种下载方式,经常报错并且很慢。
  • 国内源的方式安装(推荐)。

pip install tqsdk -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

如下图所示:

Python量化策略开发框架,固定的套路、突破策略的福音

安装完成后,导入tqsdk相关的模块,就可以开始下面的策略开发框架了。

2.策略开发框架思路解析。

在文章开头,作者就已经说到了,策略的开仓方式有两种。

第二种就是即时突破,即用当前的最新价突破前一根k线的最高价,这样的方式如果处理不当很容易造成策略,平仓后立刻开仓或在当根k线内频繁开平仓。

Python量化策略开发框架,固定的套路、突破策略的福音

原因是,如果你采用tick或quote来触发的话,回测时这两个序列在k线未结束时很可能在k线内来回触碰你的开平仓条件,导致频繁开仓。

因此,需要加入一个控制器,将策略的运行按一定的顺序进行执行。

控制器如下图所示:

Python量化策略开发框架,固定的套路、突破策略的福音

上图演示了策略在运行整个过程,我们可以在k线更新阶段加入跟踪止盈和加减仓模块。

3.Python量化策略开发框架代码实现。

这个策略是之前已经开发出来了的,今天主要是借助这次机会优化一下,整理一个适合我自己的一个策略开发框架,大家觉得有用的话可以借鉴一下。

1.初始化设置及技术指标的计算。

如下图所示:

Python量化策略开发框架,固定的套路、突破策略的福音

2.策略的开平仓操作。

根据上面的控制流程,代码编写如下:

Python量化策略开发框架,固定的套路、突破策略的福音

上图中,更新的数据有两部分,一部分是K线数据(跟踪止盈、资金管理、控制器赋值等。),另一部分是tick数据(开平仓)。

其中:

(1)跟踪止盈、资金管理、控制器赋值等,在这个地方进行编写。

如下图所示:

Python量化策略开发框架,固定的套路、突破策略的福音

(2)每次开仓或平仓之后,将flag赋值为False。需要等待K线更新后方可继续执行tick序列下的动作。

如下图所示:

Python量化策略开发框架,固定的套路、突破策略的福音

flag赋值为False后,在k线更新部分将其设置为True,就可以继续执行下面的tick了。

小结。

以上就是整个策略开发的框架,仅供读者参考。

最后

为了方便策略开发,作者在本期分享了关于即时突破策略时所用的策略框架,读者可以根据自己的策略需求进行修改。

文章思路及策略代码仅供学习,切勿直接实盘。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多