書名: 量化交易從入門到精通:TOP交易員交易策略與實戰手記作者名: 周澤煒本章字數: 3339字更新時間: 2022-05-07 16:32:49
第一節 趨勢&形態
周澤煒說
交易的本質是“價格”,指標只是用來描述價格變化的一種手段,是價格變化的“衍生品”。一個成熟的交易者應該學會使用自己的方式描述價格的變化。正如古代道家所講的,太極生兩儀,兩儀生四象,四象生八卦。在交易中“價格”是本源,有了價格方有漲跌,有漲跌就有了趨勢,有趨勢后產生了形態,再然后才有了指標。
研究交易應該從本質出發,越接近交易本質的元素越純粹,越沒有加工的元素越真實。
而從指標出發其實是一種舍近求遠的方式。市場上大多數的人,由于沒有經歷系統的學習,所以在分析和理解行情上往往一知半解,喜歡研究一些看似高端的技法或指標,然后就越走越遠,甚至到最后發現自己做了很多年交易卻還在原點,然后有了“技術無用論”。在交易前你要先搞懂一個命題“什么是技術”,如果你從頭到尾連“技術”是什么都不了解,何談技術無用?
技術是主觀交易者的“信仰”,堅持信仰方得始終。如果你說技術無用,那你依據什么去進行交易呢,感覺?還是拋硬幣?一個沒有信仰的人是可怕的人,一個沒有信仰的交易者是個失敗的交易者。
K線語言
K線圖是表示單位時間段內價格變化情況的技術分析圖,所謂K線圖,就是將各種股票每日、每周、每月的開盤價、收盤價、最高價、最低價等漲跌變化狀況,用圖形的方式表現出來。K線又稱陰陽線、棒線、紅黑線或蠟燭線,行情經過一段時間的盤檔后,在圖上即形成一種特殊區域或形態,不同的形態顯示不同意義。我們可以從這些形態的變化中摸索出一些有規律的東西出來。K線圖形態可分為反轉形態、整理形態及缺口和趨向線等。K線圖具有直觀、立體感強、攜帶信息量大的特點,預測后市走向較準確,是現今應用較為廣泛的技術分析手段。
讀懂市場結構是讀懂裸K圖的基礎,搞懂了市場結構,才能更好地把握市場的節奏,它是眾多交易方法的返璞歸真,一個回歸市場本質的過程,但很多人都沒有重視它。
市場結構是指將圖表上的峰值高點和峰值低點排列連接起來,具體來說,就是將價格運行過程中的價格極值點都連接起來,形成一個上下波動的曲線。當曲線連接成功之后,就可以幫助你判斷市場走勢。
市場結構可以幫助你識別大多數交易者無法識別的東西,價格一般會出現以下幾種市場結構:
① 正處上漲趨勢中;
② 正處下跌趨勢中;
③ 在兩個水平位之間震蕩(區間震蕩);
④ 即將出現新趨勢;
⑤ 正在筑底或筑頂。
將圖表上的極值點連接成一條波動的曲線,可以幫助你建立技術分析的基礎框架。

什么是大陽線、大陰線?
大陽線表示最高價與收盤價相同(或略高于收盤價),最低價與開盤價一樣(或略低于開盤價),上下沒有影線或影線很短。從一開盤,買方就積極進攻,中間也可能出現買方與賣方的斗爭,但買方發揮最大力量,始終占優勢,使價格一路上揚,直至收盤。大陽線的基本K線形態是開盤價近于整根K線的最低價,隨后價格一路上揚至最高價處收盤,表示市場買方踴躍,漲勢未盡。
大陰線又稱作長陰線,特征是價格幾乎以最高價開盤,最低價收盤,它表示多方在空方打擊下節節敗退,毫無招架之功。
大陰線、大陽線出現在行情不同階段代表的不同意義
實戰案例(國際黃金 2017 年 11 月 23 日~ 12 月 27 日):

