前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Backtrader量化平台教程-跟踪止损单(十)

Backtrader量化平台教程-跟踪止损单(十)

作者头像
钱塘小甲子
发布2019-01-28 10:42:59
3.2K0
发布2019-01-28 10:42:59
举报

AD:(本人录制的backtrader视频课程,大家多多支持哦~ https://edu.csdn.net/course/detail/9040

CTA当中,我们经常会采用跟踪止损的方法来控制回测,backtrader当中其实给我们准备好了这一方法。至于什么叫做跟踪止损单,简单介绍一下。

譬如在15年牛市中,我在某球网上听到一种大道至简的逃顶方式,就是你的净值跟踪止损达到20%的时候,马上全部立场走人,一年内不要碰股票。事实证明,这确实是一个挺好的方法。言下之意,当你某笔交易回撤达到某个值就止损的方法叫做跟踪止损。

代码语言:javascript
复制
class MyStrategy(bt.Strategy):

    def __init__(self):
        self.up_down = three_bars(self.data0)
        self.buy_signal = bt.indicators.CrossOver(self.data.close, self.up_down.up)
        self.sell_signal = bt.indicators.CrossDown(self.data.close, self.up_down.down)


    def next(self):
        if not self.position and self.buy_signal[0] == 1:
            self.order = self.buy(size=1)
            self.order = self.sell(size=1, exectype=bt.Order.StopTrail, trailamount=25)

我们看一下上面这个策略,先不管buy_signal是什么,满足交易条件的时候,我们先买了一首,然后同时下了一个卖出的止损单“

代码语言:javascript
复制
self.order = self.buy(size=1)
self.order = self.sell(size=1, exectype=bt.Order.StopTrail, trailamount=25)

这里,我们的跟踪止损是这一笔交易亏损25元之后,就止损离场。如果你希望是一个百分比,那么就是,下面这样就是跟踪止损2%。

代码语言:javascript
复制
self.order = self.buy(size=1)
self.order = self.sell(size=1, exectype=bt.Order.StopTrail, trailpercent=0.02)

上面的策略跑一下,就是下面这样的。 

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年07月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档