- 量化交易從入門到精通:TOP交易員交易策略與實戰手記
- 周澤煒
- 7926字
- 2022-05-07 16:32:48
概述
投資市場是否有交易圣杯
什么是技術?
技術研究的是人的本身,是闡述人性的具體手段。技術提示的是人性的弱點,是用來判斷散戶操作心理的一種工具。在投資市場中散戶往往不夠理性,是莊家和機構的目標,所以,最好的技術就是判斷散戶在何時何地會出現過失性操作的工具。
很多人做交易都在想如何看透莊家,實際上這屬于舍近求遠,我們更多的是應該看透自己,因為自己就是一個散戶,我們只要贏了自己就能贏得交易。
我們總說在投資市場中充滿陷阱與虛假,其實一切皆是實相,只是我們的心蒙蔽了自己,只看我們想看到的,相信我們希望相信的,自以為是地去判斷行情。
很多人會問,為什么自己懂技術但還是在輸錢?
因為他們雖然手上有技術,但是依然抱著散戶的心態去運用他所謂的技術。所以在投資市場中,有心態第一、技術第二的說法。
周澤煒說
量能為綱、趨勢為先、形態為優、均線為繩、周期為重、指標為輔。
量能為綱——主觀交易中我們以“能量守恒理論”為核心,以等距箱體理論、黃金分割延展理論、實用波浪理論為主體。
趨勢為先——任何市場的任何走勢,無不都是由趨勢+趨勢所構成。因此“順勢而為”也被認為是投資市場里的第一要訣,交易上我們不斷重復:判斷趨勢、適應趨勢、等待趨勢、跟隨趨勢、再判斷、再適應……
形態為優——形態分析是一種直接從歷史價格圖表上去分辨價格變動趨勢的分析方法。市場行情的形態是有其必然性的,也就是說,市場形態的形成,是必然按它特定的規律往前走的。形態高于一切,在主觀交易中形態分析是技術分析體系中的基礎。
均線為繩——移動平均線(MA)是以道·瓊斯的“平均成本概念”為理論基礎,采用統計學中“移動平均”的原理,將一段時期內價格平均值連成曲線,用來顯示行情價格的歷史波動情況,進而反映價格指數未來發展趨勢的技術分析方法。它是道氏理論的形象化表述。“十彩均線系統”結合了行情每個周期的波動規律,是準確判斷現有趨勢、判斷將出現的趨勢、發現過度延伸即將反轉的趨勢的重要手段之一。
周期為重——市場運動的最終線索就在其運行周期上,對于時間周期的研究為我們的測市手段增加了時間維度。筆者交易中對周期的判斷,以“三角洲理論”“江恩理論”“對等循環周期理論”為主體,來判斷市場價格波動的規律及不同周期下行情的特性與節奏的不同。
指標為輔——筆者認為常用指標是分析行情的輔助工具,而不再是分析過程中的固定主體,以規避在指標分析中經常會出現的本身缺陷。
荼毒中國交易者最深的交易技巧
一個人拿 10 萬元本金投入市場,先在市場上賺 10%,然后再虧掉10%,這時他是虧損的。另一個人拿了 10 萬元本金投入市場,先虧損了10%,然后再賺回 10%,你會驚異地發現他還是虧損的。交易就是這么一個看似公平實則不然的社會活動。
投資市場最不缺的就是人云亦云、以訛傳訛。每次我出外做線下講座都不忘順口說一句“學習交易,首先要做的就是少上網”,因為網絡上所分享的交易技巧十有八九都有“毒”。當然這也不能責怪網絡,網絡只是將錯誤的信息更快更廣泛地流傳開來了而已。俗話說得好,“對的學習方式能幫助你事半功倍,而錯誤的學習能讓你萬劫不復!”是的,所以交易成了許多人永遠學不會的一門學問。
我們說量化的第一職能是證偽。因此如果你的量化交易尚不能成為你交易盈利的工具,那至少也可以幫你證偽錯誤的交易邏輯和觀點。

什么是線上陰線買,線下陽線拋?
“線上陰線買,線下陽線拋”出自民間股神殷保華,一個中年離異的空調裝修工,陰差陽錯猜對了 2001 年 8 月A股頂部而封“神”。2011 年2 月遭刑拘,因不具備證券投資咨詢從業資格舉辦股票咨詢講座及培訓班致大批股民受騙上當而鋃鐺入獄。現實再次告誡我們,如果你沒有執照就不要學別人耍流氓。
線上陰線買,線下陽線拋。這句話的重點就是這個“線”,首先我們要確定這個“線”是指的什么,陰線買與陽線拋這兩點比較好理解。
“線”可以是重要的壓力或者支撐線,也可以是均線。如下圖所示:突破重要壓力后的回踩反抽時的陰線買入。