高位大陰線——大陰大陽是一種對未來走勢的信號,并與其出現的位置有一定關聯。通常來講,高位的大陰線信號作用較為強烈也較可靠。高位大陰線往往是行情的頂部即將或已經形成的信號,大陰線代表該交易時段的價格下跌沒有受到多頭的抵抗,收盤價越接近低位,實體的長度越長,信號越強烈,常被我們認為是空單進場最好的時機之一。
中部大陰線——在下跌過程中,價格是否有效突破支撐位置,這也是判斷行情未來走勢的重要依據之一。而行情中部大陰線就是跌破行情重要支撐位置的必要手段。在陰線跌破支撐后,支撐位就會轉變為一個新的壓力位。
末端大陰線——行情下跌末期出現的大陰線,往往被我們認為是價格觸底反彈的一種信號。末端大陰線通常是行情底部即將形成或反轉行情開始的信號。末端大陰線也是行情最后沖擊持多單投資者集體止損位置的一種手段,試圖摧毀持多單投資者的心理底線,也是較為常見的誘空方式。
量化交易策略“TOP7”:K線組合型量化策略
TOP7 策略是根據對于K線語言的應用編寫的一套程序化策略。當第5 根陰線收盤于前 4 根上升趨勢K線實體下方,則進場追空,止損為 5根K線最高點;當第 5 根陽線收盤于前 4 根下跌趨勢K線實體上方,則進場追多,止損為 5 根K線最低點。
策略源碼(MC語言:easy language)
input:KC(0.0032),KS(4),pls(0.0021),ply(0.0039),TT(12);
variables:var0(0),var1(0),var2(0),var3(0),var4(0),var5(0),var6(0),var7(0);
var0=maxlist(open[KS],close[KS]);
var1=minlist(open[KS],close[KS]);
var2=maxlist(open[1],close[1]);
var3=minlist(open[1],close[1]);
condition1=var3>var0;
condition2=close<open;
condition3=close<var1;
condition4=open>var2;
condition5=open-close<KC*close;
condition6=var1>var2;
condition7=close>open;
condition8=open<var3;
condition9=close>var0;
condition10=close-open<KC*close;
if condition1 and condition2 then begin
if condition3 and condition4 and condition5 then begin
sellshort next bar at market;
var5=High;
var6=currentbar;
end;
end;
if condition6 and condition7 then begin
if condition8 and condition9 and condition10 then begin
buy next bar at market;
var7=Low;
var6=currentbar;
end;
end;
value1=(1-pls)*entryprice;
value2=(1+ply)*entryprice;
value3=(1+pls)*entryprice;
value4=(1-ply)*entryprice;
if currentbar>var6 then begin
sell ("Lzs") next bar at value1 stop;
sell ("Lzy") next bar at value2 limit;
buytocover ("Szs") next bar at value3 stop;
buytocover ("Szy") next bar at value4 limit;
end;
if currentbar>=var6+TT then begin
sell next bar at entryprice limit;
buytocover next bar at entryprice limit;
end;



測評數據如下:
策略應用軟件:MultiCharts中國版
測試范圍:滬深 300 指數中 300 只個股
歷史回測周期:2002 ~ 2018 年日線數據
應用主要品種:中國A股

策略應用軟件:MultiCharts中國版
測試范圍:外匯、黃金
歷史回測周期:2014 ~ 2018 年 1 小時數據
應用主要品種:歐元、英鎊、加元、日元、紐元、瑞士法郎、黃金(由于各外匯平臺報價的細微差異性可能破壞測試結果,因此我們最終決定使用國際期貨報價進行測試)

策略應用軟件:MultiCharts中國版
測試范圍:國內期貨
歷史回測周期:2012 ~ 2018 年 1 小時數據
應用主要品種:鐵礦石、螺紋鋼、橡膠、甲醇、PTA、焦炭、豆粕。

量化交易策略“TOP35”:K線動能量化策略
TOP35 量化策略是根據K線的動能原理設計的一套邏輯簡單普適性較高的策略。我們設計了以下指標描述K線的動能原理。
指標源碼(MC語:easy language)
inputs:dx(72);
variables:var0(0),var1(0),var2(0),var3(0),var4(0),var5(0),var6(0),var7(0) ,var8(0),oParCl(0),oParOp(0),oPostion(0),oTransition(0),mp(0),var11(0),v ar12(0);
var1=high-low;
應變量 1=K線最高價-K線最低價
var2=Average(var1,dx);
應變量 2=應變量 1 的DX加權平均(計算DX個周期K線的平均波幅)
ifclose>openandhigh-close<close-lowthenbegin
var3=close-low;
end;
如果K線是陽線同時滿足K線最高價-收盤價<收盤價-最低價
上漲動能應變量 3=收盤價-最低價
ifclose<openandclose-low>high-closethenbegin
var3=close-low;
end;
如果K線是陰線同時滿足K線收盤價-最低價>最高價-收盤價
上漲動能應變量 3=收盤價-最低價
ifclose<openandclose-low<high-closethenbegin
var3=high-close;
end;
如果K線是陰線同時滿足K線收盤價-最低價<最高價-收盤價
下跌動能應變量 3=最高價-收盤價
ifclose>openandhigh-close>close-lowthenbegin
var3=high-close;
end;
如果K線是陽線同時滿足K線最高價-收盤價>收盤價-最低價
下跌動能應變量 3=最高價-收盤價
plot2(var3);
plot4(var2);
ifclose>openandhigh-close<close-lowthenSetPlotColor(2,red);
ifclose<openandclose-low>high-closethenSetPlotColor(2,red);
ifclose<openandclose-low<high-closethenSetPlotColor(2,green);
ifclose>openandhigh-close>close-lowthenSetPlotColor(2,green);

