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

相关文章

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

SpringBoot中的404错误:原因、影响及解决策略

《SpringBoot中的404错误:原因、影响及解决策略》本文详细介绍了SpringBoot中404错误的出现原因、影响以及处理策略,404错误常见于URL路径错误、控制器配置问题、静态资源配置错误... 目录Spring Boot中的404错误:原因、影响及处理策略404错误的出现原因1. URL路径错

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

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