python海龟交易策略_海龟交易法则的基本原理是什么,如何实现海龟交易策略?...
海龜交易法則簡(jiǎn)介
什么是海龜交易法則?
?
1983年年中,著名的商品投機(jī)家理查德.丹尼斯與他的老友比爾.埃克哈特進(jìn)行了一場(chǎng)辯論,這場(chǎng)辯論是關(guān)于偉大的交易員是天生造就還是后天培養(yǎng)的。理查德相信,他可以教會(huì)人們成為偉大的交易員。比爾則認(rèn)為遺傳和天性才是決定因素。
?
為了解決這一問(wèn)題,理查德建議招募并培訓(xùn)一些交易員,給他們提供真實(shí)的帳戶(hù)進(jìn)行交易,看看兩個(gè)人中誰(shuí)是正確的。
?
他們?cè)凇栋蛡愂稀贰ⅰ度A爾街期刊》和《紐約時(shí)報(bào)》上刊登了大幅廣告,招聘交易學(xué)員。廣告中稱(chēng),在一個(gè)短暫的培訓(xùn)會(huì)后,新手將被提供一個(gè)帳戶(hù)進(jìn)行交易。
?
理查德從報(bào)名的人中精選出13個(gè)人,1983年12月底,學(xué)員被邀請(qǐng)到芝加哥進(jìn)行兩周的培訓(xùn),到1984年1月初,開(kāi)始用小帳戶(hù)進(jìn)行交易。到了2月初,在學(xué)員證明了自己的能力之后,丹尼斯給其中的大多數(shù)人提供了50萬(wàn)至200萬(wàn)美元的資金帳戶(hù)。
?
“學(xué)員們被稱(chēng)為‘海龜’(丹尼斯先生說(shuō)這項(xiàng)計(jì)劃開(kāi)始時(shí)他剛剛從亞洲回來(lái),他解釋了自己向別人說(shuō)過(guò)的話(huà),‘我們正在成長(zhǎng)為交易員,就象在新加坡他們正在成長(zhǎng)為海龜一樣’)。”----斯坦利.W.安格瑞斯特,《華爾街期刊》,1989年9月5日
?
海龜成為交易史上最著名的實(shí)驗(yàn),因?yàn)樵陔S后的四年中這些海龜交易員取得了年均復(fù)利80%的收益。
?
是的,里克證明了交易可以被傳授。他證明了用一套簡(jiǎn)單的法則,他可以使僅有很少或根本沒(méi)有交易經(jīng)驗(yàn)的人成為優(yōu)秀的交易員。而這個(gè)交易法則被后世稱(chēng)為“海龜交易法則”。
海龜交易法則具體內(nèi)容
海龜交易法則:海龜交易法則屬于趨勢(shì)交易,首先建立唐奇安通道(下文會(huì)具體解釋),即確定上突破線(xiàn)和下突破線(xiàn),如果價(jià)格突破上線(xiàn),則做多,如果價(jià)格突破下線(xiàn)就平倉(cāng)或做空。
唐奇安通道與開(kāi)倉(cāng)
唐奇安通道,作為一個(gè)通道必定有上線(xiàn)和下線(xiàn),上線(xiàn)就是前N1日內(nèi)的最高價(jià),下線(xiàn)就是前N2日內(nèi)的最低價(jià),一般來(lái)說(shuō)N1=20,N2=10;然后,價(jià)格上穿就買(mǎi),下穿就賣(mài),就是這么簡(jiǎn)單。
但是僅僅只用唐奇安通道進(jìn)行買(mǎi)賣(mài),其實(shí)效果跟MACD線(xiàn)等其他趨勢(shì)策略的效果差不多,并沒(méi)有更優(yōu)
ATR與倉(cāng)位管理
海龜交易法則最核心的部分,在于倉(cāng)位的控制,這種止損會(huì)讓你基準(zhǔn)的虧損不超過(guò)總資金的n%,所以這部分的思想是需要我們學(xué)習(xí)的。
當(dāng)日的真實(shí)波幅TR(true range)
計(jì)算當(dāng)日真實(shí)波幅公式
?
TR_1=Max(H_1?L_1,H_1?C_0,C_0?L_1)
其中,下表1代表當(dāng)日,下表0代表昨日,C_0是昨日開(kāi)盤(pán)價(jià)close,H是最高價(jià)high,L是最低價(jià)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的平均數(shù)。
這時(shí)候我們已經(jīng)求出ATR,這個(gè)數(shù)字可以當(dāng)做衡量今天的價(jià)格波幅的基準(zhǔn),為1單位,比如現(xiàn)在價(jià)格是100元,基準(zhǔn)波幅ATR=4元,代表今天基準(zhǔn)波幅在98-102元,如果是2倍ATR,波幅就在96-104元。
倉(cāng)位管理
在僅討論多頭的情況下:
1、如果標(biāo)的價(jià)格跌破"持倉(cāng)均價(jià)-0.5(1、1.5、2)倍的ATR",則平倉(cāng)至原始倉(cāng)位的75%(50%,25%,0%)。
2、如果標(biāo)的價(jià)格跌破唐奇安通道下軌,則全平倉(cāng)。
海龜交易法則策略實(shí)現(xiàn)(基于掘金量化平臺(tái))
策略思想
當(dāng)價(jià)格上穿唐奇安通道且短MA在長(zhǎng)MA上方時(shí)開(kāi)多倉(cāng);當(dāng)價(jià)格下穿唐奇安通道且短MA在長(zhǎng)MA下方時(shí)開(kāi)空倉(cāng)(8手)
?
若有多倉(cāng)則在價(jià)格跌破唐奇安平倉(cāng)通道下軌的時(shí)候全平倉(cāng)位,否則根據(jù)跌破持倉(cāng)均價(jià) -
x(x=0.5,1,1.5,2)倍ATR把倉(cāng)位平至6/4/2/0手
?
若有空倉(cāng)則在價(jià)格漲破唐奇安平倉(cāng)通道上軌的時(shí)候全平倉(cāng)位,否則根據(jù)漲破持倉(cāng)均價(jià) +
x(x=0.5,1,1.5,2)倍ATR把倉(cāng)位平至6/4/2/0手
?
策略主要步驟實(shí)現(xiàn)
訂閱數(shù)據(jù)
subscribe(symbols=symbols, frequency='1d', count=31, wait_group=True)
? 訂閱數(shù)據(jù)需要在定義init
函數(shù)里面設(shè)置,并調(diào)用subscribe函數(shù),這里注意,我們需要通過(guò)計(jì)算前三十根bars來(lái)作為開(kāi)平倉(cāng)的標(biāo)準(zhǔn),并在當(dāng)前bar上做出開(kāi)平倉(cāng)操作,所以需要獲取31根bar:
symbols?需要設(shè)置訂閱的標(biāo)的代碼。
frequency需設(shè)置訂閱數(shù)據(jù)的周期級(jí)別,這里設(shè)置1d表示以一天為周期。
?
count需要設(shè)置獲取的bar的數(shù)量
?
數(shù)據(jù)獲取
data = context.data(symbol=symbol,
frequency='1d', count=31, fields='close')
?
訂閱數(shù)據(jù)之后,需要獲取已經(jīng)訂閱的數(shù)據(jù)來(lái)進(jìn)行操作,這時(shí)需調(diào)用context.data函數(shù):
symbols需要設(shè)置訂閱的標(biāo)的代碼。
frequency需設(shè)置訂閱數(shù)據(jù)的周期級(jí)別,這里設(shè)置1d表示以一天為周期。
count需要設(shè)置獲取的bar的數(shù)量
fields需要設(shè)置返回值的種類(lèi)
?
獲取持倉(cāng)信息
position_long = context.account().position(symbol=symbol,
side=PositionSide_Long)
position_short = context.account().position(symbol=symbol,
side=PositionSide_Short)
?
在判斷平倉(cāng)條件時(shí),需要獲取持倉(cāng)信息(包含持倉(cāng)均價(jià)),這就需要調(diào)用context.account().position函數(shù):
symbols需要設(shè)置訂閱的標(biāo)的代碼。
side需要設(shè)置持倉(cāng)方向,有PositionSide_Long和PositionSide_Short兩個(gè)選擇。
?
策略回測(cè)分析
回測(cè)報(bào)告
?分析
?
我們選取了2017年6月至2017年12月作為回測(cè)周期,“RB1801”與“FG801”作為標(biāo)的合約,均線(xiàn)長(zhǎng)短周期分別為5d,20d,唐奇安通道上下軌計(jì)算周期分別為20d,10d,ATR計(jì)算周期為20d,可以看出:
勝率(具有盈利的平倉(cāng)次數(shù)與總平倉(cāng)次數(shù)之比)達(dá)到了34.48%,因?yàn)楹}斀灰追▌t為趨勢(shì)跟蹤策略,所以勝率不會(huì)太高。
?
卡瑪比率(年化收益率與歷史最大回撤之比)是使用最大回撤率來(lái)衡量風(fēng)險(xiǎn)。采用最大回撤率來(lái)衡量風(fēng)險(xiǎn),關(guān)注的是最極端的情況。卡瑪比率越高表示策略承受每單位最大損失獲得的報(bào)酬越高。在這里卡瑪比率超過(guò)了9。
?
夏普比率(年化收益率減無(wú)風(fēng)險(xiǎn)收益率的差收益波動(dòng)率之比)超過(guò)2.5,也即承受1單位的風(fēng)險(xiǎn),會(huì)有超過(guò)2.5個(gè)單位的收益回報(bào)。
?
策略收益曲線(xiàn)整體相對(duì)穩(wěn)定,適合穩(wěn)定型投資者,最大回撤極小,另外,策略在趨勢(shì)行情行情中表現(xiàn)更加。
總結(jié)
以上是生活随笔為你收集整理的python海龟交易策略_海龟交易法则的基本原理是什么,如何实现海龟交易策略?...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ios没有StringBuilder,哥
- 下一篇: Python 教你训练一个98%准确率的