Dual Thrust系統(tǒng)是 Michael Chalek 在80 年代開發(fā)的 Dual Thrust。在自動化交易排名中,目前為止,仍然排名第二左右。下表是我自己按5分鐘周期跑回測的結(jié)果,效果非常好:![]() 這是上表成績最好的滬銅指數(shù)的成績走勢圖: ![]() 通過幾個關(guān)鍵數(shù)據(jù)的對比發(fā)現(xiàn),該模型對于多品種還是有一定的普適性,模型中的參數(shù)也采用默認,未針對個別產(chǎn)品進行優(yōu)化,雖然選出的四個產(chǎn)品都達到了正收益,但由于品種的差異性,區(qū)別還是較大。 我們可以看下它的源代碼,并不復雜: Inputs: K1(.5),K2(.5),Mday(1),Nday(1); Vars: BuyRange(0), SellRange(0); Vars: BuyTrig(0),SellTrig(0); Vars: HH(0),LL(0),HC(0),LC(0); If CurrentBar > 1 Then Begin HH = Highest(High,Mday); HC = Highest(Close,Mday); LL = Lowest(Low,Mday); LC = Lowest(Close,Mday); If (HH - LC) >= (HC - LL) Then Begin SellRange = HH - LC; End Else Begin SellRange = HC - LL; End; HH = Highest(High,Nday); HC = Highest(Close,Nday); LL = Lowest(Low,Nday); LC = Lowest(Close,Nday); If (HH - LC) >= (HC - LL) Then Begin BuyRange = HH - LC; End Else Begin BuyRange = HC - LL; End; BuyTrig = K1*BuyRange; SellTrig = K2*SellRange; If MarketPosition = 0 Then Begin Buy at Open of next bar + BuyTrig Stop; Sell at Open of next bar - SellTrig Stop; End; If MarketPosition = -1 Then Begin Buy at Open of next bar + Buytrig Stop; End; If MarketPosition = 1 Then Begin Sell at Open of next bar - SellTrig Stop; End; End; 短短幾十行而已,難度并不大,但其背后的交易策略卻是很厲害。 它的邏輯原型是較為常見的日內(nèi)交易策略之一開盤區(qū)間突破策略,以今日開盤價加減一定比例的昨日振幅,確定上下軌。日內(nèi)突破上軌時平空做多,突破下軌時平多做空。 開盤區(qū)間突破策略基本原理 1. 在今天的收盤,計算兩個值:最高價-收盤價,和收盤價-最低價。然后取這兩個值較大的那個,乘以k值0.7。把結(jié)果稱為觸發(fā)值。 2. 在明天的開盤,記錄開盤價,然后在價格超過(開盤+觸發(fā)值)時馬上買入,或者價格低于(開盤-觸發(fā)值)時馬上賣空。 3. 沒有明確止損。這個系統(tǒng)是反轉(zhuǎn)系統(tǒng),也就是說,如果在價格超過(開盤+觸發(fā)值)時手頭有一口空單,則買入兩口。同理,如果在價格低于(開盤-觸發(fā)值)時手上有一口多單,則賣出兩口。 ![]() Dual Thrust在開盤區(qū)間突破策略上進行了相關(guān)改進: 1、在范圍(range)的設(shè)置上,引入前N日的四個價位,使得一定時期內(nèi)的范圍相對穩(wěn)定,可以適用于日間的趨勢跟蹤; 2、Dual Thrust對于多頭和空頭的觸發(fā)條件,考慮了非對稱的幅度,做多和做空參考的Range可以選擇不同的周期數(shù),也可以通過參數(shù)K1和K2來確定。當K1時,多頭相對容易被觸發(fā),當K1>K2時,空頭相對容易被觸發(fā)。 因此,在使用該策略時,一方面可以參考歷史數(shù)據(jù)測試的最優(yōu)參數(shù),另一方面,則可以根據(jù)自己對后勢的判斷,或從其他大周期的技術(shù)指標入手,階段性地動態(tài)調(diào)整K1和K2的值。 就是一個典型的觀望、等待信號、進場、套利、離場的套路,卻效果卓著。 因此對于學習程序化,一是對編程語言和工具的掌握,這個和所有的碼農(nóng)進階之路一樣,練是硬道理,技術(shù)要求與你的策略復雜程度成正相關(guān)。二就是對交易策略的領(lǐng)會,賺錢本身是體力活,賺錢的邏輯才是腦力活。 推薦幾篇程序化交易入門材料: 資料來源此網(wǎng)站 ![]() 日內(nèi)交易模型的設(shè)計思路 【入市設(shè)計】 系統(tǒng)模型入市的設(shè)計思路,事實上應(yīng)與投資者的交易風格喜好、交易時間框架密切相關(guān),可以分別是趨勢跟蹤、震蕩交易、套利交易等,近年來甚至也出現(xiàn)了基于基本面分析數(shù)據(jù)的量化模型,以及帶有人工智能性質(zhì)的神經(jīng)網(wǎng)絡(luò)、遺傳算法等具備自學習、自適應(yīng)市場能力的高級交易系統(tǒng)模型。不過,最簡單、最實用、最適合普通投資者的交易系統(tǒng)入市設(shè)計思路仍然是趨勢跟蹤,而趨勢跟蹤的實質(zhì)就是追漲殺跌或者美其名曰:順勢而為。突破,是趨勢跟蹤系統(tǒng)設(shè)計中最為簡潔實用的設(shè)計思路,具體應(yīng)用設(shè)計思路可能包括: ⒈通道突破。最著名的此類程式設(shè)計代表作為:海龜交易法則與四周規(guī)則。其入市信號觸發(fā)設(shè)計為:價格突破最近N根K線的高低點。長期來看,這種設(shè)計思路雖然簡單,但永遠也不會失效或顯得過時。事實上,越簡單的反而越有效。 ⒉ 均線突破。該設(shè)計思路的代表作品有:克羅均線,它由4、9、18等三條均線組成;鱷魚組線,它由5、8、13等三條移中平均線組成;自適應(yīng)均線,它由考夫曼博士提出,以市場效率生成彈性浮動參數(shù),以均線拐頭為信號觸發(fā)。 ⒊ 指標突破。常見的技術(shù)分析指標,如MACD、KDJ、RSI、BOLL、SAR、WR、ADX等,均可獨立構(gòu)成一個簡單的趨勢跟蹤系統(tǒng),當然,是使用系統(tǒng)默認參數(shù),還是使用優(yōu)化參數(shù);是使用其常規(guī)用法,還是使用創(chuàng)新用法,可能存在仁者見仁、智者見智的分歧。 ⒋ 形態(tài)突破。形態(tài)突破,包括K線形態(tài)組合突破、經(jīng)典技術(shù)分析形態(tài)突破等,K線形態(tài)組合的突破,以酒田戰(zhàn)法為最經(jīng)典,著名的紅三兵、黑三兵、希望之星等經(jīng)典K 線形態(tài)均源于此,共分為酒田戰(zhàn)法70型。至于經(jīng)典的雙頂、雙底、趨勢線突破、橫盤突破、頭肩頂?shù)?、三角形態(tài)、楔形、旗形、鉆石型、圓弧頂?shù)椎燃夹g(shù)形態(tài),因普通的模型編寫語言較難精確描述而存在一定的設(shè)計使用障礙,需要使用轉(zhuǎn)向函數(shù)及圖形模糊識別技術(shù)來克服。 ⒌ 波動性突破。波動性可以定義為:最高價與最低價、當根K線的最高價與昨收盤、當根K線的最低價與昨收盤,這三組價格差額的最大者即該品種的波動性值,波動性既可以進行橫向比較品種間的波動性水平,也可以用于縱向判斷價格波動的異常,并作為入市信號的觸發(fā)器。 ⒍ 時間價格突破。在趨勢行情的必經(jīng)之路,守株待兔,是我們進行突破系統(tǒng)設(shè)計的基本思路。而時間、價格突破,從速度、幅度的兩維視角預約了趨勢行情,堪稱突破系統(tǒng)設(shè)計的典范。基本設(shè)計思路為價格在N時間范圍內(nèi)、上漲或下跌了N個點位。進一步拓展思路后,還可以引入周間日、日間時的概念,細化不同時間段的突破標準,以便更好地適應(yīng)品種個性,此外,還可以時間、價格過濾器的方法來實現(xiàn)對趨勢行情的確認,以減少價格盤整階段的假突破現(xiàn)象。 【離市設(shè)計】 ⒈ 止損。止損,是交易系統(tǒng)模型設(shè)計中一個不可或缺的元素,資金止損、技術(shù)止損,是兩種主要的考慮方案,采用兩者孰低的方案可能更為科學。一方面,你要確保每筆交易不冒過大的風險,另一方面,你要背靠一個關(guān)鍵的壓力、支撐技術(shù)位置,采用反向交易信號作為自動止損的依據(jù),則是持續(xù)在市的交易系統(tǒng)模型的一個常用止損方法。 ⒉止盈。雖然固定點位的止盈、止損,也是系統(tǒng)設(shè)計中可以采用的方法,但我們更傾向于兼顧利潤保護和放大功能的跟蹤止盈或SAR拋物線止盈模式,隨著利潤的擴大,而不斷抬高甚至收緊止盈目標位置,可以在一定程度上起到利潤最大化的設(shè)計目標。 ⒊ 時間清倉。以時間為因素考慮離場,無論是作為一種輔助離場方法,還是作為一種獨立的出市方法,都是一個不錯的思路。比如三根K線過后,如果既沒有達到止盈位、也沒有觸及止損位,就主動離場。 績效指標的迷失 1、總獲利金額(Net Profit) 有沒有合理考慮成本?從每筆交易紀錄中,推算成本金額,是否合理包含交易稅,手續(xù)費與滑價損失。另外,換約必然產(chǎn)生的成本,有無考慮? 有沒有考慮合理執(zhí)行達標率?訊號產(chǎn)生到實際交易執(zhí)行成功,之間的滑價,是否合理估計,這包含交易執(zhí)行的準備時間充不充分,交易單的方式合不合理? 多久的交易期間?系統(tǒng)總是有表現(xiàn)好的時后,與表現(xiàn)不好的時候。如果交易期間太短(低于5年),可能只是把表現(xiàn)比較好的一面呈現(xiàn)出來,不具整體代表性。 多大的風險代價?如果最大的連續(xù)虧損過大(占之前凈值高點比例過大),這樣的獲利報酬的代價是不是可以被接受,如果無法接受,那這樣的報酬是無法真正實現(xiàn)的。因為在持續(xù)虧損下,早就放棄執(zhí)行這樣的系統(tǒng),或者,獲利之后,又容易回吐殆盡。 2、報酬率: 報酬率期間長度(用多少時間來計算報酬率的分子:盈虧金額)。是年報酬率?還是月報酬率?時間長短不同,累積的報酬率自然不同。 取樣的期間長度(總交易期間)。是單年的報酬率?還是多年的平均報酬率?與多久的交易期間觀念相同。 報酬率的基準金額為何(報酬率分母)。起始賬戶資金為何?資金管理模式為何?有一種報酬率,稱為最小賬戶資金報酬率(ROA)。是用過去最大連續(xù)虧損金額(MDD),加上原始保證金來當報酬率的分母。這是最大風險下的報酬率。 多大的風險代價?若以ROA代表報酬率,是必須承受將近百分百的賬戶虧損風險,才能得到這樣的報酬率,并不切實際。每個人的風險承受能力不同,但100%的風險承受并不是正常合理的假設(shè)。單口系統(tǒng)不易表現(xiàn)出合理的風險報酬率,但可以約略從凈值曲線與一些風險報酬進階指標看出。適當?shù)馁Y金管理多口數(shù)系統(tǒng),可以合理表現(xiàn)報酬率。 3、交易頻率: 頻率太低,交易次數(shù)少,不具代表性。取樣期間內(nèi)應(yīng)該超過36筆交易。 頻率太高,交易次數(shù)多,執(zhí)行的精神成本過高。因人而異,每日不超過3筆交易為宜。 4、實際績效與模擬績效: 模擬績效 一般系統(tǒng)績效多是以歷史數(shù)據(jù)來仿真的,必須了解系統(tǒng)仿真的原理與假設(shè)。因為K線資料只有4個統(tǒng)計值(開盤價 / 最高價 / 最低價 / 收盤價),所以,必須有所謂的K線假設(shè)(Bar Assumptions),來模擬行情在K線中的走勢,當K線的時間架構(gòu)越大(如日線,周線)時,誤差就會越大。在TradeStation中,即使時間架構(gòu)是日線,仍然可以用分線,甚至是實際每筆交易紀錄,這種用更細微的時間單位(Resolution),來仿真過去交易與績效,誤差就大為減少了。當然,前提是歷史的數(shù)據(jù)必須是存在與正確的。 有些仿真程序與TradeStation一樣,都有所謂的收盤進場訊號,這本來在實際執(zhí)行交易上,邏輯是行不通的。之前,最后一盤為5分鐘集中撮合,可以在這5分鐘內(nèi),以市價單來進出場,可以讓收盤進場的訊號適用,現(xiàn)在期交所已經(jīng)取消最后5分鐘的集中撮合。另外,有些程序系統(tǒng)參考收盤價,來決定是否收盤進出場,這在仿真程序可以做到,但在實務(wù)上,卻是無法執(zhí)行的,也造成了模擬績效的誤謬。 實際績效 有些人會把實際賬戶的交易績效,以交易報告書公布出來。除非是長時間的詳細交易紀錄,否則,都無法證實是系統(tǒng)完全執(zhí)行下的結(jié)果。 有的系統(tǒng)績效時好時壞,若只能比對短時間,系統(tǒng)與實際賬戶的績效,比較難證明系統(tǒng)與實際賬戶的一致性。 如果只是公布賬戶資金的變動,而沒有實際的交易紀錄,報酬率也可能是虛胖的。比如,股指多手數(shù)系統(tǒng),可以設(shè)定10%的總資金風險,來控制交易手數(shù)。這時,只要把10%~20%的資金放在保證金賬戶就可以了,單以保證金賬戶來看,報酬率與實際總資金報酬率,多了5到10倍。 ---「相關(guān)文章 」--- 1:程序化交易的優(yōu)點與缺點 http://xueqiu.com/5256769224/32429390 2:全球十大程序化交易系統(tǒng) (源碼) http://xueqiu.com/5256769224/32429269 3:詳解程序化交易Dual Thrust策略 http://xueqiu.com/5256769224/32429363 4:金字塔Dual Thrust交易系統(tǒng)源碼 http://xueqiu.com/5256769224/32429305 |
|
|
來自: zhaishou2011 > 《金融投資》