海龟策略深入研究-策略回测系列-2:原版海龟策略(上)

量化投资策略——海龟策略 几乎所有的宽客(Quant)都听说过海龟交易策略,该策略以海龟交易法则为核心。海龟交易法则,起源于八十年代的美国,是一套简单有效的交易法则。这个法则以及使用这个法则的人的故事被写成了一本书——《海龟交易法则》,这是一本入门量化投资的经典书籍。 海龟交易的具体规则是: 当今天的收盘价大于过去20个交易日中的最高价时,以收盘价买入; 买入后,当收盘价小于过去10个交易日中的最低价时,以收盘价卖出。 ... 阅读详情

海龟策略7大要素

原版海龟策略出现在《海龟交易法则》最后章节的附录中,有兴趣的朋友可以详细看看,在这里我们概况一下海龟策略的7大要素,如图所示。
enter image description here

(由于内容有点多,故拆分成上下两部分,这里只介绍到第四大要素,即入场信号)

1.品种选择

书中明确表示海龟策略选择标准是流动性高的期货品种,另外两个隐含的条件是具有历史大波动并且无人为干预的品种(例子:肉类交易厅场内交易员腐败问题)。

在国内,其对应的就是四大期货交易所成交量巨大的品种,并且可以剔除股指期货(因为政府干预)。

2.头寸规模

2.1 头寸规模含义

头寸规模是海龟交易系统最重要的部分之一,其优势是根据一个市场的绝对波动幅度来调整头寸的规模,等于将头寸的绝对波动幅度标准化。

这意味着,一个特定头寸在某一天的向上或向下变动幅度与其他市场的头寸基本相同,无论这个特定市场的波动性是大还是小。

举个例子,若一个市场的合约价值波动性较强,那么这个市场中的合约持仓就少一些,反之,若一个市场的波动性较弱,这个市场中的头寸就可以大一些。

总之,市场的波动性与头寸的规模是相互抵消的。波动性标准化处理意味着不同交易在盈亏概率上是相同的:它们都有同样的机会赚一美元或赔一美元。这便提高了多重市场分散性的效果。

2.2 头寸规模计算

enter image description here
公式中有2点需要特别说明一下,一个是"N",另一个是"每一点数所代表的美元”。

  • N:其定义是真实波动幅度(TR)的20日指数移动平均值,即20日的ATR(至于ATR指标的介绍和计算过程在附录A-1中展开,这里不做过多说明)。另外需要注意的是,ATR是基于期货指数得到的,这意味着在策略实现中,不管是历史回测还是以后实盘测试,都要用到期货指数。解决方法有两个:要么自己自己写脚本合成实时的指数行情数据,要么使用第三方收费的指数行情数据。(考虑开发脚本的难度和运维数据的成本,显然购买第三方数据性价比高的)
  • 每一点数所代表的美元:每一手合约规模数量,以美元为计价。

2.3 举例说明

原版头寸规模单位计算例子:纽约商品期货交易所(NYMEX)民用燃料油(HO03H)在2002年12月4日,其日K线的最高价、最低价、收盘价分别是0.7420、0.7140、0.7162,ATR值是0.0141,民用燃料油的合约规模是42000加仑(1000桶),若账号资金是一百万,则得出的头寸规模是16.88,四舍五入得头寸规模为17手合约,如图
enter image description here

这里可以看出美国期货合约,其合约规模非常大,但是价格低(即ATR值小),这与国内期货合约是相反的。这是因为国内期货表现出其合约规模小但是价格比较高的特点。

下面以螺纹钢合约为例:2018年12月12日,螺纹钢指数日K线的最高价、最低价、收盘价分别是3416、3356、3356,20日的ATR值是103.55,合约规模是10吨,故其头寸规模 = (1%乘以1,000,000) /(103.55乘以10)=9.66,四舍五入得10手合约。

从上面两个例子可以推断出,若账号资金不足,头寸规模调整失去精确性,大大降低风险分散化的效果。

3.单位头寸限制

