股票学习网

怎么买股票_怎么买股票入门_新手怎么买股票 - - 股票学习网!

海龟法则系统讲解(海龟交易法则)

2023-04-09 13:03分类:KDJ 阅读:

 

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完整源码、量化投资前沿分析框架,与博主直接交流、结识圈内朋友等。

 

投资者的资金管理与仓位、风险控制密切相关,从某种意义上讲,控制好仓位即控制好风险。对于仓位更进一步的管理,例如买哪只股票、持多少仓位、以何种价格分期分批购买等,都是相对细节的问题,需要与投资者的交易习惯相一致。

 

1、仓位控制的要点

 

仓位作为投资者在每一次具体操作前准备入市的资本,是需要一定合理配比的。同理,不同的仓位对应不同的资金管理配置,但其都应包含于总体策略内,这也证明了在A股市场,资金管理与仓位控制基本等同率可达80%~90%。需要特别提醒广大投资者:不要以重仓或满仓的状态去投机。

对于如何控制仓位的问题,有以下几点说明:第一,拒绝一夜暴富的心理,因为重仓百分百收益的概率极低;第二,针对不同板块,例如蓝筹类、热门类、科技类以及国家产业扶持类等,从几个行业里选择相应的龙头股做一组“组合投资”;第三,经过严格系统或依照交易系统选择出的一只好股,一定对仓位进行均衡分配,一般把仓位控制在10%~20%;第四,对于高风险高波动性的暴涨暴跌,仓位一定要小

如此投资者在一轮正常行情中能够基本跑赢大势。有三类股票建议普通投资者不要操作:ST和星ST 股票、基本面出现了重大问题的股票以及业绩大幅亏损的股票,这三类股票都有随时退市风险。

 

2、资金管理的要点

 

作者写到,“使用某一种特定策略的人越多,价格差就会消失得越快,因为这些交易者本质上都在争夺同样的机会,长此以往,这种效应便会毁掉这种策略,因为他会变得越来越无利可图。相反,对一般投资者没有吸引力的系统和策略反而有更长的生命周期,趋势跟踪就是个很好的例子。大多数投资者都很难忍受,对趋势跟踪策略来说,司空见惯的大衰落和价值波动。正因为这样,趋势跟踪策略在长期内始终有效。不过趋势跟踪策略的回报水平是带有周期性的,每当有大量的资金在一段相对稳定的回报期后,跟风涌入通常会出现几个相对艰苦的年头,因为有太多的投资者在同样的市场中使用同样的策略,市场无法轻松地消化这么多资金,相反,当投资者们在一段相对艰苦的时期后纷纷撤走他们的资金时,好时期通常又会再度来临!”

资金管理的要点在于:投资者对预期收益的设定。预期不同,风险承受能力亦不同,整体资金管理也就完全不同。风险承受能力较低的投资通常更适合稳健又保守的操作,在配置可以以蓝筹股为主,当市场出现非常明确的趋势性行情时,可以适当增仓,把更多的资本细分到其他行业的龙头股中,当然,这样的预期收益相对而言也不是很高;而对于风险承受能力较高的投资来说,属于“高风险 高收益”类型,其投资方向会更偏热点股、强势股等,相应的,配置仓位可以达到60%~70%。

 

3、相关趋势跟踪技术

 

在《海龟交易法则》中,作者总结了五种常用的趋势跟踪技术:突破、移动平均线、波幅通道、定时退出与简单回顾。以上五种趋势跟踪技术各具特点,亦有各自的使用范畴。

其中“突破”与“移动平均线”在A股实操上使用的概率较高,特别是“移动平均线”,当大趋势来临时,场外资金大举介入所有的多头排列,投资者仅用“移动平均线”方法就能在普通股票投资上获取一两倍的收益。在此重点强调:A股牛市中80%以上的突破都是有效的,反之,A股熊市中真正的突破是很低的,大部分突破都是虚假的。

 

4、常用的趋势跟踪技术应用

 

