股票行情查询

股票入门基础知识,股票交易手续费,股票大全,股票行情查询

海龟法则止损(理查德丹尼斯海龟法则)

2023-04-04 04:32分类:基本分析 阅读:

 

1引言

对于纯多头或空头的方向性策略而言,只有当证券价格是均值回归或趋势的,交易策略才能盈利。否则,如果价格是随机游走的,交易将无利可图(法玛有效市场假说)。换句话说,目前各种纷繁复杂的所谓量化策略大都可以归结为均值回归或趋势追踪策略。趋势追踪策略认为价格会沿着一定的趋势继续走,也常称为“惯性”或“动量”策略,很多技术指标就是基于动量的思想来设定的。今天为大家介绍著名的趋势交易策略——“海龟交易法则”,着重介绍如何使用Python对海龟的交易规则进行量化回测,尤其是对Pandas的综合运用。关于海龟原理的详细介绍和相关轶事感兴趣的可阅读原书和网上相关资料,在微信公众号后台回复“海龟交易”可下载《海龟交易法则》高清中文PDF。

2海龟交易法则简介

海龟交易法则可以认为是一个完整的交易系统,具备一个完整的交易系统所应该有的所有成分,包括市场、入市、头寸规模、止损/止盈、退出、买卖策略等:

市场:买卖什么?

头寸规模:买卖多少?

入市:什么时候买卖?

止损:什么时候放弃一个亏损的头寸?

离市:什么时候退出一个盈利的头寸?

策略:如何买卖?

趋势追踪——唐奇安通道

海龟交易法则利用唐奇安通道的突破点作为买卖信号指导交易,简单而言唐奇安通道是由一条上轨线、中线和下线组成,上轨线由N1日内最高价构成,下轨线由N2日内最低价计算,当价格冲破上轨是可能的买入信号,反之,冲破下轨时是可能的卖出信号。

买卖单位及首次建仓

海龟交易系统本质上是一个趋势跟随的系统,但是最值得学习的是资金管理尤其是分批建仓及动态止损的部分。书中提到了N值仓位管理法,其中N值与技术指标平均真实波幅 ATR计算类似。ATR是真实波幅TR的20日平均值,而TR是当前交易日最高价和最低价之差 、前一交易日收盘价与当前交易日最高价之差、前一交易日收盘价与当前交易日最低价之差三者中的最大值,用公式表示为:

TR=Max(High−Low,abs(High−PreClose),abs(PreClose−Low)),技术指标库TA-Lib提供了直接计算ATR的函数。

建仓单位:

Unit=(1%∗账户总资金)/N

首次建仓的时候,当捕捉到趋势,即价格突破唐奇安上轨时,买入1个unit。其意义就是,让一个N值的波动与你总资金1%的波动对应,如果买入1unit单位的资产,当天震幅使得总资产的变化不超过1%。

例如:

现在你有1万元资金,1%波动就是100元。假如某股票的N(ATR)值为0.1元,100÷0.1元=1000股。也就是说,你的第一笔仓位应该是在其突破上轨(假设为3元)时立刻买入1000股,耗资3000元。

动态止损或清仓条件

当股价跌破10日唐奇安通道下沿,清空头寸结束本次交易。当价格比最后一次买入价格下跌2N时,则卖出全部头寸止损。

接上面的例子,最后一次加仓价格为3.2。假如此时N值0.2元。当价格下跌到 3.2 - 2*0.2 = 2.8元时,清仓。持仓成本为 (3+3.1+3.2)*1000/3000 = 3.1元。此时亏损 (3.1-2.8)*3000 = 900元, 对于1万来说 这波亏损9%。

原始的海龟交易采用唐奇安通道来追踪趋势,在趋势比较明显的行情表现不错,但是在震荡的行情中效果不佳,当然这是所有趋势型策略的通病。下面着重使用Python对唐奇安通道进行可视化,并利用简化版的海龟交易法则进行简单的历史回测。

2

3海龟交易规则Python实现