接下來我們就從期貨和股票兩個市場分別就這個邏輯進行驗證。
策略一,“線上陰線買”
① 當均線 60 線上行時,價格回踩均線,做多。
止損:當價格跌破均線 60 線超過 5 個K線真實波幅;
止盈:使用SAR指標做移動止盈。
② 當均線 60 線下行時,價格反彈均線,做空。
止損:當價格突破均線 60 線超過 5 個K線真實波幅;
止盈:使用SAR指標做移動止盈。
策略源碼(MC版本)
inputs:zq(60),sb(5);
variables:var0(0),oParCl(0), oParOp(0), oPostion(0), oTransition(0) ,var7(0);
var0=Average(close,zq);
condition1=close<open and Low<var0 and close>var00.3*AvgTrueRange(99) and var0>var0[1] and var0[1]>var0[2];
condition2=close>open and high>var0 and close<var0+0.3*AvgTrueRange(99) and var0<var0[1] and var0[1]<var0[2];
Value1 = ParabolicSAR(0.02, 0.2, oParCl, oParOp, var7, oTransition);
if condition1 then buy next bar at market;
if condition2 then sellshort next bar at market;
if marketposition=1 and var7=-1 and var7[1]=1 then sell( "bp48" ) next bar at market;
if marketposition=-1 and var7=1 and var7[1]=-1 then buytocover ("sp48") next bar at market;
if marketposition=1 then sell( "bp482" ) next bar at var0[1]-sb*AvgTrueRange(99) stop;
if marketposition=-1 then buytocover ( "sp482" ) next bar at var0[1]+sb*AvgTrueRange(99) stop;
if marketposition=-1 then buytocover ( "sp482" ) next bar at var0[1]+sb*AvgTrueRange(99) stop;


策略二,“線下陽線買”
① 當均線 60 線上行時,價格反彈均線,做多。
止損:當價格跌破均線 60 線超過 5 個K線真實波幅;
止盈:使用SAR指標做移動止盈。
② 當均線 60 線下行時,價格回踩均線,做空。
止損:當價格突破均線 60 線超過 5 個K線真實波幅;
止盈:使用SAR指標做移動止盈。
策略源碼(MC版本)
inputs:zq(60),sb(5);
variables:var0(0),oParCl(0), oParOp(0), oPostion(0), oTransition(0) ,var7(0);
var0=Average(close,zq);
condition1=close>open and high>var0 and close<var0+0.3*AvgTrueRange(99)and var0>var0[1] and var0[1]>var0[2];
condition2=close<open and low<var0 and close>var0-0.3*AvgTrueRange(99) and var0<var0[1] and var0[1]<var0[2];
Value1 = ParabolicSAR(0.02, 0.2, oParCl, oParOp, var7, oTransition);
if marketposition=0 and condition1 then buy next bar at market;
if marketposition=0 and condition2 then sellshort next bar at market;
if marketposition=1 and var7=-1 and var7[1]=1 then sell( "bp48" ) next bar at market;
if marketposition=-1 and var7=1 and var7[1]=-1 then buytocover ( "sp48") next bar at market;
if marketposition=1 then sell( "bp482" ) next bar at var0[1]-sb*AvgTrueRange(99) stop;
if marketposition=-1 then buytocover ( "sp482" ) next bar at var0[1]+sb*AvgTrueRange(99) stop;


以上內容使用果仁網在A股市場中進行驗證。
策略三,當均線50線、60線呈多頭排列時,線上陰線買;當均線50線、60線呈空頭排列時,線下陽線賣。



策略四,當均線50線、60線呈多頭排列時,線下陽線買;當均線50線、60線呈空頭排列時,線下陽線賣。


