Pro02丨加强版超级趋势线加减仓策略迭代

2023-12-05 07:20

本文主要是介绍Pro02丨加强版超级趋势线加减仓策略迭代,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 量化策略开发,高质量社群,交易思路分享等相关内容

『正文』

ˇ

大家好,今天为大家带来的Pro第2期迭代策略。该篇是对去年SF37超级趋势线策略的迭代。在SF37策略中,我们通过构建一个滤波器均线,随后根据我们异质化社群中分享的STR指标,构造了新的一种超级趋势线。该趋势线不仅可以作为看盘指标,又可以构建量化策略系统,如下图所示:

一、策略逻辑与迭代内容

在原版SF37背景下,我们采用了单一的进场和单一的出场方式,只不过在出场模块中,我们采用了更为复杂的“Krange+ERratio”自适应出场逻辑。但是在波段以及行情自身运行模式中,无论如何自适应,无论如何吊灯,无论如何跟踪的出场模式,都无法保证某种程度的利润回吐保护。

因此,基于以上利润保护异质化角度出发,异质化进场逻辑出发。在Pro_02迭代版本策略中,我提出以加减仓为核心,时间进出场为表现形式,保护利润与容忍行情为一体的多模块进出场逻辑。如下图所示:

上图中,我们明显看到,白色的线是跟踪止盈止损线,但是出场部分并没有完全按照此线而来。这就是我们迭代的效果。其中,我们注意绿色箭头,该加仓二次进场融合了时间因素,在整体方向未变的基础上,达到了传统CTA未有的异质化效果。

我们将SF37原版中止盈止损线的提速模块注释掉,保持原有的“Krange+ERratio”模块逻辑,而后加入新的减仓逻辑,如下图所示:

其中,如果是偶数仓位,按照一半儿减仓,如果奇数位,我们按照向上取整原则。该逻辑也是上上图中所绘制的减仓逻辑的体现。

进场方面,我们采用延续趋势逻辑前提下,根据减仓与时间逻辑融合,再次进场依照减仓时间逻辑出发,详情请看上面图中绿色剪头,代码如下图所示:

二、可视化

Ss short

i short

Rb long

截取部分品种多空如上图所示,我们可以看到该种减仓模块逻辑,一定程度上可以做到在波段高峰减仓,波段低谷再一次加仓的目的。

三、绩效对比

我们先来看组合绩效,由于时间因素,Pro_02与SF37仅仅比对黑色品种,如下图所示所示:

Pro_02:

SF37:

具体品种如下图所示:

从上述组合绩效来看,我们统一按照100万最大投入资金计算,根据夏普率、最大回撤、胜率、交易次数、平均利润、盈利因子、盈亏比等多个绩效指标综合来看,具体如下图所示:

个别品种绩效对比就不再赘述,有兴趣的大家可以群里讨论。

由于各平台差异,回测绩效以TBQ版本为准!!!

本策略仅作学习交流使用,实盘交易盈亏投资者个人负责。

这篇关于Pro02丨加强版超级趋势线加减仓策略迭代的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/456669

相关文章

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

迭代器模式iterator

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/iterator 不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素

未来工作趋势:零工小程序在共享经济中的作用

经济在不断发展的同时,科技也在飞速发展。零工经济作为一种新兴的工作模式,正在全球范围内迅速崛起。特别是在中国,随着数字经济的蓬勃发展和共享经济模式的深入推广,零工小程序在促进就业、提升资源利用效率方面显示出了巨大的潜力和价值。 一、零工经济的定义及现状 零工经济是指通过临时性、自由职业或项目制的工作形式,利用互联网平台快速匹配供需双方的新型经济模式。这种模式打破了传统全职工作的界限,为劳动

缓存策略使用总结

缓存是提高系统性能的最简单方法之一。相对而言,数据库(or NoSQL数据库)的速度比较慢,而速度却又是致胜的关键。 如果使用得当,缓存可以减少相应时间、减少数据库负载以及节省成本。本文罗列了几种缓存策略,选择正确的一种会有很大的不同。缓存策略取决于数据和数据访问模式。换句话说,数据是如何写和读的。例如: 系统是写多读少的吗?(例如基于时间的日志)数据是否是只写入一次并被读取多次?(例如用户配

Flink任务重启策略

概述 Flink支持不同的重启策略,以在故障发生时控制作业如何重启集群在启动时会伴随一个默认的重启策略,在没有定义具体重启策略时会使用该默认策略。如果在工作提交时指定了一个重启策略,该策略会覆盖集群的默认策略默认的重启策略可以通过 Flink 的配置文件 flink-conf.yaml 指定。配置参数 restart-strategy 定义了哪个策略被使用。常用的重启策略: 固定间隔 (Fixe

多线程篇(阻塞队列- LinkedBlockingDeque)(持续更新迭代)

目录 一、LinkedBlockingDeque是什么 二、核心属性详解 三、核心方法详解 addFirst(E e) offerFirst(E e) putFirst(E e) removeFirst() pollFirst() takeFirst() 其他 四、总结 一、LinkedBlockingDeque是什么 首先queue是一种数据结构,一个集合中

Java后端微服务架构下的API限流策略:Guava RateLimiter

Java后端微服务架构下的API限流策略:Guava RateLimiter 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在微服务架构中,API限流是保护服务不受过度使用和拒绝服务攻击的重要手段。Guava RateLimiter是Google开源的Java库中的一个组件,提供了简单易用的限流功能。 API限流概述 API限流通过控制请求的速率来防止

未雨绸缪:环保专包二级资质续期工程师招聘时间策略

对于环保企业而言,在二级资质续期前启动工程师招聘的时间规划至关重要。考虑到招聘流程的复杂性、企业内部需求的变化以及政策标准的更新,建议环保企业在二级资质续期前至少提前6至12个月启动工程师招聘工作。这个时间规划可以细化为以下几个阶段: 一、前期准备阶段(提前6-12个月) 政策与标准研究: 深入研究国家和地方关于环保二级资质续期的最新政策、法规和标准,了解对工程师的具体要求。评估政策变化可

多线程篇(阻塞队列- LinkedBlockingQueue)(持续更新迭代)

目录 一、基本概要 1. 构造函数 2. 内部成员 二、非阻塞式添加元素:add、offer方法原理 offer的实现 enqueue入队操作 signalNotEmpty唤醒 删除线程(如消费者线程) 为什么要判断if (c == 0)时才去唤醒消费线程呢? 三、阻塞式添加元素:put 方法原理 图解:put线程的阻塞过程 四、非阻塞式移除:poll方法原理 dequ

面对Redis数据量庞大时的应对策略

面对Redis数据量庞大时的应对策略,我们可以从多个维度出发,包括数据分片、内存优化、持久化策略、使用集群、硬件升级、数据淘汰策略、以及数据结构选择等。以下是对这些策略的详细探讨: 一、数据分片(Sharding) 当Redis数据量持续增长,单个实例的处理能力可能达到瓶颈。此时,可以通过数据分片将数据分散存储到多个Redis实例中,以实现水平扩展。分片的主要策略包括: 一致性哈希:使用一