#先引入后面可能用到的包(package) import pandas as pd import numpy as np import talib as ta from datetime import datetime,timedelta import matplotlib.pyplot as plt %matplotlib inline #正常显示画图时出现的中文和负号 from pylab import mpl mpl.rcParams['font.sans-serif']=['SimHei'] mpl.rcParams['axes.unicode_minus']=False #使用tushare获取交易数据 #设置token import tushare as ts #注意token更换为你在tushare网站上获取的 token='输入你的token' pro=ts.pro_api(token) index={'上证综指': '000001.SH', '深证成指': '399001.SZ', '沪深300': '000300.SH', '创业板指': '399006.SZ', '上证50': '000016.SH', '中证500': '000905.SH', '中小板指': '399005.SZ', '上证180': '000010.SH'} #获取当前交易的股票代码和名称 def get_code(): df = pro.stock_basic(exchange='', list_status='L') codes=df.ts_code.values names=df.name.values stock=dict(zip(names,codes)) #合并指数和个股成一个字典 stocks=dict(stock,**index) return stocks #获取行情数据 def get_daily_data(stock,start,end): #如果代码在字典index里,则取的是指数数据 code=get_code()[stock] if code in index.values(): df=pro.index_daily(ts_code=code,start_date=start, end_date=end) #否则取的是个股数据 else: df=pro.daily(ts_code=code, adj='qfq',start_date=start, end_date=end) #将交易日期设置为索引值 df.index=pd.to_datetime(df.trade_date) df=df.sort_index() #计算收益率 df['ret']=df.close/df.close.shift(1)-1 return df

下面以沪深300指数为例,对唐奇安通道和买卖突破信号进行可视化。

hs=get_daily_data('沪深300','20180101','')[['close','open','high','low','vol']] #最近N1个交易日最高价 hs['up']=ta.MAX(hs.high,timeperiod=20).shift(1) #最近N2个交易日最低价 hs['down']=ta.MIN(hs.low,timeperiod=10).shift(1) #每日真实波动幅度 hs['ATR']=ta.ATR(hs.high,hs.low,hs.close,timeperiod=20) hs.tail()

下面使用简化版的海龟交易法则进行历史回测,即不考虑仓位管理和动态止损/止盈条件,以唐奇安通道突破作为买入卖出信号。

交易规则为:

(1)当今天的收盘价,大于过去20个交易日中的最高价时,以收盘价买入;

(2)买入后,当收盘价小于过去10个交易日中的最低价时,以收盘价卖出。

def my_strategy(data): x1=data.close>data.up x2=data.close.shift(1)<data.up.shift(1) x=x1&x2 y1=data.close<data.down y2=data.close.shift(1)>data.down.shift(1) y=y1&y2 data.loc[x,'signal']='buy' data.loc[y,'signal']='sell' buy_date=(data[data.signal=='buy'].index).strftime('%Y%m%d') sell_date=(data[data.signal=='sell'].index).strftime('%Y%m%d') buy_close=data[data.signal=='buy'].close.round(2).tolist() sell_close=data[data.signal=='sell'].close.round(2).tolist() return (buy_date,buy_close,sell_date,sell_close) #对K线图和唐奇安通道进行可视化 from pyecharts import * grid = Grid() attr=[str(t) for t in hs.index.strftime('%Y%m%d')] v1=np.array(hs.loc[:,['open','close','low','high']]) v2=np.array(hs.up) v3=np.array(hs.down) kline = Kline("沪深300唐奇安通道",title_text_size=15) kline.add("K线图", attr, v1.round(1),is_datazoom_show=True,) # 成交量 bar = Bar() bar.add("成交量", attr, hs['vol'],tooltip_tragger="axis", is_legend_show=False, is_yaxis_show=False, yaxis_max=5*max(hs["vol"])) line = Line() line.add("上轨线", attr, v2.round(1),is_datazoom_show=True, is_smooth=True,is_symbol_show=False,line_width=1.5) line.add("下轨线", attr, v3.round(1),is_datazoom_show=True, is_smooth=True,is_symbol_show=False,line_width=1.5) #添加买卖信号 bd,bc,sd,sc=my_strategy(hs) es = EffectScatter("buy") es.add( "sell", sd, sc, ) es.add("buy", bd, bc,symbol="triangle",) overlap = Overlap(width=2000, height=600) overlap.add(kline) overlap.add(line) overlap.add(bar,yaxis_index=1, is_add_yaxis=True) overlap.add(es) grid.add(overlap, grid_right="10%") grid

