Python量化策略开发框架,固定的套路、突破策略的福音
点及财经 , 股票期货专业投机者 。
文章插图
前言策略的触发方式 , 可以分为两种 。 一种是条件满足 , 在下一根k线开仓 , 比如均线金叉死叉;另一种是即时突破 , 比如当前最高价突破前高后 , 开仓 。
文章插图
这两种开仓方式中 , 第一种在天勤量化中比较简单 , 直接用过去的均线值来判断是否金叉死叉 。 但是第二种如果处理不好 , 会造成在同一根k线频繁开仓 。
文章插图
这就是本期作者所要分享的内容 , 虽然内容比较简单 , 但是我觉得有必要给大家分享出来 , 毕竟刚接触天勤或者python语言的可能稍微有点迷 。
作者将借助天勤量化平台 , 给出一个相对简单的一个框架 , 读者可以在此基础上进行改进添加自己所需要的功能 。
Python量化策略开发框架 。 1.首先 , 读者需要按照tqsdk包才能够正常使用 ,
下载的方式有两种:
- pip install tqsdk 。 这种下载方式 , 经常报错并且很慢 。
- 国内源的方式安装(推荐) 。
如下图所示:
文章插图安装完成后 , 导入tqsdk相关的模块 , 就可以开始下面的策略开发框架了 。
2.策略开发框架思路解析 。
【Python量化策略开发框架,固定的套路、突破策略的福音】在文章开头 , 作者就已经说到了 , 策略的开仓方式有两种 。
第二种就是即时突破 , 即用当前的最新价突破前一根k线的最高价 , 这样的方式如果处理不当很容易造成策略 , 平仓后立刻开仓或在当根k线内频繁开平仓 。
文章插图原因是 , 如果你采用tick或quote来触发的话 , 回测时这两个序列在k线未结束时很可能在k线内来回触碰你的开平仓条件 , 导致频繁开仓 。
因此 , 需要加入一个控制器 , 将策略的运行按一定的顺序进行执行 。
控制器如下图所示:
文章插图上图演示了策略在运行整个过程 , 我们可以在k线更新阶段加入跟踪止盈和加减仓模块 。
3.Python量化策略开发框架代码实现 。
这个策略是之前已经开发出来了的 , 今天主要是借助这次机会优化一下 , 整理一个适合我自己的一个策略开发框架 , 大家觉得有用的话可以借鉴一下 。
1.初始化设置及技术指标的计算 。
如下图所示:
文章插图2.策略的开平仓操作 。
根据上面的控制流程 , 代码编写如下:
文章插图上图中 , 更新的数据有两部分 , 一部分是K线数据(跟踪止盈、资金管理、控制器赋值等 。 ) , 另一部分是tick数据(开平仓) 。
其中:
(1)跟踪止盈、资金管理、控制器赋值等 , 在这个地方进行编写 。
如下图所示:
文章插图(2)每次开仓或平仓之后 , 将flag赋值为False 。 需要等待K线更新后方可继续执行tick序列下的动作 。
如下图所示:
文章插图flag赋值为False后 , 在k线更新部分将其设置为True , 就可以继续执行下面的tick了 。
小结 。
以上就是整个策略开发的框架 , 仅供读者参考 。
最后为了方便策略开发 , 作者在本期分享了关于即时突破策略时所用的策略框架 , 读者可以根据自己的策略需求进行修改 。
文章思路及策略代码仅供学习 , 切勿直接实盘 。
文章系原创 , 未经授权 , 请勿转载 , 后果自负!
- 新机|中兴公布全新渠道及市场策略,两款新机同步亮相
- 传播策略|做社媒传播的「基本解法」
- 告诉|阿里大佬告诉你如何一分钟利用Python在家告别会员看电影
- Python源码阅读-基础1
- Python调用时使用*和**
- 如何基于Python实现自动化控制鼠标和键盘操作
- 解决多版本的python冲突问题
- 学习python第二弹
- Python中文速查表-Pandas 基础
- 零基础小白Python入门必看:通俗易懂,搞定深浅拷贝