原版海龟策略通过4个层面来限制其成交量。书中说道,这些法则可以控制交易者总体风险水平。无论是在没完没了的亏损时期还是翻天覆地的价格动荡中,这些限制都能把损失最小化。

这四个层面的限制分别如下:

  • 单个市场:头寸上限是4个
  • 高度关联的多个市场:单个方向头寸单位不超过6个
  • 松散关联的多个市场:某一个方向上的头寸单位不超过10个
  • 单个方向:最多12个

这方面的总结可能是经验之谈,实现起来比较困难,因为高度关联市场和松散关联市场判断起来都非常主观,并无统一标准。故只能简单的实现单个市场和单个方向的头寸限制。

4.入场信号

原版海龟策略提供2个版本的入场信号,用的都是唐奇安通道突破策略(唐奇安通道突破在附录A-2中展开,这里不做过多说明。),其区别在于时间周期不同,下面分别介绍这两个版本:

4.1短周期版本

  • 若期货指数价格突破20日最高价/最低价,买入/卖出1个头寸单位。
  • 过滤条件是上一次突破是盈利性突破,则当前入市信号无效(其保障性突破点为在55日通道入市)。
  • 若突破日后价格在反方向移动幅度达 2*ATR,止损离场。
  • 关于过滤条件,该书作者认为若上一次突破点盈利,那么新突破点可能离当前价远,因为有可能是个55日突破点,若上一次突破点亏损,那么新突破点将更加接近当前价格。

4.2 长周期版本

  • 若价格突破55日最高价/最低价,买入/卖出1个头寸单位。
  • 对于长周期版本来说,所有突破都被视为有效信号,无论上一次突破是亏损性还是盈利性的。

海龟们可以自由决定如何在这两个版本之间分配资金,有的海龟只用短周期版本,有的则只用长周期版本,也有的各投50%。

--------------------------------------------------------------------分割线---------------------------------------------------------------------------------

附录A-1 ATR指标

1.1 ATR指标原理

平均真实波动范围(Average true range),简称ATR指标,是由韦尔德(J.Welles Wilder)发明的,ATR指标主要是用来衡量市场波动的强烈度,即为了显示市场变化率的指标。注意,这一指标主要用来衡量价格的波动,并不能直接反映价格走向及其趋势稳定性。

这一指标对于长期持续边幅移动的时段是非常典型的,这一情况通常发生在市场的顶部,或者是在价格巩固期间。根据这个指标来进行预测的原则可以表达为:该指标价值越高,趋势改变的可能性就越高;该指标的价值越低,趋势的移动性就越弱。

当ATR线上升时,意味着资产的波动性在增加。当ATR线下降时,意味着资产的波动性在减少。ATR 不会显示资产移动的方向。

1.2 ATR指标计算

首先应计算出TR(即当天的真实波幅),如图1-1所示,#2,#3为市场出现跳空高开和跳空低开的情况。TR在当日最高价与最低价,当日最高价与昨日最收盘价,当日最低价与昨日收盘价这3种情况中取最大值。

enter image description here
图1-1 计算ATR所考虑的3种情况

由于一天的TR缺乏效率以及代表性,韦尔德用ATR来更好的衡量市场的波动性;一般而言,海龟测试的数据周期是20以及55,这意味著如果投资者在日线图看ATR,20 = 20日。TR的计算公式如图1-2所示。
enter image description here
图1-2 TR计算公式

最后,20日的ATR = (前19日的TR + 当日的TR)/ 20


附录A-2 唐奇安通道

唐奇安通道也被称为价格通道,扬名于70年代,美国有个公司对当时最流行的机械交易系统进行了模拟测试和比较研究,其研究结果表明,在所有测试对象中唐奇安通道规则最为成功。1983年,他被推举为首届“最佳获利奖”得主,并将此奖项改为唐奇安奖。

