CTA策略01_dualThrust

2024-06-05 10:32
文章标签 01 策略 cta dualthrust

本文主要是介绍CTA策略01_dualThrust,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

## dualThrust介绍

Dual Thrust是一个趋势跟踪系统,由Michael Chalek在20世纪80年代开发,曾被Future Thruth杂志评为最赚钱的策略之一。Dual Thrust系统具有简单易用、适用度广的特点,其思路简单、参数很少,配合不同的参数、止盈止损和仓位管理,可以为投资者带来长期稳定的收益,被投资者广泛应用于股票、货币、贵金属、债券、能源及股指期货市场等。

在Dual Thrust交易系统中,对于震荡区间的定义非常关键,这也是该交易系统的核心和精髓。Dual Thrust系统使用Range = Max(HH-LC,HC-LL)来描述震荡区间的大小。其中HH是N日High的最高价,LC是N日Close的最低价,HC是N日Close的最高价,LL是N日Low的最低价。

具体说:

1、首先计算:

~~~~(1)N日High的最高价HH, N日Close的最低价LC;

(2)N日Close的最高价HC,N日Low的最低价LL;

(3)Range = Max(HH-LC,HC-LL)

(4)BuyLine = Open + K1*Range

(5)SellLine = Open + K2*Range

 

2.构造系统

(1)当价格向上突破上轨时,如果当时持有空仓,则先平仓,再开多仓;如果没有仓位,则直接开多仓;

(2)当价格向下突破下轨时,如果当时持有多仓,泽县平川,再开空仓;如果没有仓位,则直接开空仓;

 

 

## 回测图

参数 :

```

平台:vnpy

滑点手续费等均采用vnpy默认配置.(0.2滑点,0.3/万手续费)

测试标的:if0000

时间:2010418-20100818

k1=0.5

k2=0.5

```

回测图:

 

图示说明:

从上到下

第一张:交易次数和盈亏关系

第二张:基准行情

第三张:总资金图(如果每日都交易那么基本和第一张形态一样)

第四张:仓位图

第五张:每日的多空仓线

 

 

综合盈亏信息:

~~~~```

第一笔交易: 2010-04-29 14:56:00

最后一笔交易: 2010-08-18 14:56:00

总交易次数: 55.0

总盈亏: 20,105,684.34

最大回撤: -3,332,557.8

平均每笔盈利: 365,557.9

平均每笔滑点: 12,000.0

平均每笔佣金: 5,023.92

胜率 61.82%

盈利交易平均值 1,093,843.81

亏损交易平均值 -813,571.67

盈亏比: 1.34

 

总交易日: 77

盈利交易日 30

亏损交易日: 20

起始资金: 1000000

结束资金: 21,105,684.34

总收益率: 2,010.57%

年化收益: 2,527.52%

总盈亏: 20,105,684.34

最大回撤: -3,043,602.3

百分比最大回撤: -84.48%

总手续费: 276,315.66

总滑点: 660,000.0

总成交金额: 9,210,522,000.0

总成交笔数: 110.0

日均盈亏: 261,112.78

日均手续费: 3,588.52

日均滑点: 8,571.43

日均成交金额: 119,617,168.83

日均成交笔数: 1.43

日均收益率: 10.53%

收益标准差: 52.68%

Sharpe Ratio: 3.1

```

 

可见在2010年这个效果还是非常惊人的,

谁有2018到2019的股指期货的mongo分钟数据,求分享,谢谢啦,很多策略很久前可以,现在可能失效,所以能用近期数据回测最为准确,

这篇关于CTA策略01_dualThrust的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

Redis过期键删除策略解读

《Redis过期键删除策略解读》Redis通过惰性删除策略和定期删除策略来管理过期键,惰性删除策略在键被访问时检查是否过期并删除,节省CPU开销但可能导致过期键滞留,定期删除策略定期扫描并删除过期键,... 目录1.Redis使用两种不同的策略来删除过期键,分别是惰性删除策略和定期删除策略1.1惰性删除策略

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

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

hdu 2602 and poj 3624(01背包)

01背包的模板题。 hdu2602代码: #include<stdio.h>#include<string.h>const int MaxN = 1001;int max(int a, int b){return a > b ? a : b;}int w[MaxN];int v[MaxN];int dp[MaxN];int main(){int T;int N, V;s

集中式版本控制与分布式版本控制——Git 学习笔记01

什么是版本控制 如果你用 Microsoft Word 写过东西,那你八成会有这样的经历: 想删除一段文字,又怕将来这段文字有用,怎么办呢?有一个办法,先把当前文件“另存为”一个文件,然后继续改,改到某个程度,再“另存为”一个文件。就这样改着、存着……最后你的 Word 文档变成了这样: 过了几天,你想找回被删除的文字,但是已经记不清保存在哪个文件了,只能挨个去找。真麻烦,眼睛都花了。看

缓存策略使用总结

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

Flink任务重启策略

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

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4

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

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

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

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