上圖指標中,白色橫線為DX周期K線的平均波幅。我們認為當K線高于平均波幅時代表K線動能超過正常標準,因此將此定義為觸發趨勢行情的一種信號。可通過結合其他信號設計交易策略。
策略核心邏輯:
通過飛躍線判斷開倉范圍、K線動能指標發出信號結合價格突破重要高低點(即大陽線或大陰線突破重要支撐阻力)進場順勢開單,以自適應均線做離場。
飛躍線源碼(MC語言:easy language)
inputs:ma(49);
variables:var5(0),var6(0),var7(0),var8(0);
var5=highest(high[1],ma);
應變量var5=ma個周期內前一根K線的最高點;
var6=Lowest(low[1],ma);
應變量var6=ma個周期內前一根K線的最低點;
var7=(var5+var6)/2;
var8=Average(var7,ma);
應變量var8=應變量var7 在ma周期的算數平均(讓var7 變得平滑)
測評數據如下:
策略應用軟件:MultiCharts中國版
測試范圍:鐵礦石、螺紋鋼、橡膠、甲醇、PTA、焦炭、豆粕、白糖、棕櫚油。
歷史回測周期:2012 ~ 2018 年 15 分鐘數據
應用主要品種:國內期貨
策略應用軟件:MultiCharts中國版



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


量化交易策略“TOP37”:動能反轉量化策略
總有人問,為什么絞盡腦汁設計的量化策略,卻總是經不起實盤的考驗?思路如此嚴密,考慮如此周全,卻為何還是事與愿違?
周澤煒說
寫策略就像是談戀愛,一個好的策略邏輯往往都特別簡單。就像愛情,很多時候沒什么道理可講,也許就是一個回眸,一個微笑。
我們對K線動能進行了新一次的發掘,開發了TOP37“動能反轉策略”。從策略名稱我們可以大致得出這個策略是根據反轉K線動能進行的開發。
我們認為行情中的大陰線大陽線大多伴隨較大成交量而產生,而巨大成交量背后往往隱含機構或主力大量的資金的推動,即機構主力的交易成本。那么我們主觀認為,大陽線大陰線的漲跌起點為行情重要多空分界位置,不知可否呢?
我們首先計算出長期K線的平均真實波幅ATR,描述當單根K線價格出現大于平均波幅N倍漲跌,鎖定大陰線最高價、大陽線最低價為多空分界位置。當價格有效反向擊穿此多空位置順勢進場交易。根據SAR指標設計出場。
策略源碼(MC語言:easy language)
inputs:bs(3),ma(138);
variables:var0(0),var1(0),var2(0),var3(0),var4(0),var5(0),
oParCl(0), oParOp(0), oPostion(0), oTransition(0), var7( 0 );
var0=Average(high[1]-low[1],48);
var3=Average((close+high+low)/3,ma);
condition1=high-close>bs*var0 ;
condition2=close-low>bs*var0 ;
if condition1 then begin var1=high;
end;
if condition2 then begin var2=low;
end;
if open>var3 and close cross above var1 then buy("1") next bar at market;
if open<var3 and close cross under var2 then sellshort("2") next bar at var2 stop;
Value1 = ParabolicSAR(0.02, 0.2, oParCl, oParOp, var7, oTransition);
if marketposition=1 and var7=-1 and var7[1]=1 then sell next bar at market;
if marketposition=-1 and var7=1 and var7[1]=-1 then buytocover next bar at market;
測評數據如下:
策略應用軟件:MultiCharts中國版
測試范圍:鐵礦石、螺紋鋼、橡膠、甲醇、PTA、焦炭、豆粕、白糖、棕櫚油。
歷史回測周期:2012 ~ 2019 年 15 分鐘數據
應用主要品種:國內期貨
手續費設計:萬 2 手續費(覆蓋 2 個滑點)



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