測試的四個策略,不管是線上陰線買,還是線下陽線買,都獲得了收益。但從數據看來,“線下陽線買”不管在期貨還是股票的交易結果都明顯好于“線上陰線買”(回踩做多)的交易方式。而這個測試結果卻和大多數人對“線上陰線買,買錯了也要買。線下陽線拋,拋錯了也要拋”這句金句的理解相悖。至此殷保華名節不保,一個民間“股神”瞬間淪為一個修空調的……
那為什么線下陽線做多相較線上陰線做多盈利效果更好?
答案:當大周期趨勢向上,小周期K線出現上穿均線跡象時,代表大周期小周期共振看多。而當大周期趨勢向上,小周期K線回落均線,則代表小周期出現敗落跡象。試問有哪次口頭趨勢不是從K線回落均線開始的?所以嚴格意義上說,K線回踩均線不是做多信號而是做空信號。
既然不管是“線上陰線買”,還是“線下陽線買”都能獲利,那策略盈利最主要的因素又是什么呢?
答案:條件“當均線呈現多頭形態”+做多,即“趨勢”。
慢半拍與快半拍交易法則
中國的投資市場中絕大多數的投資者和從業人員都僅處于交易的入門階段。而由于中國投資者群體的龐大,所以很多錯誤的觀點以訛傳訛后往往就變成了大多數人在交易中的誤區。比如說大多數人認為技術分析是用來預測未來價格走勢的,所以會對交易指標的滯后性唏噓不已。
其實這是對行情技術分析本末倒置的一種理解。技術指標是用來描述價格變化的一種工具,也就是說,先有價格,然后對價格進行分析后得到的指標。所以指標不可能領先價格,也就不存在預測價格走勢這一說。而已知價格在短期內存在無規律波動的特性,得出所謂通過技術分析預測價格走勢其實和“猜”沒有本質區別。所以技術分析其實是根據未來價格的變化設計實際交易策略的一種理論依據。即,如果價格上漲,交易者應該如何進場,怎么出場;如果價格下跌,交易者應該如何進場,怎么出場。
所謂右側交易,是對順勢交易的一種統稱。既然是順勢交易,即趨勢已經形成后的交易方式,因此右側交易永遠比狹義的最優進場點慢半拍。而慢小半拍還是大半拍就成了大多數右側交易者精益求精的追求。
有些人認為大多數投資者因為采取右側交易法則,就是當他們看到價格創出新高時才確定行情的起始,隨后跟隨趨勢進場交易。尤其是在面對短期波動的時候,他們認為這樣更容易追在階段高點,也就成了只有少數人賺錢的根本原因(這種無稽之談竟被百度百科收錄,可見對交易這么嚴謹的一門學問,有多少錯誤的觀點被我們信以為真)。
所謂左側交易,即逆勢交易。左側更多適用于大資金的長線交易,科學的左側交易的邏輯基點在于投資標的的價值回歸。左側交易者往往通過多次加倉的方式攤薄成本,降低逆勢交易帶來的風險。因此左側交易往往比狹義的最優進場點快半拍。而快小半拍還是大半拍成了大多數左側交易者精益求精的追求。
大多數的交易者幾乎都不會追求行情絕對的高低點,因為那樣的境界往往是可遇而不可求的。左側交易和右側交易其實沒有優劣,它們一個偏重長線,另一個偏重短線;一個基于價值,另一個基于價格;一個多次加倉,一個單筆進出。說的是兩種完全不同的交易理念。
什么是程序化?
世間萬物無一不在周而復始地變化著,因此,即使任何交易策略都不免出現失效的情況,但還是有許多經典交易策略,如一目均衡表、海龜交易、Aberration,都具有相當長壽的生命周期。但對于優秀的交易策略,不同人有著不同的定義。有人說,好的交易策略就應該可以在短期獲取絕對收益。有人說,好的交易策略就應該在長期獲得相對穩定的收益。而即使是長期最穩定的策略都免不了出現短期不穩定的情況。
很多人都有一個誤區,認為優秀的交易策略一定很嚴謹,因為嚴謹所以整個系統應該相對復雜。但事實并非如此,就像真理往往都是最簡單的道理,生命周期較長的策略,其策略結構反而出奇的簡潔。這其實很好理解,交易策略就像是一部機器。如果問你,一個由一百個零件組成的機器和一個只有兩個零件的機器哪個更容易損壞?你的答案會是什么呢?
其實量化交易能讓人更好地理解交易。
賬戶的資金曲線主要是由勝率和盈虧比兩個因素決定的。因此追求高勝率往往需要我們以放棄盈虧比作為代價。而主流的交易策略是趨勢跟隨,這就需要以更優秀的盈虧比作為策略設計的邏輯起點。因此許多趨勢跟隨策略的勝率往往小于 50%。從概率學的角度來講,這樣的策略容易出現連續的虧損。我們發現當概率較低的策略出現連續虧損的時候,交易者會出現憂慮、質疑的心理狀態。其實這和主觀交易中交易者連續虧損造成的心理變化是相仿的,只是在出現連續虧損后主觀交易者容易因為心態變化而產生交易失誤。而許多專家卻將其歸結于“交易狀態”,其實這只是因為短期市場節奏變化引起的短期策略失效,畢竟我們認為并沒有能完美應對所有市場走勢變化的交易系統。此時有許多量化者因為對策略的質疑放棄了原本盈利的量化策略,主觀交易者因為對技術的憂慮,去改變原本正確的交易方式。而我們甚至不能把這種情況歸結于人性的弱點。所以交易的本質不僅僅是人性。
周澤煒說
程序化交易是一種交易的方式,量化是交易的工具。而量化交易的基礎是概率學、統計學。量化交易是交易市場中一種最客觀科學的證偽工具。
“拋硬幣交易法”
隨著我們對程序化策略研究的深入,對量化交易有了更多的理解,我們發現程序化交易者和傳統主觀交易者在交易的理解上有很多分歧。比如傳統主觀交易者看待交易的時候更多會從交易理論出發,他們在編寫程序化交易邏輯的時候更多是利用道氏理論、波浪理論、江恩理論等經典交易理論,結合自己對市場的了解搭建量化框架。而更多的程序化交易者則信奉概率學,他們中的很大一部分人對于傳統交易理論并不感冒,認為交易的本質就是一場概率學的賭博,勝負非正即反。程序化要做的僅僅是在勝負 50%的投機中獲取哪怕一點點的優勢。
那么我們根據概率學的交易邏輯給大家講解最基礎的一種量化思路,我們稱它為“拋硬幣交易法”。
“拋硬幣交易”,乍一看是一個相當不靠譜的交易方式,因為拋硬幣不論正反都只有 50%的成功率。看似簡單但其結果免不了徒勞無功空忙一場。那讓我們通過量化數據看下它的交易結果。
“拋硬幣交易法”策略規則:
日線開盤開倉,日線收盤平倉。若價格雙數開盤做多,則多單進場;若價格單數開盤做空,則空單進場。
“拋硬幣交易法”策略源代碼(MC版本)
if mod(open,2)=0 and time<0910 then buy("B") next bar at market;
if mod(open,2)=1 and time<0910 then sellshort("S") next bar at market;
if time>=1450 and marketposition=-1 then buytocover("P1") next bar at market;
if time>=1450 and marketposition=1 then sell("P2") next bar at market;
我們抽樣測試國內期貨螺紋鋼、橡膠、玉米在無手續費環境下的資金曲線變化(數據時間 2014 年 1 月 1 日~ 2018 年 5 月 30 日)。