作者写到,“多年来已经有数百种五花八门的指示指标陆续问世。今年技术的进步使交易者们得以轻松的为自己的公式编程创造自己的指标,而交易杂志每一期都会刊登新的指标和这些指标为基础的新系统。如果你想更详细地了解其他指示器和系统积木,你可以去搜寻一下相关的资源,不过为了避免你过度沉迷,我想先给你一个忠告,我以趋势跟踪法为例,但这个忠告也适用于其他交易策略:如果一个市场开始上扬,无论你使用什么样的趋势跟踪系统,这迟早都会引发一个入市信号,所有的积木都可以加以调整,加快或者放慢反应速度,所以你实际上可以用任何积木搭建一个系统,它与用其他积木建的系统不会有太大的区别!我在这里给大家的忠告是,与其天天去寻找那些新颖完美,并且在过去的市场上所向披靡的超级指标,不如把时间花在更有意义的地方。”

举个例子:当市场趋势确立后,投资者可以在牛市行情出现明确趋势时于回调至均线买入,这是制胜的诀窍;其次,买入点与卖出点一定要匹配,不要怀疑自己的交易系统,跌破止损点立刻出场,等待下一个买入信号的出现再入市。

 

普通投资者需要对技术分析,特别是对均线,包括形态分析、量价分析等,做一次系统的学习,培养自己在牛、熊市间转变的思维转换,多多研读经典走势,寻找到适合自己的交易系统。无论是交易方法还是交易系统,投资者都需要模拟操作一段时间,尝试后才有资格判断哪一种胜算更大!

本文字数3638,预计阅读时间3分钟。

阅读使人充实,分享使人愉悦。文章结尾附有思维导图,帮你梳理文中脉络精华。欢迎阅读,你离知识又近一步。

 

今天分享的书籍是《海龟交易法则》。

 

作者柯蒂斯•费思,所有海龟中最成功的一个,在“海龟交易试验”期间,他为理查德•丹尼斯赚取了超过3000万美元的交易收入。他还是机械交易系统和软件行业的先驱者之一。

 

这本书来源于两位交易大师,丹尼斯和埃克哈特打的一个赌。丹尼斯认为,优秀交易员是后天培养的,只要教给他们正确的交易技巧就行。埃克哈特则认为优秀的交易员是天生的。丹尼斯为了证明自己观点,招募了一批学员,传授给他们交易技巧。这批学员在丹尼斯的指导下,都获得了不凡的投资成绩,这本书说的就是丹尼斯的交易技巧“海龟交易法则”。

 

 

01、什么是海龟交易法则

 

 

作者说,我们只有先搞清楚什么是交易者,才能知道海龟交易法则的适用边界。我们都知道投资者,比如巴菲特、查理・芒格,投资者买股票是为了长远的目标,他们相信某些东西或者是公司,在相当长的一段时间之后会升值,他们表面上买的是公司的股票,但事实上他们买的是实实在在的东西,买的是股票所代表的企业,这里就包括企业的管理团队、产品和市场地位等等。

 

但交易者买的不是实在的东西,交易者只关心价格,从本质上来说,他们买卖的是风险。既然交易者是买卖风险的人,那就一定有需要把风险卖出的人。这些需要转移风险的人,有个专用名词,叫“对冲者”。

 

举个例子:

 

航空公司一般对飞行燃料的价格都非常敏感,这些燃料的价格又和石油价格有着紧密的联系,所以石油价格上涨的时候,航空公司的成本就会上涨,利润就会下降,除非它抬高机票的价格,但涨价会侵犯消费者的利益,让消费者感到很不满。

所以在这个案例里,航空公司就是对冲者,它需要把石油价格上涨的风险转移出去。转移给交易者,那怎么转移呢?

航空公司转移风险的办法,就是在石油市场上买期货合约,来对冲风险。比如现在的石油是25美元一桶,某家航空公司,在石油市场上买了五年25美元一桶石油的合约,也就是说,在未来的五年,不管石油价格是上升还是下跌,这家航空公司都能买到25美元一桶的石油。

