Python量化交易工具之"自适应"跟踪止盈算法,进阶必看!

liftword4周前 (02-11)技术文章20

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

这期文章,作者主要给大家分享,如何用Python 代码编写双均线策略,然后在策略中采用加速算法跟踪止盈作为出场方式,并回测。

前言

俗话说,会买的是徒弟,会卖的是师父,会空仓的是祖师爷。

策略的平仓同开仓一样重要。开仓点位的好坏,直接决定你进场后策略浮盈的大小。但是,最终能够抓住多少浮盈完全得看策略的止盈(平仓)。

策略开仓后有大幅浮盈,但平仓时反而亏损,这就说明策略在平仓模块出现了很大的问题盈利保不住,就必须在止盈上下功夫!


作者认为,开仓后盈利造成大幅流失的原因是策略的止盈或平仓模块没有"自适应"的功能。不能及时跟随市场行情的波动而自动调整出场位置。

如下图所示:


想要策略能跟踪市场变化,并动态调整策略出场也并不难,其中最重要的一点是需要与波动率结合才能做出"自适应"的效果!

因此,作者接下来就用Python 调用tqsdk包,在双均线策略中采用具有加速算法的跟踪止盈方法。让策略更具有"生命力"!

"自适应"跟踪止盈算法逻辑

想要做到"自适应"跟踪的功效,就必须要知道如何跟踪价格波动的方法。我们最常见的衡量价格波动率的方法就是用"平均真实波幅"ATR


作者在自适应跟踪止盈算法里不止采用ATR来衡量价格波动。下面将以多头为例,具体算法如下图所示:


上图中的SPrice就是策略的跟踪止盈线变量。当价格触发跟踪止盈SPrice时,多头平仓。下面就简单介绍AF,SPrice,HVlaue三个变量:以多头为例

(1) AF变量,为加速系数,控制着每一次上调的尺寸。

在AF的计算过程中,首先要保证当前k线创新高才进行累加,如果当前没有创新高那么AF就保持原来的值。也就是延续上一根k线的值,那样的话策略当前的跟踪止盈线上调的尺寸与上一根k线一致。


简单来说,开多仓后价格朝预期方向波动越大,那么AF值就越大,进而上调尺寸就越大,止盈就更灵敏。反之,则迟钝!

(2) SPrice和HVlaue变量,HVlaue是持仓期间的最高价。

SPrice跟踪止盈线的计算,我们只需要关注AF和(HVlaue - SPrice )两者的变化。





因此,跟踪止盈线才能够跟随市场的波动进行动态的,"自适应"地调整出场位置。

小结。

在分享代码之前,给大家详细介绍了关于"自适应"跟踪止盈的算法逻辑及运行原理。主要是为了在接下来利用Python编写的时候,更容易理解。

双均线策略采用加速算法跟踪止盈

Python 调用天勤量化的tqsdk包,实现数据获取,策略编写,并利用其回测框架进行回测分析。总共四个步骤,即可完成双均线策略及在其内部实现"自适应"跟踪止盈。

策略逻辑:金叉开多,死叉开空,作者以多头为例。

(1) 第一步,导入天勤量化及时间等相关的包


(2) 第二步,计算均线、ATR及多空信号。这里我们将调用天勤内置函数模块ta中的SMA和ATR方法进行计算。并用trend变量记录多空开仓标记,方便在开仓步骤判断多空并下单。

(3) 第三步,开仓并计算跟踪止盈线,多头为例子

开多时起记录持仓时间的最高价mark_high和初始止损long_stop,当开仓后下一根k线将初始止损long_stop变成跟踪止盈线。

当最低价触发跟踪止盈线long_stop时,策略多头平仓。

(4) 第四步,运行策略

以上四个步骤,完成了策略的编写,那么我们来来看看策略的开平仓信号。

下面是利用天勤的web_gui,在螺纹钢期货rb2010合约60分钟的回测信号:





小结。

从信号中我们可以看到止盈非常及时,最大限度的保留住了策略的浮盈,同时止损也比较及时

这种跟踪止盈方法,比均线死叉或通道止盈以及吊灯止盈更具有优势。

最后

策略的止盈,是一个非常重要的模块。没有好的止盈,就算再好的开仓,再大的浮盈最终也是"浮云"。

但是,有好的止盈方法,就算是用很普通的开仓方式也能将策略性能发挥到极致

因此,在策略开发过程中,一定要找到最佳的止盈方法。不同类型的策略,跟踪止盈方法也不一样!

相关文章

手把手教你用Python搭建自己的量化回测框架「均值回归策略」

引言大部分量化策略都可以归类为均值回归与动量策略。事实上,只有当股票价格是均值回归或趋势的,交易策略才能盈利。否则,价格是随机游走的,交易将无利可图。均值回归是金融学的一个重要概念,指股票价格无论高于...

Python量化投资神器:TA-Lib从入门到精通,轻松玩转技术分析!

喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。引言:TA-Lib——量化投资的“瑞士军刀”在金融市场的波涛汹涌中,技术分析是投资者不可或缺的工具。而TA-Lib,作为技术分析领...

如何用 Python 打造你的专属量化交易软件全解析

在金融科技飞速发展的今天,量化交易越来越受到投资者的青睐。Python作为一门强大且灵活的编程语言,为我们搭建期货量化交易软件提供了有力工具。今天,就让我们深入探讨如何用Python实现这一目标。量化...

「精彩漫画」带你秒懂8种常见的量化选股模型

本漫画转自公众号金财维,作者财维君。(资料来源:金财维,作者财维君,版权归原作者所有)关于Python金融量化专注于分享Python在金融量化领域的应用。加入知识星球,可以免费获取量化投资视频资料、量...

【手把手教你】入门量化回测最强神器backtrader(一)

1引言目前基于Python的量化回测框架有很多,开源框架有zipline、vnpy、pyalgotrader和backtrader等,而量化平台有Quantopian(国外)、聚宽、万矿、优矿、米筐、...

如何使用python做量化交易_python量化交易视频教程

介绍首先我不是量化工程师,我只是个后端工程师;其次我对量化也不感兴趣,自己有几把刷子还是了解的,自己不适合做量化交易:自己没有优秀的模型设计能力自己是个长线投资,一般一个股票都是至少拿一年以上,短线的...