(注:运行上述代码得到的是动态交互图,可调整时间区间)

#关掉pandas的warnings pd.options.mode.chained_assignment = None def strategy(stock,start,end,N1=20,N2=10): df=get_daily_data(stock,start,end) #最近N1个交易日最高价 df['H_N1']=ta.MAX(df.high,timeperiod=N1) #最近N2个交易日最低价 df['L_N2']=ta.MIN(df.low,timeperiod=N2) #当日收盘价>昨天最近N1个交易日最高点时发出信号设置为1 buy_index=df[df.close>df['H_N1'].shift(1)].index df.loc[buy_index,'收盘信号']=1 #将当日收盘价<昨天最近N2个交易日的最低点时收盘信号设置为0 sell_index=df[df.close<df['L_N2'].shift(1)].index df.loc[sell_index,'收盘信号']=0 df['当天仓位']=df['收盘信号'].shift(1) df['当天仓位'].fillna(method='ffill',inplace=True) d=df[df['当天仓位']==1].index[0]-timedelta(days=1) df1=df.loc[d:].copy() df1['ret'][0]=0 df1['当天仓位'][0]=0 #当仓位为1时,买入持仓,当仓位为0时,空仓,计算资金净值 df1['策略净值']=(df1.ret.values*df1['当天仓位'].values+1.0).cumprod() df1['指数净值']=(df1.ret.values+1.0).cumprod() df1['策略收益率']=df1['策略净值']/df1['策略净值'].shift(1)-1 df1['指数收益率']=df1.ret total_ret=df1[['策略净值','指数净值']].iloc[-1]-1 annual_ret=pow(1+total_ret,250/len(df1))-1 dd=(df1[['策略净值','指数净值']].cummax()-df1[['策略净值','指数净值']])/df1[['策略净值','指数净值']].cummax() d=dd.max() beta=df1[['策略收益率','指数收益率']].cov().iat[0,1]/df1['指数收益率'].var() alpha=(annual_ret['策略净值']-annual_ret['指数净值']*beta) exReturn=df1['策略收益率']-0.03/250 sharper_atio=np.sqrt(len(exReturn))*exReturn.mean()/exReturn.std() TA1=round(total_ret['策略净值']*100,2) TA2=round(total_ret['指数净值']*100,2) AR1=round(annual_ret['策略净值']*100,2) AR2=round(annual_ret['指数净值']*100,2) MD1=round(d['策略净值']*100,2) MD2=round(d['指数净值']*100,2) S=round(sharper_atio,2) df1[['策略净值','指数净值']].plot(figsize=(15,7)) plt.title('海龟交易策略简单回测',size=15) bbox = dict(boxstyle="round", fc="w", ec="0.5", alpha=0.9) plt.text(df1.index[int(len(df1)/5)], df1['指数净值'].max()/1.5, f'累计收益率:\ 策略{TA1}%,指数{TA2}%;\n年化收益率:策略{AR1}%,指数{AR2}%;\n最大回撤: 策略{MD1}%,指数{MD2}%;\n\ 策略alpha: {round(alpha,2)},策略beta:{round(beta,2)}; \n夏普比率: {S}',size=13,bbox=bbox) plt.xlabel('') ax=plt.gca() ax.spines['right'].set_color('none') ax.spines['top'].set_color('none') plt.show() #return df1.loc[:,['close','ret','H_N1','L_N2','当天仓位','策略净值','指数净值']]

下面对上证综指、沪深300、创业板指数、中国平安、东方通信和贵州茅台进行简单回测,看看海龟交易规则唐奇安的择时效果如何,具体指标看图。

strategy('上证综指','20050101','')

strategy('沪深300','','')

strategy('创业板指','','')

strategy('沪深300','20180101','')

strategy('中国平安','20050101','',N1=20,N2=10)

strategy('东方通信','20130101','',N1=20,N2=10)

strategy('贵州茅台','20050101','',N1=20,N2=10)

上述回测没有考虑使用N值的仓位管理和动态止损,下面是在万矿平台上加入了仓位管理进行回测,与上面简单使用Pandas的回测框架相比(图形比较丑陋),贵州茅台的各项回测指标看上去更理想了,最大回撤也只有21%。具体实现代码可参考万矿平台社区上面的分享。此外,聚宽、优矿等量化平台上也提供了相应了策略回测模板,实现代码大同小异,感兴趣的可以进一步了解。