如果量化交易是一種概率學,策略的每一次優化都只是為了在交易過程中獲得一點點概率優勢。那么我們如何讓“拋硬幣交易法”在實際交易中獲得概率優勢?
我們對交易策略進行了改進:
① 日線開盤開倉,日線收盤平倉。若價格雙數開盤做多,則多單進場;若價格單數開盤做空,則空單進場。
② 設置移動止損為當天最高價虧損 41 跳。
改進后的“拋硬幣交易法”源代碼(MC版本)
Inputs:zs(41);
variables:vbar(0);
if mod(open,2)=0 and time<0910 then buy("B") next bar at market;
if mod(open,2)=1 and time<0910 then sellshort("S") next bar at market;
if time>=1450 and marketposition=-1 then buytocover("P1") next bar at market;
if time>=1450 and marketposition=1 then sell("P2") next bar at market;
if vbar<>currentbar then begin
setstoploss(zs*bigpointvalue);
end;



投資市場是否有交易圣杯?
什么是交易的圣杯?所謂交易圣杯就是指一個穩定獲利的方法,能讓我們依靠這種方法來實現財務自由。
投資市場有沒有圣杯?想必大多數人的答案都是“沒有”。
但為什么沒有?誰告訴你沒有的?沒有調查就沒有發言權。你有沒有仔細調查過,還是只是聽別人說?
在我看來,投資市場不止有圣杯,而且還有很多圣杯。
那些叫嚷著投資市場沒有交易圣杯,讓別人認清現實的所謂“專家”,無非是給自己在判斷錯行情后找一個臺階。
沒有穩定獲利交易方法的人自然沒見過圣杯長什么樣,也不愿承認自己的平庸。
那有人就要問了,言外之意是“你一定見過交易圣杯”。
其實關于交易圣杯這個問題,早在 1983 年那次交易史上最著名的金融實驗“海龜實驗”已經給出了我們答案。
1983 年年中,著名的商品投機家理查德·丹尼斯與他的老友比爾·埃克哈特進行了一場辯論,這場辯論是關于偉大的交易員是天生造就還是后天培養的。理查德相信,他可以教會人們成為偉大的交易員。比爾則認為遺傳和天性才是決定因素。
為了解決這一問題,他們在《巴倫氏》《華爾街期刊》《紐約時報》上刊登了大幅廣告,招聘交易學員。廣告中稱,在一個短暫的培訓后,新手將被提供一個賬戶進行交易。理查德從 1000 名申請者中精選出 13個人,1983 年 12 月底學員們在芝加哥進行兩周的培訓后開始實盤交易。
這就是交易史上最著名的“海龜實驗”,在隨后的四年中“海龜們”取得了年均復利 80%的收益。是的,理查德證明了交易可以被傳授。即使在今天,依然有交易者使用海歸交易法的改進版本在投資市場持續獲得收益。這個實驗不止證明了投資市場存在交易圣杯的這一事實,而且它還證明了用一套簡單的法則(即機械交易系統),可以使僅有很少或根本沒有交易經驗的人成為優秀的交易員。一個小白交易者通過科學的交易學習可以在非常短的時間內實現穩定盈利。
如果在交易中依賴自己的判斷,你可能會發現恰恰應該勇敢時你卻膽怯,而應該膽怯時卻勇敢。因此對于一致性賺錢的交易,使用機械系統就是最佳的方式。如果你擁有一個能夠盈利的機械交易系統,而且你虔誠地跟隨這個系統,那么你的交易將會取得盈利,而且系統會幫助你安然擺脫難免會來自于一長串虧損或者巨額盈利的內心的掙扎。
海龜交易系統是一個完整的交易系統。這是實驗取得成功的一個主要因素。機械交易系統使交易者更容易地進行一致性的、成功的交易,因為它沒有給交易者的判斷力留下重要的決策任務。
如果你覺得一個海龜交易還不足以說明問題,那容我再舉一例。
很多靠直覺玩期貨的朋友可能對Aberration策略還是有點陌生,這個曾經創下 100%以上年收益率的傳奇交易系統由Keith Fitschen于 1986 年發明。在 1993 年,他將該系統發布在美國《Futures Truth》雜志上,自策略發布之日起,其績效一直排名靠前,在 1997 年、2001 年和 2005 年已發布交易系統的業績排名中均名列第一。
這是一款中長線的交易系統,屬于趨勢追蹤型策略,它在谷物、肉類、金屬、能源、外匯、股指期貨等 8 個品種之間靈活運轉,通過長線地追蹤趨勢來獲得盈利。而由于它同時在多個不相關或相關性很低的市場中進行交易,因此只需在一種或幾種市場中獲得趨勢的高額盈利,就能彌補在其他不穩定市場中的虧損。它的交易頻率一般是每年交易某一品種3 ~ 4 次,60%的時間都持倉,平均每筆交易持倉 60 天。
該策略的開平倉策略是這樣的:首先利用 35 日移動平均線和 35 日內收盤價的標準差,得出上中下三條軌道,當上一個Bar的收盤價上穿了上軌的時候開多,下穿了下軌的時候開空,下穿了中軌的時候平掉多頭,上穿了中軌的時候平掉空頭。
該策略的思想很簡單,就是利用移動平均線和標準差設置通道,然后隨時判斷是否突破了通道,從而捕捉到趨勢。而當趨勢逐漸減弱的時候,由于中軌會先趨于緩和,因此當K線反向穿過中軌的時候,就可以認為趨勢已經結束,止盈出場。而如果有趨勢的誤判,在K線反向穿過中軌的時候,也可以及時止損。
直至今日Aberration策略依然在很多交易市場中有著良好的交易表現。現在你還要和我說投資市場里沒有交易的圣杯嗎?
Aberration策略源碼(MC語言:easy language)
inputs:boll(35);
variables:ma(0),var0(0),var1(0),var2(0),var3(0),var4(0),var5(0),var6(0) ;
var2=Average(close,boll);
var0=BollingerBand(open,boll,2);
var1=BollingerBand(open,boll,-2) ;
if close cross above var0 then buy("B") next bar at market;
if close cross under var1 then sellshort("S") next bar at market;
if close cross under var2 then sell ("Lzy") next bar at market;
if close cross under var2 then buytocover ("Szy") next bar at market;
測評數據如下:
策略應用軟件:MultiCharts 中國版
測試范圍:鐵礦石、螺紋鋼、橡膠、甲醇、PTA、焦炭、豆粕、白糖、棕櫚油。
應用主要品種:國內期貨
手續費設計:萬 2 手續費(覆蓋 2 個滑點)
歷史回測周期:2012 ~ 2019 年日線數據


