向好及向淡的「形態」

若大家喜歡研究滬深300指數期貨的走勢,又或喜歡研究它與期指的互動關係,應會發現滬深300指數期貨在每日「14:15」後的趨勢是較為明顯的,一般會出現相對上全日較大的升浪或跌浪,至於如何判斷是升浪/跌浪,也可以參考附圖中的形態,當然這所謂的「形態」是我們自行研究的,也能夠十分容易將形態的準則用程式寫下來做測試,不會像頭肩頂、雙頂等傳統技術分析的形態般較難在程式中運用。當然,這只是作參考分析的一部份,不能直接當作一個買入及賣出訊號,喜歡研究滬深300指數期貨的Trader可當作參考!

IF183 IF182

運用程式編寫交易策略,涉及形態分析的部份向來是較困難的,即使寫出來也會與人手觀察的結果有所出入,但形態只是用來判斷市況的強弱的其中一種方法,其實只要稍作修改,不少工具也可以用來取代頭肩頂、頭肩底、背馳等傳統技術分析形態的! 多作嘗試必能發現更多有用的工具。

 

富昌金融集團聯席董事麥振威

麥振威 Facebook:

https://www.facebook.com/chunwaipaul.mark

 

 

 

「七成中方法」與槓桿的問題

今天跟學員討論了一個問題,為什麼用Amibroker測試了很久,看似找到一個「七成中」的方法,但真實交易又總是在輸,連續賺幾次後,總是會有一次大虧損,然後又再修改他們的方法,又再用程式測試及優化,但總是失敗,是否因為自己還沒有找到「聖杯」?總是聽到別人說天天賺,一張細期的本金已炒到過百萬,過千萬。

當時反問了他們一個問題,究竟他們認為應多少錢來做一張細期交易? 兩萬? 三萬? 還是五萬? 答案是三至四萬元左右,結果當我說出個人的意見後,但卻看到很多失望的表情。大部份的人都希望聽到,用一套交易方法,交易一張細期,然後贏多輸少,逐漸變成10張大期,甚至更多更多。真的有這樣的方法嗎? 所謂「七成中」的方法我相信很多,利用程式或許你可以找到一個「七成中」的方法,但「中」不代表你能贏,這才是重點!  討論中,自己提及若把槓桿控制在3倍之內,其實很多方法都可能贏,這個論點其實不只我一個提出,其實很多的Trader也提出過,但聽到後大家也很自然地十分失望。

目前一張期指的按金是92200元,上周五期指收市價是24622點,1點價值50元,那一張期指合約便是1231100元。故此一張期指的槓桿是(1231100 / 92200) = 13.35倍。若以細期計算,一張按金是18440元,每點價值10元,槓桿也是13.35倍。很多Trader就是喜歡用30000元左右的本金去炒1張細期,那他的槓桿大約是8.2倍。當本金夠5萬元時,他可以會改為炒2張細期,因為1點只是10元嘛,他會想自己仍有空間去輸,但這樣做,槓桿便變成約9.8倍左右。

所謂槓桿控制在3倍之內,意思是你有82073元也只是炒1張細期,那你會發覺一個七成中的方法,在交易一年後你確實有回報出現,因為你不再介意帳面上的虧損與獲利,可以更容易去讓統計上的結果變成真實。 但很多人就是嫌回報太少,若要交易3張大期,豈非應準備百多萬元?那我倒不如炒樓更好!這便是風險管理的問題,幻想世界中總是有一些「神奇方法」可以以小博大,但真實情況是,風險管理比什麼都重要,方法只是統計的結果,如何去管理風險才是重點。這也解釋了為什麼三數萬元的本金,根本不可能依靠交易一張細期來長期賺錢,或許一次偶然的機會可以憑著一個大升浪/大跌浪而大賺,但這些機會真的有「神奇方法」可以每次都把握到嗎?

QUANTS 3

富昌金融集團聯席董事麥振威

麥振威 Facebook:

https://www.facebook.com/chunwaipaul.mark

 

比較KELTNER BAND與BOLLINGER’S BAND

比較KELTNER BAND與BOLLINGER’S BAND

相對BOLLINGER’S BAND,KELTNER BAND是比較少見的技術分析指標,但它的作用其實與BOLLINGER’S BAND不遑多讓。 KELTNER BAND的公式計算其實非常簡單,也與BOLLINGER’S BAND有點類似:

 

kel 9

 

KELTNER BAND中軸 = 20日EMA

KELTNER BAND頂部 = 20 日EMA + (2 x ATR(10))