4结语

本文简要介绍了海龟交易法则的基本原理,使用Python对其买卖信号进行了可视化分析,并利用Pandas对相关指数和个股运用简化版的海龟交易规则进行了历史回测。由回测结果可看出,该简化的趋势追踪策略对于某些标的在某些区间效果表现不错,但对于某些标的或某些时期则效果不佳。当然,本文旨在回顾经典策略,展示Pandas在金融量化分析的综合运用,为Python在金融量化中的运用起到抛砖引玉的效果,不作出任何选股或策略推荐。值得注意的是,任何策略都具有一定的局限性,尤其是知道和使用该策略的交易者多了,其作用自然比该理念刚出现的的效果差得多。正如技术分析指标,刚出现的时候很有效,但被大家所熟知或应用后,自然效用就大打折扣(相对于多因子模型中的Alpha被大家挖掘后渐渐成了risk factor)。但所谓新理念、新策略一定是站在前人的肩膀上,因此不能因为经典策略回测效果不佳而全盘否定,如何改进、细化和升级,使之更适合当下的市场才是我们要面对的问题

关于Python金融量化

专注于分享Python在金融量化领域的应用。加入知识星球,可以免费获取30多g的量化投资视频资料、量化金融相关PDF资料、公众号文章Python完整源码、量化投资前沿分析框架,与博主直接交流、结识圈内朋友等。

 

一、海龟法则的作者、入门书:

作者:著名的商品投机家理查德·丹尼斯

入门书:《海龟交易法则》

二、海龟法则的优势:

  • 根据海龟理论,追踪上涨趋势的个股,可以确保大概率捕捉到强势股,毕竟开仓依照的就是突破理论。
  • 管理风险完备,依照合理的头寸买入和止盈止损,即ART,随时跟踪市场变化调整仓位。
  • 在设计好完备的买卖目标,价格,交易过程中的止损后,严格执行。
  • 相比于复杂难懂的策略,简单反而更加具备优势。

这里笔者还想多说几句话:

1.从当前的行情来看,做多强势股的获利的概率会更高一些,但是由于当前行情的延续性极差,因此在策略捕捉行情的过程中应当及时,便于获取更加合理的价格,便于抵挡行情突变的冲击,笔者本周交易四次,获利一次,才发现自己没有定期复盘和检查自己的策略,使得信号的生成以及笔者观察到,买入中形成了巨大的价格差异,从而导致亏损,这都是需要引以为鉴的。

2.由于我国证券市场仍然是T+1市场,因此在止损的过程不会像美股等一样在场内交易中能够止损,因此,更合理的方法是等待收盘后的复盘,在第二天买入效果会更好一些,尤其是在第二天的下午买入效果会更好一些。

3.相信自己的策略,只能是通过实实在在的盈利,反复的复盘,优化自己的策略来做的。

4.复杂的策略需要的准备和部署是长远的,因此在策略的思考中,我们更多应该需要依靠于实战得出,从成本,精力上来讲,复杂的策略对于个体来讲也是无法承受的。

三、海龟交易法则的内容:

3.1一般策略思考:

1.买入

2.持仓

3.卖出

3.2海龟法则交易体系:

1.寻找交易对象-买什么【是股票还是基金还是其他品种】

2.头寸规模-买多少以及加仓点【头寸管理:第一次买入和后续加仓】

3.入市-何时买入【等待信号触发】

4.止损-当账户价值亏损到某个阈值,分批卖出【由于头寸是分批建立的,所以在亏损中肯定是最后加仓的位置和仓位的风险是最大的,所以当整体下行时候应当及时将亏损头寸舍弃,逐步减仓,甚至清仓】

5.清仓-止盈【价格上涨不是永远的,下跌也不是永远的,因此需要设置合理的收益预期】

6.策略-如何确定买入点和卖出点【整体的设计思路的实现】

四、相关知识点的梳理:

  • 唐奇安通道:

唐奇安通道是由三条线构成的一个趋势线。

上轨:由过去N天的当日最高价的最大值

下轨:由过去N天的当日最低价的最小值

中轨:中轨=(上轨+下轨)/2