唐奇安通道通道突破规则非常简单:当价格突破前X天最高价时,做多;价格突破前X天最最低价时,做空。X值默认为20,市场上流行对20这个值解释的佚闻是:唐奇安在开发唐奇安通道的期间,碰巧阅读到整形外科医生马尔兹博士在1960年所作的“心理控制论”(这本书在1989年被重新发现)。马尔兹博士称在整形外科手术过程中,患者最少需要21日来看到自己的新的容颜。而很多观察到的现象都显示了其最起码需要21日来使得新事物代替旧事物。这一事实震惊了唐奇安,21个自然日就等于15个交易日!当绝大多数交易者都在认为趋势可能已经变化时(他们认为看到了市场的新颜),主要趋势却已做好了继续运行的准备。

说说海龟交易法则的基本原理,如何实现海龟交易策略? 原文地址:https://www.fmz.cn/digest-topic/8978 什么是海龟策略? 几乎所有的宽客(Quant)都听说过海龟交易策略,该策略以海龟交易法则为核心。海龟交易法则,起源于八十年代的美国,是一套简单有效的交易法则。这个法则以及使用这个法则的人的故事被写成了一本书——《海龟交易法则》,这是一本入门量化投资的经典书籍。 股票证券的程序化、量化交易以前门槛可不低,以前软件支持少,账户开户门槛极高。FMZ.CN(国内站)支持富途证券、中泰XTP,开通了富途证券就可以很方便的做程序化模拟盘 阅读详情

相关推荐

Turtle Trading 海龟交易策略

他曾和朋友William Eckhardt打赌,认为交易技能并不是天生的天赋,通过后天的系统培训,小白也可以变成出色的交易者。五年后,这些“海龟”的资金达到了1.75亿美金,Richard Dennis在实验结束后公布了他的培训体系,这就是著名的海龟交易策略。海龟交易策略是最早的量化交易方法之一,它的成功使得更多的交易者开始采用系统化的方法来进行交易,而不仅仅是依靠主观判断或者情绪。此外,策略的具体参数和细节可能因个人而异,应根据个人的风险偏好、交易目标和市场条件进行适当的调整和优化。

qq_34102871的博客 1816

【量化交易笔记】12.海龟交易策略

海龟交易法则利用唐奇安通道的突破点作为买卖信号指导交易,简单而言唐奇安通道是由一条上轨线、中线和下线组成,上轨线由N1日内最高价构成,下轨线由N2日内最低价计算,当价格冲破上轨是可能的买入信号,反之,冲破下轨时是可能的卖出信号。原始的海龟交易采用唐奇安通道来追踪趋势,在趋势比较明显的行情表现不错,但是在震荡的行情中效果不佳,当然这是所有趋势型策略的通病。信息比率越大,说明该策略单位跟踪误差所获得的超额收益越高,因此,信息比率较大的策略的表现要优于信息比率较小的策略。

水滴的博客 4962

ARM的CI-700和Arteris的NoC对比

设计理念:CI-700注重于为移动和客户端SoC提供定制化的互连解决方案,而Arteris的NoC更侧重于提供灵活、可配置的网络互连技术,适用于多种应用场景。性能与功耗:CI-700通过系统级缓存和网状拓扑结构优化性能和功耗,而Arteris的NoC通过物理感知和多协议支持来提升性能和降低功耗。功能安全:Arteris的NoC提供了功能安全支持,这对于汽车和工业应用尤为重要,而CI-700虽然也关注安全性,但未明确提及功能安全支持。互操作性。

ygyglg的专栏 2627

Python量化交易03——海龟策略

Python量化交易实现海龟的策略

weixin_46277779的博客 5251

​​WPF入门与XAML基础:从零开始构建你的第一个WPF应用​

本文是WPF入门系列首篇,详细介绍WPF的核心优势与开发环境搭建。通过创建第一个WPF项目,解析MainWindow.xaml和App.xaml等关键文件,深入讲解XAML基础语法,包括属性赋值、命名空间和事件绑定。最后通过按钮点击交互示例演示WPF应用程序运行流程,帮助开发者快速上手WPF开发,为后续学习布局系统和数据绑定等高级主题奠定基础。