KELTNER BAND底部 = 20日EMA – (2 x ATR(10))

 

KELTNER BAND與 BOLLINGER’S BAND最大的不同是,BOLLINGER’S BAND運用了「標準差」去計算頂部及底部,而KELTNER BAND則運用了ATR,當然公式的計算不是重點,而且KELTNER BAND是Amibroker內置的指標,只要下載了這個程式,輸入數據後便能使用。  我們可以發現,KELTNER BAND與 BOLLINGER’S BAND也是希望價格在大部份時間都處於通道之內,最常見的想法是,當價格升至通道頂部便造淡,當價格跌至通道底部便造好。

其實筆者有點不明白的是,至今仍然發現很多的人喜歡將BOLLINGER’S BAND頂部視為一個短期升浪完結的參考水平,但在其他著作中也指出過,升至BOLLINGER’S BAND頂部,但頂部也何以跟隨價格一同向上延伸的,這不是阻力的位置,而且升穿BOLLINGER’S BAND頂部後,走勢持續向上的話,升勢是可以很急的,若然每當升至BOLLINGER’S BAND頂部便造淡,損失可以很慘重,到大家學了KELTNER BAND後,或許就會想到,利用KELTNER BAND替代BOLLINGER’S BAND,但可以肯定的告訴大家,即使改為使用KELTNER BAND,效果也不會突然轉好。甚至將策略改為「同時」升穿KELTNER BAND與 BOLLINGER’S BAND又會如何? 答案是效果也不會太好!

 

kel 12

 

其實,任何的技術指標,若然是概念相近,我們可以嘗試比較兩者出現「差別」的時間,究竟市況會如何走,藉此看看是否能找出一些新的交易策略。正如KELTNER BAND與 BOLLINGER’S BAND,我們先比較一下,究竟價格升至BOLLINGER’S BAND頂部的機會多,還是升至KELTNER BAND頂部的機會多?

大家應會發現,若KELTNER BAND與 BOLLINGER’S BAND的中軸同樣是採用20這個參數的話,會出現兩種情況:

 

1)      KELTNER BAND處於BOLLINGER’S BAND之內

2)      BOLLINGER’S BAND處於KELTNER BAND之內。

 

情況1便有可能出現價格升至BOLLINGER’S BAND頂部,但沒有升至KELTNER BAND的頂部,而情況2則有可能出現價格升至KELTNER BAND頂部,但沒有升至BOLLINGER’S BAND頂部。

 

當然,也有可能是價格跌至KELTNER BAND底部,但沒有跌至BOLLINGER’S BAND底部的情況,又或價格跌至BOLLINGER’S BAND底部,但沒有跌至KELTNER BAND底部

 

我們發現情況1的參考價值較大,若然出現價格跌至KELTNER BAND底部,但沒有跌至BOLLINGER’S BAND底部的情況,價格反彈的可能情較高!

 

 

KEL 4

 

    此外,我們也留意到另外兩個特性:

 

1)      KELTNER BAND在BOLLINGER’S BAND之內走到之外

2)      BOLLINGER’S BAND在KELTNER BAND之內走到之外

 

兩種情況出現之時,走勢都會突然加劇,無論是升勢或跌勢都會很大,例如: 若KELTNER BAND在BOLLINGER’S BAND之內或BOLLINGER’S BAND在KELTNER BAND之內時,價格是窄幅橫行,那其後的走勢會更急更快。如下圖:

BOLLINGER’S BAND在KELTNER BAND之內走到之外的例子:

 

kel 10 kel 11

既然如此,兩個指標同時運用反而更有參考價值,但如何配合,大家便可利用Amibroker做詳細的測試。

 

 

富昌金融集團聯席董事麥振威

麥振威 Facebook:

https://www.facebook.com/chunwaipaul.mark

 

 

 

 

如何利用Amibroker編寫兩個不同時間間隔圖表的策略

1. 運用不同時間間隔圖表的策略十分常見,在Amibroker 中要編寫相關策略也十分容易

(按圖可放大觀看)

10271

 

2. 假設需要編寫的是融合5分鐘圖及1分鐘圖的策略:

(按圖可放大觀看)

10272

10273

3.Amibroker 中要寫這類型的策略其實只需運用三句language

 

i) timeframeset(寫上較大圖表的時間間隔,如5分鐘圖配合1分鐘圖分析,這裏便寫上in5minute)

ii) timeframerestore()

iii) timeframeexpand

 

三句的排列及格式如下是有一定的規定的,如以下便是規定的格式:

10274

留意RSI5MIN及RSI5MINS2是自行安排的「名稱」,這個名稱是可以隨意安排的,若最初設定為ABC,便用全部都用上ABC,

其後在TIMEFRAMEEXPAND後的部份,便是1分鐘圖的部份,只要寫上你安排了的名稱,程式便懂得這是代表了5分鐘圖的訊號,如圖中 short=rsi(5)>90 && rsi5mins,這代表了造淡的準則是5分鐘圖的rsi(5)大於80及1分鐘圖的rsi(5)大於90

 

4)以下是給大家練習的例子:

(按圖可放大觀看)

10275

 

5)練習的答案:

(按圖可放大觀看)

10276

 

富昌金融集團聯席董事麥振威

麥振威 Facebook:

https://www.facebook.com/chunwaipaul.mark

 

零滯後MACD (Zero Lag Macd)」全自動交​易應用方法

傳統MACD指標是不少投資者應用的分析工具,但大家卻會發現存在「滯後」的問題,意思是升浪出現後,指標才會發出買入訊號,錯失了最佳的入市機會,若跟隨MACD的訊號出現才入市,又很可能遇上價格調整。在《MACD港股實戰應用》中曾提及以PPO這指標取代MACD,但除了PPO,大家也可嘗試應用Zero Lag MACD這指標,這是專為克服MACD滯後問題而設的指標,而這指標則是外國某技術分析雜誌在2000年4月號首次被提出。

ZERO LAG MACD的特點是比較著重較近期的價格變動,而較遠期的則減低其比重,令指標更能反映最新的情況。ZERO LAG MACD並非Amibroker的內置指標,但卻能自行編寫,在Quants Training課程中也有提供,並會教授有關的特別用法及如何配合其他技術指標應用,能大幅改善MACD滯後的情況!

附圖為近期的獲利例子:

ZERO LAG MACD SAMPLE

 

2014年6月30日ZERO LAG MACD 應用例子

 

富昌金融集團聯席董事麥振威

麥振威 Facebook:

https://www.facebook.com/chunwaipaul.mark

利用AFL CODE WIZARD選擇MACD作分析的步驟

初學者利用AFL CODE WIZARD選擇MACD作分析時,總是會覺得較為困難的,原因是在Amibroker中,MACD分為「MACD-Moving Average Conv/Diverg」即MACD的快線,及「Signal-MACD Signal line」即MACD的慢線。此外,當你選用MACD的參數為(12,26,9)之時,快線其實只需輸入兩個參數(12,26),而慢線則需輸入三個參數(12,26,9),兩線組成大家常見的MACD指標。

 

以下為將MACD這個指標插入圖表及利用AFL CODE WIZARD選擇MACD作分析的步驟 (以傳統MACD買入及賣出訊號作例子):

 

1) 選「MACD」再點擊insert

直接將指標拖延至圖表,指標會顯示在股價之上,而insert則讓指標出現在股價圖下部份

macd 1

 

2) 在「Parameter」中可更改MACD的參數

macd 2

macd 3

 

3) 利用AFL Code Wizard

i) 先在value of close 中點擊close,再選「MACD-Moving Average Conv/Diverg」

ii) 在右邊輸入「12」及「26」

iii) 點擊數字「10」,然後先選「value of 」,再點擊close,再選Signal-MACD Signal line,並輸入「12」、「26」及「9」

MACD 4

iv) 在AFL Code Wizard根據圖中指示選擇

MACD 5

 

 

富昌金融集團聯席董事麥振威

麥振威 Facebook:

https://www.facebook.com/chunwaipaul.mark

如何分割上及下兩個視窗分別觀看重磅股及恆指走勢?

 

1) 按「Tile Horizontally」可上及下分割視窗,但留意原圖是期指,那先分割出來的便是期指!

 

A1

 

2)  要按「+」新增一個圖表

 

A2

3) 輸入重磅股代號,如匯控(0005),在新圖表中出現匯控走勢

A3

 

 

富昌金融集團聯席董事麥振威

麥振威 Facebook:

https://www.facebook.com/chunwaipaul.mark

 

AmiBroker 如何選股?

唔知大家有否遇到一個問題,股票有成千隻,如果要找出那一隻突破/破位/追落後,十分費時?
我相信每一個人都很想去從數千隻的股票中找出合適的作出投資呢!

現在就有一個例子。
我想從恒指成份股中找到一些較落後的股票(收市價還未升追10天移動平均線)