for i in range(5,len(pf_bank)): pf_bank.iloc[i,2]=max(pf_bank.iloc[i:i+5,0].tolist()) pf_bank.iloc[i,3] = min(pf_bank.iloc[i:i + 5, 0].tolist()) pf_bank.iloc[i,4]=(pf_bank.iloc[i,2]+pf_bank.iloc[i,3])/2 #0行为close2行为max_value,3行为min_value,4行为mean_value

信号产生:

1.当股价突破中轨,买入

2.当股价跌破中轨,卖出

 

效果图:

  • ATR理论【Average true range】:

均幅指标(ATR)是取一定时间周期内的股价波动幅度的移动平均值,主要用于研判买卖时机。

均幅指标是显示市场变化率的指标,由威尔德(Welles Wilder)在《技术交易系统中的新概念》一书中首次提出,已成为众多指标经常引用的技术量。威尔德发现较高的ATR值常发生在市场底部,并伴随恐慌性抛盘。当其值较低时,则往往发生在合并以后的市场顶部。

均幅指标无论是从下向上穿越移动平均线,还是从上向下穿越移动平均线时,都是一种研判信号。它表示股价运行趋势有可能发生逆转,具体如何转变需结合趋势类指标进行综合研判。

  • ATR计算方法

真实波幅 = max(H-L, H-PDC, PDC-L)
H=当日最高价
L=当日最低价
PDC=前一日收盘价
N = (19 * PDN +TR)/20
PDN = 前一日的N值
TR= 当日的真实波动幅度
由于公式中需要前一日的N值,你在首次计算N的时候不能用这个公式,只能计算真实波动幅度的20日简单平均值。

 

国外期货交易市场,有一种风靡了三十几年的交易法则,叫做“海龟交易法则”。通过一种完整的交易系统,使交易员更容易地进行一致性的、成功的交易,避免交易员的判断力个人判断影响决策。就像我经常跟大家提及的建立适合自己的交易系统一样,今天来浅谈一下这个“海龟交易法则”。

海龟交易法则由来

1983年,著名商品投机家理查德·丹尼斯为了弄清楚伟大的交易员是天生造就的还是后天培养的,而招募了13个人,向其传授期货交易的基本概念以及自己的交易方法和原则。

参与此项实验的13名学员被称为“海龟”,并且在实验开始后的4年中,他们取得了年均复利80%的收益,该试验也成为交易史上最著名的实验。丹尼斯也证明了以一套简单的系统和法则,有很少或者根本没有交易经验的人也能成为优秀的交易员。

原本,参与实验的海龟商定在其签署的10年保密协议结束后也不会将理查德·丹尼斯的交易方法和法则泄露,但是,仍有个别海龟未遵循承诺,将“海龟交易法则”放在网上贩卖。为了阻止这一行为的获利,原版海龟柯蒂斯·费思和阿瑟·马多克决定将海龟法则免费公之于众,由此,也就诞生了现在市面上能为大家所见的《海龟交易法则》。

海龟系统

海龟交易系统是这样一个良好的机械交易系统,它包括了交易的各个方面,对于你在交易中必须制定的各项决策都会给出答案,使你更容易进行一致性的交易。

一个完整的交易系统包含了成功的交易所需要的每项决策:

市场——买卖什么

头寸规模——买卖多少

入市——何时买卖

止损——何时退出亏损的头寸

离市——何时退出盈利的头寸

策略——如何买卖

市场——买卖什么

以上,也可以得出海龟交易系统的特点:

①海龟法则覆盖交易的各个方面,是一个完整的交易系统。

②出于系统的完整性,所以交易者没有一点主观想象决策的余地,故而这是一个机械化的交易系统。

③海龟系统经检测是一个可以实现盈利的系统。如果你忠实于你的系统,那么在交易中你将不再胆怯,也不会因一长串的亏损或巨额盈利而内心波澜。

海龟系统也适用于汇市和股市,只要把交易的各个方面涵盖,通过合适的方法进行分析研究,形成一个完善的闭环系统,也能像海龟一样获得理想的收益。

海龟交易原则

一、关注长期收益