Hare的博客 3301

Fluent新手避坑:遇到‘Floating point exception’别慌,这7个排查步骤帮你搞定

本文为Fluent新手提供了遇到‘Floating point exception’错误时的7个详细排查步骤。从理解浮点异常的本质到边界条件检查、时间步长设置、求解器选择、网格优化、亚松弛因子调节以及高阶格式的取舍,帮助用户快速定位并解决问题,确保CFD仿真的稳定性和准确性。

weixin_30480075的博客 260

海龟策略深入研究-策略回测系列-5 痛点解决方案以及测试数据的准备

理想解决方案   上一篇介绍了海龟策略在实现中遇到的困难。 本章主要讲其解决方案,那就是vn.py啦! vn.py1.9.1新增完整的投资组合级别的海龟策略实现,经过多次测试发现,这一次海龟策略本地化实现的完成度很高。其投资组合回测资金曲线如下。 投资品种选择了12个,分别是: 上期所的铝、铜、螺纹钢、锌 郑商所的普麦、一号棉花 大商所的玉米、铁矿石、焦煤、焦炭、豆粕、聚氯乙烯。 回测...

智能量化交易 2241

PlatformIO串口监视器波特率配置实战:从乱码到清晰输出的关键步骤

本文针对PlatformIO串口监视器常见的乱码问题,深入解析了其根源在于波特率不匹配。文章核心在于指导开发者通过修改项目根目录下的platformio.ini配置文件,正确设置monitor_speed参数,确保与代码中Serial.begin()的波特率一致,从而实现从乱码到清晰输出的关键步骤。此外,还介绍了其他实用的串口监控配置与常见避坑指南。

weixin_29183637的博客 392

海龟策略深入研究-策略回测系列-9 品种选择检验(二)

传统筛选品种的方法 传统意义上,为保证策略的稳健性,应该进行样本内外检验,其具体步骤如下: 设定好历史回测周期,如2年的回望周期 设置固定的筛选标准,如夏普比率大于0.6 基于筛选标准,对每个品种进行策略回测,然后选择合格的品种组成投资组合 通过样本内筛选出来的组合,去预测其未来表现,如预测1年的策略表现 回望周期向后滚动,基于新组合再次筛选品种,直到预测最新年份未知     1 初...

智能量化交易 1266

COMSOL仿真教程—激光烧蚀

本例使用二维模型,将来自激光的入射热通量模拟为金属表面上空间分布的热源,从而得到金属的烧蚀过程和瞬态温度分布。

qq_40977332的博客 2万+

计算机视觉:相机模型与参数标定

一、相机投影模型 1、小孔成像 2、相机模型中的四个平面坐标系 3、像主点偏移 4、畸变现象与内参矩阵 5、外参矩阵 二、相机标定:张正友棋盘格标定法 1、张正友棋盘格标定法描述 2、计算外参和内参 2.1 计算单应性矩阵H 2.2 计算内参数矩阵 2.3 计算外参数矩阵 3、实验:MATLAB实现 3.1 实验数据 3.2实验过程 3.3 实验结果 4、实验:OpenCV实现 4.1 实现代码 4.2 实验结果 5、实验分析与总结

DreamWendy的博客 2514

海龟策略深入研究-策略回测系列-6 理解海龟策略代码

海龟策略文档 在运行策略回测前,至少要对策略代码有一个整体的概念,便于以后的策略调试以及改进。 v1.9.1提供了两个版本的海龟策略,分别是基于ctaTemple开发的,针对单标的的简化版,以及针对多标的的完整版。 这里只介绍完整版的海龟策略,该模块在"examples\TurtleStrategy"文件夹下,打开如图2-4所示。在这里只需关注4个文件     setting.csv:用于...

智能量化交易 2118

AutoSAR从0开始实战 --- 目录

​​​​​​本专栏是全网最真实的AutoSAR实战专栏,博主将从一个0基础小白的身份来讲解AutoSAR工具的配置,以及相应代码的讲解。

wj博客 1730