1) 先準備一個AmiBroker資料庫並有齊恒指成份股的價格資料
amibroker_choose_stk_1

2) Analysis -> Formula Editor 並打以下字句

amibroker_choose_stk_2

Below10DayAverage = Close < MA(Close, 10);
Filter = Below10DayAverage;
AddColumn(Close, “Close price”);
AddColumn(MA(Close, 10), “10 days moving averages”);

3) File -> Save As -> 輸入檔案名稱並儲存檔案

amibroker_choose_stk_3

amibroker_choose_stk_4

 

4) 關閉Formula Editor

5) 打開一個Analysis 視窗並載入剛儲存的檔案

amibroker_choose_stk_5

6) Apply to揀選*All symbols,Range揀選1 recent day(s),然後按Explore。

amibroker_choose_stk_6

7) 所有收市價在圖表上最近一天(11/9/2013)低於10天平均價的Symbols、該Symbol的收市價、10天平均價便會顯示出來。

amibroker_choose_stk_7

這樣便能快速地顯示出符合特定條件的股票,方便再作進一步的買賣。若再想進一步了解如何透過AmiBroker選股,請參加我們的Quants Training課程。

 

富昌金融集團聯席董事麥振威

麥振威 Facebook:

https://www.facebook.com/chunwaipaul.mark

用AMIBROKER自制PPO指標

在《全職操盤──輕鬆學懂全自動程式交易工具 Program Trading》一書中有提及PPO 指標的使用,有不少讀者亦因有有興趣在AmiBroker上自制這個指標。
其實在AmiBroker上自制指標也是一件十分容易的事呢。
現在就示範如何自制PPO 指標並顯示在圖表上:

1)  首先我們要清楚PPO 的計算方法

Percentage Price Oscillator (PPO): {(12-day EMA - 26-day EMA)/26-day EMA} x 100

Signal Line: 9-day EMA of PPO

PPO Histogram: PPO - Signal Line

(Copied from stockcharts.com)

 

2) Analysis -> Formula Editor

amibroker_make_ppo_2

 

3) 在AmiBroker輸入下面的languages

amibroker_ppo_3

 

4) File -> Save As -> 輸入檔案名稱(例如PPO_indicator)-> 存檔 -> 關閉Formula Editor 視窗

amibroker_ppo_4

 

5) 打開Chart 視窗-> Custom Indicator -> 右點擊PPO_indicator(剛剛儲存的檔案名稱)-> Insert-> OK

amibroker_make_ppo_5a

amibroker_make_ppo_5b

 

6)PPO 圖便出功出現在圖表上。

amibroker_ppo_6

如果想知道更多關於自制指標的資料,請報讀我們最新的Quants Training課程。

 

 

 

 

 

 

不懂寫程式也能做Backtest–AmiBroker AFL Code Wizard

很多人會問,我不懂寫程式的,我不是IT人,這是否代表不能做Backtest???
當然不是呢!

AmiBroker 有一個很好用的功能,AFL Code Wizard,讓不懂寫程式的人也能透過普通的Drag and Drop 去做Backtest。

現在作出一個簡單的示範:

測試Logics:
收市價高過10天移動平均線時買入
收市價低過10天移動平均線時沽出

1)  Analysis -> AFL Code Wizard

amibroker_afl_1

2) 點擊Add Item

amibroker_afl_2

3) 點擊Edit Rule 視窗的數字10

 

4) 揀選MA – Simple Moving Average, 把右邊Parameter Period 的數值改為10

amibroker_afl_3

5) 點擊Exit Long When

amibroker_afl_4

6)  點擊Add Item

7) 點擊Edit Rule 視窗的>(is greater than) 符號, 把>(is greater than) 改為<(is less than)

amibroker_afl_5

amibroker_afl_6

 

8) 點擊Edit Rule 視窗的數字10

9) 揀選MA – Simple Moving Average, 把右邊Parameter Period 的數值改為10

amibroker_afl_7

10) 點擊Auto-generated Formula, 你便會看到AmiBroker AFL Code Wizard 成功地把一些natural language 轉化成AmiBroker Languages

amibroker_afl_8

11) File -> Send to AmiBroker

amibroker_afl_9

12) 輸入檔案名稱並按存檔,下次做Backtest的時候就可以直接load 這個檔案呢。

amibroker_afl_10

AmiBroker AFL Code Wizard對於不懂程式又想測示買賣logics的人來說絕對是喜訊,在Quants Training 將會對AmiBroker AFL Code Wizard 有更詳細的講解。