当你建立交易系统时,要考虑的是长期的盈利,而非短期的成败。哪怕你只有50.001%的胜算,这多出来的0.001%只要一直做,放到足够长的时间里,就是一个天文数字。因此,交易中出现的亏损并不意味着你的交易业务不过关,也不意味着决策失误,它不是真实的损失,是诱饵,是必要的成本,是长期的收益。

只要在长期交易中能保持盈利的方法,都是正确方法,短期的市场波动或主力控制是在所难免的,但是只要扩大到足够长的时间,这些只不过是昙花一现。

二、保护本金

保本求生,是一切交易最基本的出发点。所以,不要将所有的鸡蛋都放在一个篮子里,在晃来晃去的那个篮子里要少放点。在交易市场中,篮子的晃动程度,就叫做平均真实波幅(ATR),根据晃动程将资金进行合理分配,是一类经典的方法,叫做由波动性调整交易量。

利用ATR可以很好的进行止损止盈、仓位管理等,这里我们说说仓位管理。假若每个市场1万元,除以相应市场的每股平均波幅,就可以得到你每个市场应该买入的头寸额、股数或合同数。而海龟法则建议开一个头寸的大小,应该是1ATR=你总资金1%的波动。也就是说,如果你的账户里有1万元,波动1%即为100元,此时若你开仓,在波动1ATR的情况下,你就赚的100或亏损100。依照此方法,将避免你因为一时冲动而做出的非理智的加仓。

对于股市交易,也有相应的ATR指标,关于这方面的应用,我会在后面的文章中向大家进行介绍。而保证本金也不仅仅只有上述的方法,比如股价波动、成交量、macd、kdj等指标都是有效的方法,主要是选择适合自己的方法即可。

三、坚定实施

趋势跟踪、风险管理、真实平均波幅等等很多类似的概念与策略,其实早就人尽皆知。所以海龟并非赢在“知道”,而是赢在“做到”。想要“胜算”变成真金白银,就应当给足时间和空间,而不是一失败而携款潜逃。

四、抓住趋势

捕捉到趋势的人,才能在交易中赚大钱。正所谓狭路相逢勇者胜,不要担心行情涨势过快,会有泡沫,也不要畏惧跌势过久,会逆转。你只需严格按照最初设定的止损点来决定你的进出场,敢于坚持,勇于亮剑。

对于这一点,只进行股票操作的交易者可能会有点看不懂,期货是双向交易,可以做多也可以沽空,所以涨跌都有可能挣钱。对于一般的股票交易者,主要以做多为主,那么就要认清趋势,顺势做多。

柯蒂斯·费思对于海龟法则的认识

经过丹尼斯培养的海龟,柯蒂斯·费思是其中最出色的一个,也是《海龟交易法则》的作者,他对于海龟法则的认识是怎样的呢?

近乎偏执的执行法则

费思是个坚定的机械交易者,他严格遵守海龟交易法,并在4年中赚取了3000多万美元的利润。海龟交易法则本身其实并不复杂,是一个单纯的拥有正期望值的趋势交易系统。其实,交易大师的方法往往出奇的简单,所谓的大道至简,在交易领域体现的淋漓尽致。当初,海龟们使用着完全相同的法则来进行交易,虽然他们都是非常聪明的人,但表现却参差不齐,甚至有人以失败告终。这也是费思想要解释的问题:强者和弱者的区别就源自于个人的心理特质。费思说:“要想了解一个优秀的交易员,你必须要了解他的心理特质对交易行为有什么样的影响。如果你天生就具备那些特质,就很容易学会正确的交易方式。如果你不是那种天赋超群的人,那你就必须要培养出这些成功的特质。”

比如,同样的一次趋势行情,有的人没有进场,有的人又早早的退出,他们都没有按照本应该遵守的交易法则去执行,自然也就赚不到该赚的利润。而导致这种执行力出现明显差异的原因正是交易者的心理。这些所谓的心理情绪陷阱,像是患上损失厌恶症的人一样,认为不赔钱远比赚钱重要;或者喜欢结果偏好,只根据某一次的结果来判断好坏,而不考虑决策本身的长期综合质量。“交易世界中,即使是正确的方法也可能会赔钱,甚至有可能连续赔钱。这些损失会导致交易者怀疑自己,怀疑自己的决策,于是对自己一直使用的方法作出不理性的评价。”如此一来,再好的方法不严格的执行也等于零,正所谓无以规矩不成方圆。

