2014年1月30日 星期四
使用Renko圖形交易所面臨的問題
在交易的圖表設定中,讀者會發現K棒不一定是要畫成蠟燭圖,也可以選擇一些不同邏輯去定義出不同的線圖,例如本篇的RENKO就是一個利用價格去畫的例子,讓我們可以很直觀的觀察價格單純的走勢,減少價格在盤整時的雜訊,然而本篇並不主要介紹RENKO的好處,而是去了解對於使用程式交易的我們,會有甚麼樣的問題,首先透過下圖設定的欄位來了解其原理。
一開始要設定一個單位大小,在目前國內最新的8.5版中另外有提供依照%來設定單位大小的選項,但其道理都是在設定每一根棒子要多長,表示當價格滿足設定的一單位大小,這根棒子就算收盤,開始畫下一根,另外也要同時配合週期的設定,來決定顯示的時間,設定成最小1TICK,就是每個TICK出現若滿足一單位點數的條件,就算完成並且顯示一根棒子,因此如果設定成1分鐘,就需要等待一分鐘過完,滿足多少個單位才一次顯示出來。
最後下面就是一些顯示的設定,一般為了避免隔日跳空的計算錯誤,通常會勾選收盤時中斷,就不會跑出明明是跳空,卻顯示成全部連續棒子的狀況,另外其他則只是用來控制顯示的方式,並不影響計算。
然而以上的邏輯其實對要使用RENKO進行程式交易的我們是有很大的困擾與問題,為了呈現問題的所在,J先寫了一個很簡單的測試程式,程式碼如下。
這個當沖策略設定當棒子收紅,就於下一根開盤做多,如果連兩紅,就下一根多單出場,同時設定SET指令中的STOP,空單則相反,不設定手續費,跑的圖就是最上面那張圖的設定,每四點畫一根棒子,週期使用1TICK,進行盤中即時收報價進出場測試。
從本張交易截圖可以看出,黃線是換日線,左邊是回測與昨天狀況,每一個進場點都在棒子的起畫點,除了SETSTOPLOSS的出場外,都在棒子的收盤(棒子的上下緣)。然而右側的實際上線狀況,一開始的多單進場就沒有落在棒子邊緣,而是在空中或是像第三筆一般在棒子中間,同時第三筆出場也在空中而不在邊緣。
再來看看下2圖的比較,首先第一張是即時上線狀況,第二張則是關掉MC後重開的狀況(形同回測狀況)。
讀者可以很明顯看出來,同一個棒子的狀況,在上線時(上圖)與回測時(下圖)比起來,差異非常大,主要的原因是每根棒子的開盤價位置被修改了,而SETSTOP指令仍有作用,只是因為進場點改變而導致出場點當然也就有所不同。
再來J同一天也同時測試了如果週期改變為10分鐘,單位大小為3點,盤中即時圖形如下。
讀者可以仔細看J標記的部分是第一根9點15的棒子,然而下方座標軸卻顯示了好多個09:15,而每一個進場也都很漂亮的在每根棒子的邊緣,這原因是實際上這些09:15的進場與出場都是在09:15時間一走完時,瞬間跳出來的多次進場與出場,若使用下單機丟單,則是一筆單都不會有,或是進一單在最低點!
最後透過本次實驗,我們得到幾個RENKO使用上的問題,第一是在回測狀態,開盤價的定義是受到收盤價的確立(滿足一單位大小的點數)而得到回測時每根棒子的開盤價。第二是周期的設定會影響棒子多久才瞬間跳出來一次。第三就是目前RENKO是有保留完成那根棒子時的高低點,因此SET指令有效。
綜合以上三點可以了解到,目前RENKO的運算邏輯下,回測與真實落差太大,無法使用RENKO當作DATA1進行交易,但若使用其為DATA2當作指標來使用卻是種可行的作法,因為當成指標時可只採用其確立的CLOSE值運算。以上提供想使用RENKO的讀者一些實驗心得。
2014年1月21日 星期二
趨勢追隨策略類型2-突破
續前篇 Trend Following 趨勢追隨策略類型 。設計趨勢追隨的程式交易策略,首先就是要判斷趨勢,一般常見方法有兩種,第一是均線策略,跟著市價與均線的位置或均線的斜率來判斷趨勢方向,第二就是突破,由基準點開始看盤勢漲跌了多少作為突破,再持續同一方向的趨勢。
這個基準點的設定可能是特定價位或某特定時段所依據,例如特定價位設定上個月結算價,或心裡認為特別重要的價位。特定時段可能設定每日開盤的價格或每週、每月甚至每年開盤價格都可以運用。
而漲跌多少算是突破可以追價? 這就是看前面所設定的週期,越長期的週期應當配合越大的突破價差,例如每季開始的市價設定為基準點,漲跌5%作為突破,在未翻回反方向突破前持續持有直到每季結束,這樣也是個可以測試的策略,可能都比一些奇奇怪怪的指標還會獲利了。
另外一個考慮漲跌價差的設定是波動率,例如最近一段時間波動大,那這個漲跌價差就應該同步放大,真的夠大才去追突破,免得盤整常常洗刷,反之,波動小時,漲跌價差也應該同步縮小,跟著市場作小波段。
這樣跟著波動率所設定漲跌價差,可以利用的方式很多,例如取日的 ATR、利用BBand、或 歷史波動率 等等,此篇就來紀錄應用歷史波動率來設計突破策略。
要考慮的參數有
- 取多少期間的歷史波動率,計算出對應點數
- 由目前市價要漲跌多少比例的對應點數算是突破
程式範例如下:
基準點BP設定為目前市價,計算出對應的波動點數HVp,例如HVp為100點,把它當作目前可能波動的範圍上下區間是100點,而基準點在中心點,那當市價突破基準點加減50點時,就視為是一個趨勢開始,建立方向部位並將新的基準點設為目前市價,以此再續看下一個突破點。
策略表現及指標如圖:
這樣的策略可以有以下績效(10minK,2005~2013)
以一個策略原型來說,這樣的績效是蠻不錯的,問題在於drawdown如何縮小。另外注意這是非多即空的策略,進一步也可以試試什麼情況不須在場內,例如波動非常小時,可能不要有單,或許可以降低些drawdown。也可能是相反的,波動很大時先退出,因為可能大幅drawdown都是在此期間產生。
突破策略百百種,開頭提到的以年月日作基準點的策略也可以慢慢紀錄,另外均線策略也是非常多樣化的,持續調整囉。
2014年1月13日 星期一
利用交易口數畫K棒
多數人常使用的K棒可能是分線或日線所組成,而在MC中提供了除了用時間來計算K棒以外,還可使用成交口數來計算一根K棒,因此產生的特色是,每天得總K棒數會受到交易量的影響成變動,所以如果當天行情大(伴隨交易量大),就會使當日K棒變多,反之則相對一般分線減少。也許對玩一陣子MC的讀者來說這不是什麼新鮮事,但是否真的對交易策略有所幫助,本篇也會來驗證一下。
首先有淺入深,先看看在哪邊調整,可參考下圖,在商品設定中調整成以"口"來計算週期的單位,本例使用2000口作計算標準。
現在J想比較到底使用口數對交易策略有沒有幫助,因此將拿同一個程式碼的策略套到兩種不同K棒來比較,以下的例子是使用台指期2005/1/2至2014/1/10為資料,策略是3口加碼型的留倉單,手續費設定為每口400元。
首先使用2000口的K棒作基準,跑五個參數的最佳化,選擇獲利因子最大的參數,再將此參數維持固定,調整K棒成分線,在維持相近的交易次數為前提下,找出5分線是最為接近且獲利表現最好的週期,將兩者比較一下如下表。
可以發現直接用2000口的參數套過去,得出更差的結果,獲利大幅降低,回檔增加一倍。
而為了更完整的測試,現在我們反過來做一次,首先,把五分線的參數一樣最佳化,且參數區間皆完全一致,再一樣透過選擇獲利因子最大的參數來當作5分線最好的表現,最後將這參數不變,直接把k棒設定改為2000口,得到兩者比較的績效如下表所示。
可以發現,兩者除了2000口的交易次數變多以外,幾乎沒有甚麼差異,因此我們再多比較一個項目近1年(2013年)表現,則由2000口k棒的策略明顯勝出。
最後,總結來看,利用口數畫k棒可以讓原本分線交易策略有更好的參數選擇,產生出更好的表現,並在近年來也能持續維持獲利,然而交易系統報價的精確性就顯得更為重要了,一般的DDE在使用口數畫K棒時可能就會出現問題,讀者需要特別注意,或許花點小錢讓系統更快速穩定,就能創造出更多不同以往的交易機會,就像本篇在K棒上動點手腳,就能創造出完全不同的損益結構,提供給讀者思考。
標籤:
台指期,
程式交易,
程式交易策略,
K棒週期,
Multicharts
2014年1月9日 星期四
課程推薦-第一次外期程式交易就上手
國外期貨交易是必須要瞭解並運用的領域。
近年台指期的波動低,作國內期貨的交易很不容易,相對可運用的策略也限制了很多,而相比去年美指期的大漲、日圓的大跌、黃金的大跌等等,有許多的商品都有明顯的趨勢,那都是能帶來非常大的獲利,當然也代表非常大的風險,不過和只作國內的朋友來說,可以確定的是,有機會。
不過要進入國外期貨前,需要作一些功課,包括經紀商的選擇、軟體工具的使用、商品和費用的選擇、策略的設計,這些主題都非常重要,也都需要先花費許多時間研究,不過現在有課程可以引領入門了,由有經驗的交易前輩分享這些相關知識,課程內容包含了
1. IB海外期貨帳戶開戶+分解動作
2. Multicharts串接IB全球交易
3. 歷史資料的維護(連續月份)
4. 海外期貨程式策略入門篇 (附上Wen的示範策略)
4.1 認識主要交易市場規格+查詢市場
4.2 如何用最低廉的成本分析市場特性 (針對市場特性發展出適用的策略)
4.3 Limit order/ stop order選用vs滑價及回測手續費設定
4.4 多市場策略之核心邏輯引導:逆向思考 (切入多市場的萬用核心技巧)
4.5 e-Global多市場交易策略(含程式碼)
-不改參數應用於台指期策略
-不改參數應用於黃金期貨策略
-不改參數應用於e-miniS&P策略
5. 遠端連線展示
這樣的主題實用,是個有價值的課程,推薦給朋友和讀者參考,進一步的瞭解和報名聯繫可由以下連結進入。
第一次外期程式交易就上手
2014年1月8日 星期三
Aroon Indicator 阿隆指標
Aroon Indicator 阿隆指標,以距離創新高低後的期間來判斷強弱勢,說明和範例可以看兩個資料連結:
Aroon Indicator
Finding The Trend With Aroon
指標為計算兩數值Aroon多方及Aroon空方,定義是
AroonU : [(期間數) - (創新高後的期間數)] / (期間數)] x 100
AroonD : [(期間數) - (創新低後的期間數)] / (期間數)] x 100
未看圖之前可以想像,最近有創新高,AroonU值就高,有創新低,AroonD的值就高。另外一個可以參考的指標是AroonU – AroonD,有創新高又很久沒創新低,這個值就會高。
以Multicharts來實作這個指標的語法如下
套用台指期行情來看看有沒什麼特殊性可以利用
是不是有什麼線索可尋?
有看出來了嗎?
若有看出來的朋友麻煩分享一下,L對它沒什麼感覺,不曉得怎麼利用,(逃~)。
小指標介紹,目前約略測試所設計的策略績效都不怎樣,其實也蠻正常的,要找些其它指標和Aroon搭配使用才可能有像樣點的結果,有心得再紀錄下去了。
2014年1月6日 星期一
2014年行事曆
新的一年已經開始幾天了,才POST行事曆好像晚了一點,不過也當是個提醒吧~
行事曆取自 期交所公告,策略或指標有使用到結算日期的朋友記得更新確認,例如有使用到 尾盤出場策略1-建立日期表 此類的函數設計。祝各位朋友和讀者新的一年大大收獲~~Good luck!!~
行事曆取自 期交所公告,策略或指標有使用到結算日期的朋友記得更新確認,例如有使用到 尾盤出場策略1-建立日期表 此類的函數設計。祝各位朋友和讀者新的一年大大收獲~~Good luck!!~
訂閱:
文章 (Atom)