測試范圍:滬深 300 指數中 300 只個股
歷史回測周期:2012 ~ 2019 年日線數據
應用主要品種:中國A股
手續費設計:千 2 手續費



周澤煒說
現在的世界,什么都快。
微信比寫信快,高鐵比動車快;
忘記比記得快,晚上比白天快。
感情來得快,去得也快;
承諾許得快,忘得也快。
有人說:改變不了世界,你融入它就好;
選擇大于努力,選擇對的也罷;
我說:既然終有人會改變這世界,那為什么不是我?
既然有那么多選擇,那為什么不能選擇努力?
一目均衡表
一目均衡表由日本記者一目山人(Ichimoku Sanjin,真名:細田悟一)發明,是日本最普及的買賣圖表工具,應用不單限于股市,更在債券、外匯市場廣泛為投資者采用。此發明在 20 世紀 30 年代面世,是一個已90 歲高齡的交易策略。
這個爺爺輩的技術理論,比艾略特 1938 年發表波浪理論早數年,比葛蘭碧 1960 年發表移動平均線早三十年,比 1979 年提出的MACD早近五十年,比理查德·丹尼斯的海歸交易早了五十年。
一目均衡圖由五組參數合成,與現在常用的移動平均線吻合。參數基于各個長短周期的高低點,提供一明確簡單的走勢圖。五個參數如下:
① 短軸快線。
短軸快線 = 轉換線 = (9 日內最高+9 日內最低)/2,以 9 日為一短線周期(周期長短可任意更改)。
② 中軸慢線。
中軸慢線 = 基準線 = (26 日內最高+26 日內最低)/2,以 26 日為一中線周期(周期長短可任意調教)。
③ 后移指標。
后移指標 = 遲行帶 = 將今日收市價后移至一中線周期。
④ 前移指標A。
前移指標A = 先行帶A =(短軸快線+中軸慢線)/2,前移至一中線周期。
⑤ 前移指標B。
前移指標B = 先行帶B =(52 日內最高+52 日內最低)/2,前移至一中線周期。
⑥ 云帶(抵抗帶)。
云帶= 前移指標A及前移指標B的空間。