经过这样的操作,航空公司就能避免未来五年石油涨价带来的风险,当然,万一石油降价,它也必须承担损失。这些期货合约,也就是石油价格涨跌的风险,就是交易者们买卖的东西。

 

 

风险有很多种,交易者买卖的风险大概可以分为两种,流动性风险和价格风险。所谓流动性风险,就是无法交易的风险,就是买了卖不出去,或者是想买没人卖。另一种价格风险,就是价格大幅上升或者下跌带来的风险。那么海龟交易法则到底是什么?

 

海龟交易法则,是一套机械的交易系统,是由交易大师理查德・丹尼斯和威廉・埃克哈特开发的。那什么是机械交易系统呢?就是一套有明确规则的算法系统,你给系统一个输入,就会得到一个输出,这套系统不需要你自己把握度,只需要你严格执行系统规则,按着套路出牌就行。

 

人们在市场交易里非常紧张,每次的决策都会牵涉到实际的利害,在这种情况下,想要做到完全的理性,几乎是不可能的。情绪和认知误区会严重干扰到我们的决策。

 

比如,锚定效应,就会干扰决策。锚定效应说的是人们在做决策的时候,往往会依赖那些容易获得的信息。在市场里的表现,就是过分关注最近的价格高点和低点,这些高点和低点就是“锚”,人们会根据这些锚来判断价格高低。

再比如,近期偏好效应。人们更重视近期的数据和经验,相比上个星期的一笔交易,昨天的交易就更让人重视,上星期的交易,比去年的交易更受到重视。这种效应会让人们在市场里的交易行为更短视,忽略长期的趋势。

 

我们下面就来具体说说海龟交易法则。想要在股市上赚钱,就要低买高卖,但怎么判断什么时候低,什么时候高?海龟交易法则里就有一个判断的方法,可以供我们参考。

 

 

1、支撑力和阻力位

 

现在你可以在大脑里想象一张股市的价格走势图,那条K线上上下下,就像心电图一样。这时候你截取某一段K线,你发现这段K线总是在15美元到17美元之间波动,这里的15美元,就叫做支撑位,17美元,就叫做阻力位。

 

意思就是说17美元上下就像是有一种阻力,让价格涨不上去,而15美元,又像是一种支撑,让价格不再下跌。一旦价格突破了支撑位和阻力位,价格就会沿着突破的方向继续前进,而且会持续相当长一段时间,这就出现了所谓的“趋势”。

 

造成支撑位、阻力位现象的原因,就是人们在交易市场里的非理性。锚定效应和近期偏好,会让人们根据容易获得的近期信息,来判断股市价格的高低,这就造成了股市行情会在支撑位和阻力位之间上下波动。

 

2、入市策略

 

什么时候买入是最佳时机?第一个是短期策略,你要参考最近20天的价格走势,一旦突破了20天里的阻力位,也就是最高点,这时候你就是买入,做多股票。反过来,一旦突破了20天里的支撑位,也就是最低点,这时候就卖出,做空股票。

 

另外一个是长期策略,你要参考最近55天的价格走势,然后操作和短期策略一样,突破阻力位,买入,做多股票;突破支撑位,卖出,做空股票。

 

 

3、及时止损

 

交易行业里有一句老话:“落袋为安的人永远也不会破产。”所以为了防止赔死,一定要设置止损点,一旦价格达到了你设置的止损点,就必须退出,一下都不要犹豫,所有犹豫都会酿成灾难。那止损点应该设置在什么价位上呢?

 

作者认为,如果你使用短期交易策略进入市场,那价格一旦跌破过去10天里的最低点,就要退出。反过来,如果是做空股票的话,那就参考过去10天的最高点,一旦超过最高点就退出。如果用的是长期交易策略进入市场,你就要参考过去20天的价格,来决定是否退出。

 