相信正期望值的力量

费思总结了海龟思维:必须以长远的眼光看待交易,避免结果偏好并相信正期望值的威力。这些思维方式完全是与海龟交易法则的趋势跟踪策略相辅相成的。“长期有效的方法都有一个特征,那就是博彩行业中所说的优势。这个优势是指相对于对手的系统优势。”

费思强调了“期望值”的重要性,“如果我持续这样做,结果会怎么样?”期望值为正的游戏就是有赢得游戏的希望。费思说:“赌场老板们个个都对期望值理论心知肚明,赌场的正期望值哪怕只有几个百分点,长期看来也能带来滚滚财源。赌场老板们不在乎自己暂时的输局,那只是做生意的成本而已,他们知道自己才是最终的赢家。”“海龟”们也是以同样的方式看待亏损的,把亏损看做交易的成本,几次或者阶段性的亏损不代表整个系统是失败的。“海龟”们必须明白一件事:长期来看自己总会失而复得。

趋势跟踪策略面临的问题就是大多数人都不太容易坚持下去

一方面是由于大趋势很少出现,这意味着趋势跟踪策略的失败概率要远大于成功概率,可能有70%的交易都是赔钱的。另一方面,当发生转势时,这种策略同样都会失效。费思说:“趋势的结束和没有趋势对你的账户和你的精神都是一种残酷的打击。”交易者把这种亏损期称为“衰落期”,市场反转时,衰落可能持续几个月之久,而交易者会不断赔钱。

对于像海龟交易法则这样的典型趋势跟踪策略来说,相信正期望值并坚持到底是极为重要的内容。费思说:“海龟交易法的精髓其实很简单,抓住每一个趋势。你的大部分利润可能就来自两三次成功的交易,所以不要错过任何趋势,否则全年的努力可能都会化为泡影。”费思是所有“海龟”中最成功的一个,在“海龟交易试验”期间,他为理查德·丹尼斯赚取了超过3000万美元的交易收入。他还是机械交易系统和软件行业的先驱者之一。

小马有话说

其实我们不用过度纠结于海龟交易法则的详细内容,其实海龟交易法则告诉我们一个很简单的道理,建立一个适合自己的长期盈利模式下的交易系统,并且坚持按照系统执行,你就能盈利。

抛开海龟交易法则起源于期货,不难发现,交易法则中提到的种种原则,我在之前的很多文章中都有分批次的提及过,只是没有这么细致的进行总结,所以文中一句话我非常认同“交易大师的方法往往出奇的简单”。

关于海龟交易法则,我就介绍到这里,如果大家对这种交易法则很感兴趣,可以购阅柯蒂斯·费思所著的《海龟交易法则》。至于丹尼斯、费思这些投资家和文中提到的ATR指标,我会以专题的形式向大家逐一介绍。


欢迎大家关注小马说券头条号,了解更多投资理财资讯,投资有风险,入市需谨慎。

 

(本文由公众号越声财富(YSLC168888)整理,仅供参考,不构成操作建议。如自行操作,注意仓位控制和风险自负。)

柯蒂斯·费思是所有海龟中最成功的一个,在海龟工程期间,他共为理查德·丹尼斯赚了超过3 000万美元。他是机械交易系统和软件领域的先驱之一,目前在专门经营交易系统分析与开发软件的Trading Blox有限公司领导研发队伍。

短线海龟模型用法

只将此交易模型用于小时图(即60分钟K线)。

一般也只用于趋势性较强的大盘指数,不用于个股。

首先绘制10小时和100小时两根均线,然后绘制50小时内最高点和最低点曲线,再加25小时内最低点曲线(如果你使用通达信,可直接复制我下面的指标源代码,记得设为主图叠加)。

买入条件:当且仅当10小时均线大于100小时均线的前提下,小时收盘突破此前50小时的最高点时做多。

平仓条件:当小时收盘跌破此前25小时的最低点时平仓一半,跌破此前50小时最低点时全部平仓。

通达信指标公式:

M10:MA(C,10),LINETHICK2;

M100:MA(C,100);

U:REF(HHV(HIGH,50),1),COLORRED;

D:REF(LLV(LOW,50),1),COLORGREEN;

D2:REF(LLV(LOW,25),1),COLORBLUE,CIRCLEDOT;