一目均衡表以 9、26、52 三個系數計算周期。在 1930 年代,日本是每周六天工作,傳統的系統包括一個半星期(短)、一個月(中)及二個月(長)為準,現今社會,已由六個工作天改為五個,故此根據一目均衡表的神髓,應改為 7、22、44 才能配合現今社會。
升勢(買入信號):
K線位于云的上方;
K線在基準線之上推移(基準線成為下降阻力);
轉換線在基準線的上方推移(超強勢的情況下,K線在轉換線上方推移)。
降勢(賣出信號):
K線在云的下方;
K線在基準線的下方推移(反彈只到轉換線的位置,難以反彈到基準線);
轉換線在基準線的下方推移(降勢明顯的情況下,K線在轉換線的下方推移)。
策略系統(MC語言:easy language)代碼
inputs:na(7),na2(33),na3(53);
variables:var0(0),var1(0),var2(0),var3(0),var4(0),var5(0),var6(0),var7(0),var11(0),var12(0);
var0=(highest(h,na)+lowest(l,na))/2;
var1=(highest(h,na2)+lowest(l,na2))/2;
var2=(var0+var1)/2;var3=var2[na2];
var4=(highest(h,na3)+lowest(l,na3))/2;
var5=var4[na2];
if close>var3 and close>var5 and close>var1 and var0>var1 and var1>var3 and var1>var5 then buy next bar at market;
if close<var3 and close<var5 and close<var1 and var0<var1 and var1<var3 and var1<var5 then sellshort next bar at market;
if close<var3 and close<var5 then sell next bar at market;
if close>var3 and close>var5 then buytocover next bar at market;
測評數據如下:
策略應用軟件:MultiCharts
中國版測試范圍:鐵礦石、螺紋鋼、橡膠、甲醇、PTA、焦炭、豆粕、白糖、棕櫚油。
應用主要品種:國內期貨
手續費設計:萬 2 手續費(覆蓋 2 個滑點)
歷史回測周期:2012 ~ 2019 年 15 分鐘數據



測試范圍:鐵礦石、螺紋鋼、橡膠、甲醇、PTA、焦炭、豆粕、白糖、棕櫚油。
應用主要品種:國內期貨
手續費設計:萬 2
手續費(覆蓋 2 個滑點)
歷史回測周期:2012 ~ 2019 年 30 分鐘數據



測試范圍:鐵礦石、螺紋鋼、橡膠、甲醇、PTA、焦炭、豆粕、白糖、棕櫚油。
應用主要品種:國內期貨
手續費設計:萬 2
手續費(覆蓋 2 個滑點)
歷史回測周期:2012 ~ 2019 年 60 分鐘數據



測試范圍:滬深 300 指數中 300 只個股
歷史回測周期:2010 ~ 2019 年日線數據
應用主要品種:中國A股
手續費設計:千分之一