那什么时候卖出,能尽可能多地获得利润呢?要在趋势平稳之后,也就是股价又开始在支撑位和阻力位上下徘徊的时候,这才考虑卖出股票套现。作者认为,你只要严格遵守这套交易策略,长期来看,就能实现低价买进,高价卖出。

 

记住要控制损失,最重要的一件事就是在入市之前就确定退出的标准。一旦价格到达了你的止损标准,你必须退出,坚定不移,无一例外。犹豫和动摇终将酿成灾难。

 

 

02、海龟式交易系统并不是永远有效

 

 

作者柯蒂斯・费思认为,一个交易系统是不可能长期有效的。下面我们就来看看他给出的理由。作者认为,那些历史上表现非常好的交易系统,未来不一定还会有那么好的成绩,甚至历史上表现越好的交易系统,在未来的表现可能会越差。为什么会出现这种情况呢?作者总结了三个原因,交易者效应、随机效应和过度拟合。

 

1、交易效应

 

量子力学里面有一个测不准原理,简单来说,就是观察者的观察行为,会干扰到被观察者。就是说一个东西你观察它的时候是一个样,不观察它的时候又是一个样,你不可能知道它本来的样貌,所以叫测不准。

 

在交易世界里,也存在这种测不准的现象,作者把这种现象叫交易者效应,说的就是人们的交易行为,会改变目前的市场状态。如果出现一种交易系统很赚钱,那其他交易者就会慢慢地开始注意到这种交易系统,然后就开始模仿,用的人越来越多,这种策略就没有之前那么好的效果了。

 

2、随机效应

 

第二个原因是随机效应。有些历史数据漂亮的系统,纯粹就是撞了大运。随机效应其实很容易发生,你甚至都不用构建一个复杂的交易系统,就能做到100%预测股票涨跌。股票,无非就是涨和跌这两个结果,你找一万个人给他们发邮件,5000人发涨,另外5000人发跌,第二天有一半人肯定是正确的。

 

接下来正确的那5000人再一半发涨,一半发跌,又会有一半人收到了正确的预测。这样十几轮下来,总有那么几个人,每次收到的预测都是对的,这不就实现了“100%准确”的预测吗?但其实是骗子骗人的手法。

 

 

3、过度拟合

 

第三种原因是过度拟合。所谓过度拟合,说的是如果一个模型描述的数据和历史数据的一致性越高,它预测未来的能力反而越差。也就是说,如果你的模型涉及到决策判断和预测未来,精确写实往往不如粗略写意。数学家把这种现象就叫做过度拟合。

 

如果一个交易系统,历史上表现很好,和历史数据非常吻合,那么,它对未知数据的预测能力就会非常差。为什么会这样呢?因为那些所谓的“已知数据”,都是有误差的,精准的拟合历史数据,会把这些误差放大,拟合得越精准,未来的误差越大,预测越糟糕。

 

作者认为,交易系统一定要简单,如果一点点的数据变动,模型的预测就会大幅度的变动,那基本上就是过度拟合了,一个好模型,不应该对数据如此敏感。

 

最后的话:

 

尤金・法玛的有效市场假说和罗伯特・席勒的市场泡沫理论,认为市场价格是随机变动的,不存在预测的可能性,市场价格是存在泡沫的,是有预测空间的。所以,长期来看,市场价格是没有规律的。但人的非理性行为,也是客观事实,它会影响到人们的短期交易行为,所以从短期来看,股市的波动似乎又有一点规律可循。

 

而作者认为,不管是什么交易法则,都不可能长期有效,除了因为价格在长期来看是不可预测的,还因为有交易者效应、随机效应、过度拟合这些效应的存在,这会让一个曾经辉煌无比的交易系统,在未来黯然失色。所以对于海龟法则不能生搬硬套,而是合理运用。

 

 

