策略究龟交法(附源码

原 【策略研究】海龟交易法则(附源码)

海龟交易法则简介

什么是海龟交易法则?

​ 1983年年中,著名的商品投机家理查德.丹尼斯与他的老友比尔.埃克哈特进行了一场辩论,这场辩论是关于伟大的交易员是天生造就还是后天培养的。理查德相信,他可以教会人们成为伟大的交易员。比尔则认为遗传和天性才是决定因素。

​ 为了解决这一问题,理查德建议招募并培训一些交易员,给他们提供真实的帐户进行交易,看看两个人中谁是正确的。

​ 他们在《巴伦氏》、《华尔街期刊》和《纽约时报》上刊登了大幅广告,招聘交易学员。广告中称,在一个短暂的培训会后,新手将被提供一个帐户进行交易。

​ 理查德从报名的人中精选出13个人,1983年12月底,学员被邀请到芝加哥进行两周的培训,到1984年1月初,开始用小帐户进行交易。到了2月初,在学员证明了自己的能力之后,丹尼斯给其中的大多数人提供了50万至200万美元的资金帐户。

​ “学员们被称为‘海龟’(丹尼斯先生说这项计划开始时他刚刚从亚洲回来,他解释了自己向别人说过的话,‘我们正在成长为交易员,就象在新加坡他们正在成长为海龟一样’)。”----斯坦利.W.安格瑞斯特,《华尔街期刊》,1989年9月5日

​ 海龟成为交易史上最著名的实验,因为在随后的四年中这些海龟交易员取得了年均复利80%的收益。

​ 是的,里克证明了交易可以被传授。他证明了用一套简单的法则,他可以使仅有很少或根本没有交易经验的人成为优秀的交易员。而这个交易法则被后世称为“海龟交易法则”。

海龟交易法则具体内容

海龟交易法则:海龟交易法则属于趋势交易,首先建立唐奇安通道(下文会具体解释),即确定上突破线和下突破线,如果价格突破上线,则做多,如果价格突破下线就平仓或做空。

唐奇安通道与开仓

唐奇安通道,作为一个通道必定有上线和下线,上线就是前N1日内的最高价,下线就是前N2日内的最低价,一般来说N1=20,N2=10;然后,价格上穿就买,下穿就卖,就是这么简单。

但是仅仅只用唐奇安通道进行买卖,其实效果跟MACD线等其他趋势策略的效果差不多,并没有更优

ATR与仓位管理

海龟交易法则最核心的部分,在于仓位的控制,这种止损会让你基准的亏损不超过总资金的n%,所以这部分的思想是需要我们学习的。

当日的真实波幅TR(true range)

计算当日真实波幅公式

​ TR_1=Max(H_1−L_1,H_1−C_0,C_0−L_1)

其中,下表1代表当日,下表0代表昨日,C_0是昨日开盘价close,H是最高价high,L是最低价low。

平均波幅ATR(Average true range)

一般取前20日的平均TR。

​ ATR{20}=mean(TR_1,TR_2…TR{19},TR_{20})

其中,公式mean(X_1,X_2)代表求X_1和X_2的平均数。

这时候我们已经求出ATR,这个数字可以当做衡量今天的价格波幅的基准,为1单位,比如现在价格是100元,基准波幅ATR=4元,代表今天基准波幅在98-102元,如果是2倍ATR,波幅就在96-104元。

仓位管理

在仅讨论多头的情况下:

1、如果标的价格跌破"持仓均价-0.5(1、1.5、2)倍的ATR",则平仓至原始仓位的75%(50%,25%,0%)。

2、如果标的价格跌破唐奇安通道下轨,则全平仓。

海龟交易法则策略实现(基于掘金量化平台

策略思想

  • 当价格上穿唐奇安通道且短MA在长MA上方时开多仓;当价格下穿唐奇安通道且短MA在长MA下方时开空仓(8手)

  • 若有多仓则在价格跌破唐奇安平仓通道下轨的时候全平仓位,否则根据跌破持仓均价 - x(x=0.5,1,1.5,2)倍ATR把仓位平至6/4/2/0手

  • 若有空仓则在价格涨破唐奇安平仓通道上轨的时候全平仓位,否则根据涨破持仓均价 + x(x=0.5,1,1.5,2)倍ATR把仓位平至6/4/2/0手

策略主要步骤实现

订阅数据

subscribe(symbols=symbols, frequency='1d', count=31, wait_group=True)(symbols=symbols, frequency='1d', count=31, wait_group=True)

​ 订阅数据需要在定义init函数里面设置,并调用subscribe函数,这里注意,我们需要通过计算前三十根bars来作为开平仓的标准,并在当前bar上做出开平仓操作,所以需要获取31根bar:

  • symbols 需要设置订阅的标的代码。

  • frequency需设置订阅数据的周期级别,这里设置1d 表示以一天为周期。

  • count需要设置获取的bar的数量

数据获取

data = context.data(symbol=symbol, frequency='1d', count=31, fields=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值