海龟策略深入研究-策略回测系列-3:原版海龟策略(下)

首先呢,还是那副图,现在介绍剩下的3个关键要素 5.逐步建仓 在突破点建立1个单位的头寸,然后按0.5*ATR的价格间隔一步步扩大头寸。(1/2的间隔以上一份订单的实际成交价格为基础的) 这个过程将继续下去,直到头寸规模达到上限,即单个合约最大4个单位头寸。 该书举了纽约商品交易所(COMEX)黄金期货指数的例子作为说明 6.止损 止损曾经在入场信号中简单提及,即价格反方向偏离2*A...

智能量化交易 1473

2022年全国职业院校技能大赛 高职组大数据技术与应用卷⑦——解析答案

大数据时代,电商经营模式发生很大改变。在传统运营模式中,缺乏数据积累,人们在做出一些决策行为过程中,更多是凭借个人经验和直觉,发展路径比较自我封闭。而大数据时代,为人们提供一种全新的思路,通过大量的数据分析得出的结果将更加现实和准确。商家可以对客户的消费行为信息数据进行收集和整理,比如消费者购买产品的花费、选择产品的渠道、偏好产品的类型、产品回购周期、购买产品的目的、消费者家庭背景、工作和生活环境、个人消费观和价值观等。通过数据追踪,知道顾客从哪儿来,是看了某网站投放的广告还是通过朋友推荐链接,是新访客还是

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 472

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

海龟策略深入研究-策略回测系列-8 品种选择检验(一)

策略回测操作 运行run.ipynb文件 首先进入“examples\TurtleStrategy”文件夹,通过Jupyter Notebook中打开run.ipynb可以执行策略回测。   1)调用海龟回测引擎   %matplotlib inline from datetime import datetime import numpy as np import matplotlib.p...

智能量化交易 1500

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

海龟策略深入研究-策略回测系列-1:海龟的历史

(本系列主要在于探讨海龟策略在国内市场的可行性,目标群体是有一定基础的量化新手。)   海龟策略的故事 海龟策略是一个基于日线级别期货数据的中低频趋势跟踪策略。其高盈利性名扬海外,同时也创造出非常多赚钱的案例。 其实海龟策略背后还隐藏一个有趣的故事,而且与赌局有关,你信么? 1983年两位交易大师理查德.丹尼斯与威廉.埃克哈特之间的一次赌约,赌约的内容是伟大的期货交易者能否通过后天的培养产...

智能量化交易 3410

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

海龟策略深入研究-策略回测系列-7 海龟策略要素代码解析

海龟策略7大要素分别是品种选择、头寸规模、单位头寸限制、入场信号、逐步建仓、止损、止盈。由于品种选择无法通过不属于交易策略内容,故只对后面5大要素的进行代码解析。   1.头寸规模 头寸规模=(1%账户资金)/(ATR 合约规模),其代码如下 class TurtlePortfolio(object): ...... #-------------------------------...

智能量化交易 2165

海龟策略深入研究-策略回测系列-10 品种选择检验(三)

本章主要讲述构建海龟组合的痛点和解决方案 构建海龟组合痛点 在追求策略稳健性前提下,通过传统的滚动测试的方法不能筛选出盈利组合,即这种适用于日内CTA策略的检验方法针对海龟组合是无效的。 构建海龟组合困难表现为以下几点:   a. 历史数据过于少 从2014年到2018年这5年间,其日线数据仅仅是1,200根。其数据过少导致调整回望周期的灵活性降低,即最多回望周期只能设置为2年、3年、4...

智能量化交易 1696

海龟策略深入研究-策略回测系列-16 单位头寸限制检验

vn.py实现了2个维度上的单位头寸限制,分别是单品种头寸上限是4,单个方向整体头寸上限是10。那么现在测试一下适用于国内期货品种的新海龟策略,其最优单位头寸限制数值是否与原版海龟策略一致。 实现步骤: 对单品种头寸上限分类,直接分成3、4、5, 然后基于各自的单品种头寸上限再对当个方向的整体头寸上限进行细分,分别是8、9、10、12、14、无限大。 故一共构成了3*6 = 18个测...