DRAWICON(M10>M100 AND CROSS(C,U),L,1);

DRAWICON(CROSS(D,C),H,2);

DRAWICON(CROSS(D2,C),H,8);

备注:怎么在通达信软件里建立公式:

1、通达信里面按ctrl+f,调出公式管理器

2、设置下名字,主图叠加,放入上面公式代码即可

比如我设置公式名字叫海龟交易

3、点测试,保存,ok!

海龟法则的由来

?著名的商品投机家理查德·丹尼斯想弄清楚伟大的交易员是天生造就的还是后天培养的。为此,在1983年他招募了13个人,教授给他们期货交易的基本概念,以及他自己的交易方法和原则。

“学员们被称为‘海龟’。之所以命名海龟是基于两点:

?第一海龟天生具有奔向海洋的本能。

?第二海龟的绝大多数会中途夭折,只有极少数可以长大并颐养天年。这跟金融交易市场的二八法则近似。正如丹尼斯先生所说的:‘我们正在成长为交易员,就象他们正在成长为海龟一样’)。”

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

?丹尼斯证明用一套简单的系统和法则,可以使仅有很少或根本没有交易经验的人成为优秀的交易员。

当时,海龟们认为应对理查德·丹尼斯负责,商定甚至在他们议定的10年保密协定于1993年终止后也不泄露这些法则。但是,有个别海龟在网站上出售海龟交易法则而谋取钱财。两个原版海龟科蒂斯·费思和阿瑟·马多克,为了阻止个别海龟对知识产权的偷窃和出售海龟交易法则而赚钱的行为,决定在网站上将海龟交易法则免费公之于众。

我们现在能看到的海龟交易法则,既是由此所得。

?海龟交易法则:

?海龟交易系统有三个特点:

?其一,是一个完整的交易系统,其法则覆盖了交易的各个方面。对于交易中所涉及到的每项决策,系统都会给出答案。

?其二,是一个机械化的交易系统。正是由于其交易系统的完整*,所以,系统不给交易员留下一点主观想象决策的余地。

?其三,是一个被检测可以赚钱的交易系统。正是由于此,不管交易员在赚钱还是亏钱时都容易接受信号。

?海龟的核心交易原则:

?1:当价格突破20个交易周期最高点的时候入场。

?2:当价格跌破10个交易周期最低点时离场。

海龟用一个理查德.丹尼斯和比尔.埃克哈特称之为N的概念来表示某个特定市场根本的波动性。

N就是TR(True Range,实际范围)的20日指数移动平均,现在更普遍地称之为ATR。从概念上来看,N表示单个交易日某个特定市场所造成的价格波动的平均范围,它说明了开盘价的缺口。N同样用构成合约基础的点(points)进行度量。

每日实际范围的计算:

TR(实际范围)=max(H-L,H-PDC,PDC-L)

式中:

H-当日最高价

L-当日最低价

PDC-前个交易日的收盘价

用下面的公式计算N:

N=(19×PDN+TR)/20

式中:

PDN-前个交易日的N值

TR-当日的实际范围

因为这个公式要用到前个交易日的N值,所以,你必须从实际范围的20日简单平均开始计算初始值。

价值量波动性的调整

确定头寸规模的第一步,是确定用根本的市场价格波动性(用其N值定义)表示的价值量波动性。

这听上去比实际情况更复杂。价值量波动性用下面简单的公式确定:

价值量波动性=N×每点价值量

波动性调整后的头寸单位

海龟按照我们所称的单位(Units)建立头寸。单位按大小排列,使1N代表帐户净值的1%。

因此,特定市场或特定商品的单位可用下面的公式计算:

单位=帐户的1%/市场价值量波动性

单位=帐户的1%/(N×每点价值量)

如果您喜欢以上文章,或者想了解更多股市投资经验及技巧,可以关注公众号越声财富(YSLC168888),干货满满!

广东广播电视台全资国有企业,全国广电系统唯一专业证券咨询机构(资格证编号:ZX0027),提供每日实战盘面解读,技术实战培训、投资情报。

https://www.xusbuy.net

上一篇:陈光标媳妇(陈光标现在怎么样了)

下一篇:股票(002048股票走势)

相关推荐

返回顶部