周澤煒說
一目均衡表,是一個年代久遠的交易系統。因此這個策略系統的部分內容有一定的優化空間。比如轉換線和基準線我們可以利用葛蘭碧的移動平均線理論做移動平滑。遲行線本意是用來計算現價與基準線周期價格的乖離率,我們可以用乖離率理論做優化。值得注意的,是在這個策略系統中使用了指標周期平移的概念。
機械交易系統
不得不承認的是,交易者分成兩種,天賦型和后天型。天賦型的交易者往往經過一段時間的交易,通過經驗的總結,就能在投資市場取得不錯的交易收益。而后天型交易者說的則是絕大多數人往往需要后天科學系統的學習才可能做到穩定盈利。而交易技術的“劍宗與氣宗之爭”是大多數交易者在學習和建立交易系統過程中必經的一個三岔路口。
傳統交易中,交易技巧是“劍”,交易經驗和心態是“氣”。大多數人認為應該“以氣御劍”。以氣為體,以劍為用;氣為主,劍為從;氣為綱,劍為目。練氣倘若不成,劍術再強,總歸無用。小說《笑傲江湖》中,華山劍宗的功夫易于速成,見效極快;而氣宗的功夫雖然見效慢但是后期威力遠高于劍宗。劍宗和氣宗的功夫各練十年,定是劍宗占上風;各練二十年,各擅勝場,難分上下;二十年之后氣宗的功夫才漸漸越練越強;到三十年時,劍宗的功夫便再也不能望氣宗的項背了。氣宗弟子講究以氣御劍,所以華山派氣宗弟子都重視修煉內功,而岳不群所修習的《紫霞神功》則是華山派最強內功。
現在的你會如何抉擇,是先練“氣”,還是先練“劍”?其實交易技巧和交易心態并不是你死我活不能共存的,只代表你學習交易的起點,最終總要殊途同歸的。而投資市場每天都是鉤心斗角和腥風血雨,每一秒都有無數交易者倒在血泊中。所以筆者認為,只有堅強地活著才能修煉成最后的贏家。而機械型交易系統無疑是見效最快,能最快獲得穩定盈利的交易方式。
那什么是機械型交易系統呢?凡過去到未來所有成功的交易者他們都達到了“交易機械化”。因為唯有將自己的交易規則、策略統一才是成功交易的第一步,而這個統一的過程就是將交易過程給予機械化或稱條理化。套一個SARS的流行語匯,就是制定你的交易S.O.P(行動執行標準)。于是,你的交易就是一切By the Book !條列你的交易規則、量化你的一切參考數據,從如何進場到如何出場,沒有含糊的灰色的審度,一切量化!當交易被條理化、機械化后,我們確實地去執行便是達到了“機械化交易”。
為什么我說古今所有的成功交易者都是“機械化交易者”呢?你有聽過索羅斯像我們這樣今天用RSI交易,明天又喜新厭舊地學起波浪理論來了嗎?我想如果你聽到這樣的消息,打死你都不會再想投資量子基金了!那你呢?你的“好學”導致你自己不再相信你自己,別人也看不見你在交易圈的成長!為什么呢?因為你一直在變、一直在變。沒有任何一位成功的交易者是像普羅大眾般的花十多年的時間在尋找一個自己都不知道的東西的。
一個優秀的機械交易系統不會給交易者的判斷力留下重要的決策任務,從而使交易者更容易進行一致性的、成功的交易。換而言之,機械交易系統在交易前就已經確定了交易的進場和出場位置。
既然“劍宗”的交易技術易于速成,見效極快。那到底有多快,給大家打個樣唄?
“劍宗入門”交易策略
我們利用海龜交易法則核心邏輯,突破特定周期高低點后進場順勢交易,并以自適應均線(特定周期均線在交易進場后,每經過一根K線,均線周期參數減少 1 直至周期參數縮小至 16 后保持不變)作為離場條件設計交易策略。
策略源碼(MC語言:easy language)
inputs:sj(92),ma(47),ma2(16);
variables:var0(0),var1(0),var2(0),var3(0),var4(0),var5(0),var6(0) ,var7(0),var8(0),var00(0),var11(0),oParCl(0), oParOp(0), oPostion(0) ,oTransition(0),mp(0);
if marketposition=0 then buy("1") next bar at highest[1](h,sj) stop;
if marketposition=0 then sellshort("2") next bar at Lowest[1](l,sj) stop;
mp=marketposition;
if mp[1]=0 and mp<>0 then var5=currentbar;
var6=ma+var5-currentbar;
if var6<=ma2 then var6=ma2;
if mp[1]<>0 and mp=0 then var6=ma;
var0=Average(OPEN,var6);
if marketposition=1 then sell next bar at var0 stop;
if marketposition=-1 then buytocover next bar at var0 stop;
測評數據如下:
策略應用軟件:MultiCharts 中國版
測試范圍:鐵礦石、螺紋鋼、橡膠、甲醇、PTA、焦炭、豆粕、白糖、棕櫚油。
應用主要品種:國內期貨
手續費設計:萬 2 手續費(覆蓋 2 個滑點)
歷史回測周期:2012 ~ 2019 年日線數據
100 萬本金,每次交易使用 3.2%倉位,7 年盈利 11657252.50 元,資金增長 11.65 倍。



測試范圍:滬深 300 指數中 300 只個股
歷史回測周期:2010 ~ 2019 年日線數據
應用主要品種:中國A股
手續費設計:千 2 手續費
100 萬本金,每次交易購買 2 萬權益股票,9 年盈利 374164079 元,資金增長 3.74 倍(由于中國股市不能做空長熊短牛,因此不宜簡單使用復利模式進行交易)。