海龟交易法则是交易界中的著作,源于投资界著名的大师丹尼斯跟他的老朋友威廉·埃克哈特在新加坡的海归养殖场旅游的时候提到的一句话,“我们要培养交易者,就像新加坡人养海龟一样。”伟大的交易者到底是天生的还是后天培养的?因为这个问题两个人发生了激烈的争吵。

于是两人决定做一个实验,花几千万美金招募培训生并传授自己的交易方法,给每个人一个100万美元的交易帐户,这些人来自全国各行各业,都是没有任何经验的新手,这个计划就称之为海龟计划。海龟交易训练营所培养出来的交易者,后来震惊了整个交易界,出了很多有名的操盘手。

海龟培训课的所有内容可以归结为以下四个要点:

1、掌握优势:找到一个期望值为正的交易策略,因为长期来看它能创造正的回报。

2、管理风险:控制风险,守住阵地,否则即使你有一个期望值为正的系统,你也等不到它创造成果的那一天。

3、坚定不移:唯有坚定不移地执行你的策略,你才能真正获得系统的正期望值。

4、简单明了:海龟方法的精髓其实很简单——抓住每一个趋势。你的大部分利润可能就来自两三次成功的交易,所以不要错过任何趋势,否则你全年的努力可能都会化为泡影。这很简单,也很容易理解,只是不容易做到。

最终理查德.丹尼斯的最得意弟子,在海龟计划中成绩第一的海龟——柯蒂斯.费思站出来为海龟正名,写下了《海龟交易法则》。

海龟交易法则这本书重点阐述了哪些问题呢?首先一点,海龟交易法则这本书里提到了一些交易系统,但是他的交易系统都遵循一个基本的原则,那就是简单。比方20日均线交易系统,只要价格突破20日均线立即做多,。第二个方面整本书有一个重要的思想就是谈到了执行力的问题,海龟交易系统是全世界公开的,但是能够依靠它取得成功的人少之又少。其实我们普通投资者跟成功投资者的重要差别不是我们有没有交易系统,而是执行力的问题,如何贯彻执行交易系统的能力问题。交易系统本身是简单的,投资者是否成功的最重要的因素就是执行力。执行交易系统的能力是整书强调的重点。

海龟交易法则的创始人,全球著名的投资大家丹尼斯,以及海龟交易训练营培养出来的最优秀的操盘手柯蒂斯,他们都同样经历了曲折的人生,丹尼斯当时在交易界风靡全球,有着巨大的影响,但是他最终也经历了爆仓离开了交易界。这说明人性很难战胜,知道正确,不一定能做到正确。柯蒂斯也一样,作为海龟训练营培养出来的最顶级的操盘手,曾经创下了亿万财富,都可以买下半个航空公司了,但是同样在较短的时间内爆仓,最终重新走上了打工的道路。

曾经在全球金融界发生重大影响有典型意义的人都会有这么一天,说明人性真的很复杂,连这些叱咤风云的大人物都无法克服更何况我们普通人。由此可见如果要我们战胜人性的弱点是不现实的。那么我们是不是可以借助工具来帮我们实现呢?

这儿要给大家分享的就是程序化交易系统!

什么是程序化智能交易系统?

根据交易者的手动交易思路利用计算机语言编程开发的自动化交易软件,具有全天24小时自动捕捉交易信号,自动下单,自动设置止损、止盈,自动管理仓位、自动控制风险等强大交易功能。可以帮助人节省大量的盯盘时间,以及克服人性的弱点,自动执行交易系统从而实现可期的盈利。

 

 

 

以下为初始资金为1万美金的资金曲线图:

 

 

 

超过1年的运营数据,账户收益超过80%的欧美程序化交易系统做单情况如下:

 

 

程序化交易系统适合自己想投资外汇、黄金,原油,期货等,但是没有太多时间和精力看盘;或者自己手动交易不能稳定赚钱的投资者。

 

https://www.haizuanshi.com

上一篇:东风科技最新消息(东风科技重组股票)

下一篇:股票600590好(股票)

相关推荐

返回顶部