智能量化交易 910

python遗传算法多目标_海龟策略深入研究-策略回测系列-17 基于遗传算法的信号优化...

海龟策略的信号来源于唐奇安通道突破。简单的说就是若突破上轨则做多,突破下轨则做空。我们可以对信号进行改良,如换成布林带通道,金肯特纳通道等等,并且增加过滤条件和离场条件。但是呢?新的问题又来了:若用了新的指标,需要通过不断调试来得到“最优”参数,这样会耗费大量的时间。那么,有没有办法在尽量少得时间内,尽可能得到全局最优解或者次优解呢?答案就是遗传算法啦!遗传算法原理具体原理详见:遗传算法原理简介​...

weixin_39885469的博客 594

海龟策略深入研究-策略回测系列-12 品种选择检验(五)

3)3年回望周期测试 选择标准:回归夏普比率>0.4 a.2014-2016测试 对初步筛选出来的样本进行2014-2016年回测,选择回归夏普比率>0.4的品种,然后构成组合,如图所示。 根据回归夏普比率>0.4的准则,筛选出了17个品种,其历史表现和2017年预测表现如图6-31所示。投资组合在2014-2016年年化收益73.7%,百分比最大回撤-22.9...

智能量化交易 926

海龟策略深入研究-策略回测系列-13 长短周期信号检验

原版海龟策略的出入场交易信号分成2个版本: 短周期版本:1)入场信号:若期货指数价格突破20日最高价/最低价,买入/卖出1个头寸单位。过滤条件是上一次突破是盈利性突破,则当前入市信号无效(其保障性突破点为在55日通道入市)。 2)离场信号:采用10日唐奇安通道突破退出法则,即多头价格跌破10日最低点离场,空头价格超过10日最高点离场。 长周期版本:1)入场信号若价格突破55日最高价...

智能量化交易 1178

海龟策略深入研究-策略回测系列-14 上一笔盈利过滤检验

上一笔盈利过滤的意思是,若上一次交易为盈利的,则当前的交易信号无效,即当前不进行交易。 基于20日唐奇安通道,费思认为若上一次突破是盈利的,那么新突破点可能离当前价格,因为有可能跑到55日突破点上面去;若上一次突破点亏损,那么新突破点将更加接近当前价格。 若基于传统日内中高频CTA策略的视角,这是非常主观的解释:费思认为这几乎不可能连续2次出现大行情,但是事实是分钟级别的CTA策略有可...

智能量化交易 1138

海龟策略深入研究-策略回测系列-4 本地化实现困境

海龟本地化实现困境 海龟策略如此出名,但当前国内还没有发现能够完全复制海龟策略的(至少从网络上公开的资料来看)。普遍存在的问题如下: 海龟策略运行的是日线级别数据,但还是要求K线内成交,即前一日确定第二天的入场、出场、止损位置,当价格到达指定位置时,立即发出交易委托;而不是基于股票多因子框架下以收盘价成交。 原版策略的是期货指数的投资组合数据;但是国内回测要么在股票上跑,要么是基金上跑,并且...

智能量化交易 925

海龟策略深入研究-策略回测系列-15 手续费滑点检验

理论上,基于日线数据的中低频趋势跟踪策略,手续费和滑点是可以忽略不计的。为了验证这个结论,进行对比测试,如图所示。 右图为包含手续费和滑点版本的海龟策略,其中手续费设置为交易所手续费的1.1倍,滑点设置为期货合约的最小价格变动。 其结果是总手续费为635364,总滑点为636794,加上手续费和滑点后,其影响在于: 结束资金从77605953降低至76333794, 年化收...

智能量化交易 1186
上一篇: 海龟策略深入研究-策略回测系列-1:海龟的历史
下一篇: 海龟策略深入研究-策略回测系列-3:原版海龟策略(下)
Trader_Python
博客等级 码龄11年 392粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值