好吧,以上是機械交易系統中最中庸的交易策略了。你覺得如何?多個市場上萬次的交易數據驗證其實用性。
曾經最賺錢的量化策略長什么樣?
Dual Thrust策略是一種趨勢跟蹤系統,屬于日內交易策略。該策略由Michael Chalek 在 20 世紀 80 年代開發,曾被《Futures Truth》雜志評為最賺錢的策略之一。Dual Thrust系統具有簡單易用和適用度廣的特點,其思路簡單且參數少,配合不同的參數、止盈止損和倉位管理,可以為投資者帶來長期穩定的收益。而且該策略適用品種較多,被投資者廣泛應用于股票、貨幣、貴金屬、債券、能源及股指期貨市場等。在Dual Thrust 交易系統中,對于震蕩區間的定義非常關鍵,這也是該交易系統的核心。
Dual Thrust策略實際上是對傳統開盤區間突破策略的一個改進。兩個策略均是對當日開盤價加減某個數(記為Range),獲得一個區間,突破區間上軌做多,突破區間下軌做空。開盤區間突破策略通過前一個交易日的最高價和最低價確定Range的值,而Dual Thrust策略使用前N日的 4 個價格(前N日最高價HH、前N日最低價LL、前N日最高收盤價HC、前N日最低收盤價LC)來確定Range的值,并且引入更多參數,使得通過Range確定的區間可以是非對稱的。

策略指標
N日High的最高價為HH ;
N日Close的最低價LC ;
N日Close的最高價為HC ;
N日Low 的最低價LL ;
浮動區間 = Max(HH - LC,HC - LL) ;
日內價格上軌 = 開盤價+ K1 * 浮動區間;
日內價格下軌 = 開盤價 - K2 * 浮動區間。
策略進出場設計
當價格向上突破上軌時,如果當時持有空頭,則先平倉,再開多倉;如果沒有倉位,則直接做多;
當價格向下突破下軌時,如果當時持有多頭,則先平倉,再開空倉;如果沒有倉位,則直接做空。
我們將曾經全球最賺錢量化策略之一的Dual Thrust做成指標,這個指標是否是最賺錢的指標呢?(文華 8 版本源碼)
NP:=BARSLAST(DATE<>REF(DATE,1));
OPEND:=REF(O,NP);
H1:=REF(HIGH,NP);
L1:=REF(LOW,NP);
C1:=REF(CLOSE,NP);
HH1:=HHV(REF(H1,1),20);
LL1:=LLV(REF(L1,1),20);
HC1:=HHV(REF(C1,1),20);
LC1:=LLV(REF(C1,1),20);
SELLR:=MAX(HH1-LC1,HC1-LL1);
BUYP:=OPEND+1.5*SELLR;
SELLP:=OPEND-1.5*SELLR;
KTEXT(CROSS(HIGH,BUYP),0,BUYP,1,COLORWHITE,'做多');
KTEXT(CROSS(SELLP,LOW),0,SELLP,1,COLORWHITE,'做空');
DRAWNUMBER(CROSS(HIGH,BUYP),BUYP,BUYP,2,COLORWHI TE);//畫價格
DRAWNUMBER(CROSS(SELLP,LOW),SELLP,SELLP,2,COLORWHI TE);//畫價格
周澤煒說
Dual Thrust和Aberration都是國外非常經典的量化策略,歷經三十余年也未失效,所以被稱為“經典”或“最賺錢策略”也是實至名歸。Dual Thrust和Aberration同樣都是通道突破策略,但Dual Thrust對于通道區間的設定顯得更獨特。筆者曾嘗試用ATR或其他設計方式代替原策略的通道設計,但效率卻并沒有得到有效提高,可見原設計者見解的獨到。而Dual Thrust中提出的非對稱性通道,經過筆者多次測試結果并沒有優于對稱性通道,因此筆者在翻譯Dual Thrust時將K1和K2進行了合并,減少了策略所需參數。
Dual Thrust是一個具有極大想象空間的日內策略,包括:如果加入些許趨勢的判斷會否提高策略效率?如果設計不同情境非對稱通道是否將有獨特的優勢?如果將其設計成非日內策略,是否會有不同的效果?
策略源碼(MC版本)
inputs:zq(20),zq2(1.5) ;
variables:var0(0),var1(0),var2(0),var3(0),var4(0),var5(0),var6(0);
var0=highest(highD(1),zq);
var1=lowest(lowD(1),zq);
var2=highest(closed(1),zq);
var3=lowest(closed(1),zq);
var4=maxlist(var0-var3,var2-var1);
var5=opend(0)+zq2*var4;
var6=opend(0)-zq2*var4;
buy next bar at var5 stop;
sellshort nextbar atvar6 stop;
測評數據如下:
策略應用軟件:MultiCharts 中國版
測試范圍:鐵礦石、螺紋鋼、橡膠、甲醇、PTA、焦炭、豆粕、白糖、棕櫚油、玉米、鎳。
應用主要品種:國內期貨
手續費設計:萬 2 手續費(覆蓋 1 個滑點)
歷史回測周期:2012 ~ 2019 年 15 分鐘數據

