程式交易

Tag: 程式交易

如何介定即市交易期指的最佳平倉時間

Trendy
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威) ・2020-04-12

即市走勢中,一個升浪或跌浪究竟平均會運行多久,大家有統計過嗎? 很多Trader只會注意「空間」的止損,而不會考慮時間因素。只要價格跌到某個事前設定的價格,就會止蝕離場,這就是空間止損。空間止損法的好處在於,可以減低你的壓力,當帳面虧損到了你接受不到的程度時便平倉止損,但缺點在於即使到了止損的階段,因走勢突變,你的虧損也可以比預期更大。其實很多Trader都面對這個問題,為此,便需要引入時間止損的概念。時間止損是根據升浪或跌浪平均運行的時間來做止損,甚至更改為入市訊號。 不過首先要介紹運用時間加入個人交易系統的概念,其實在做back-tesing時大家可以統計一下,假設過去一百個交易日,每一個升浪運行的時間,即市走勢中,一個短的升浪可以運行數分鐘,也可以運行數小時,若然你發現在過去一百個交易日中,即市走勢中一個最長的升浪也只運行兩小時,那當某日你發現一個升浪已維持了接近兩小時,若然你已持有好倉,那便代表了已到達你需要平倉的時間,又或已是反手造淡的時間。 這種統計方法對提高交易的回報很有幫助,當然有經驗的Trader應立即想到一個問題,究竟應如何介定一個升浪完結? 升浪可以調整過後又再上升,那在即市走勢中,究竟如何去計算這個升浪維持的時間有多長? 最簡單的統計方法是,一個即市走勢中的升浪展開後,先計算由升浪底部計起所上升的幅度,若其後出現調整,調整幅度是升浪的「三分之一」以上,那便代表整個升浪已完結,其後即使在調整後再展升浪,也屬於第二個升浪的開始。當然,大家也可用同一種方式去介定一個跌浪已完結,並同時統計在過去一百個交易日中,跌浪維持的時間平均有多長,藉此判斷若持有淡倉應何時平倉,同時又應何時反手造好。用這種方式去計算一個升浪或跌浪究竟平均會維持多少時間,這比你繼續研究何時入市最好,不斷去尋找新的入市方法更有效! 例子(一): 請留意圖中如何介定升浪已完結 (圖一) 例子(二): 請留意圖中如何介定跌浪已完結 (圖二) 現在大家應有了對分析升浪或跌浪維持時間的概念,回說如何去避免只做「空間」止損,而需要加入「時間」止損。在做back-testing時,除了可以統計一下升浪或跌浪平均運行的時間外,也可以統計一下,每一個入市訊號後,究竟平均需要多少時間才會展開升浪或跌浪,比如你設計了一套交易系統,由MACD與STC這兩個技術指標組成,當兩個技術指標同時發出買入訊號時,你便會入市造好,但你入市後常會遇到一個問題,雖然交易訊號出現了,但市況並非立即上升,很可能只是在整固,又或很少幅度的調整,但你看到價格雖沒有上升,又有跌至你的止損價位,你運用的「空間」止損法,根本派不上用場。其後價格整固了一段時間後突然急跌,下跌的速度可以很快很快,當你決定止蝕時,很可能根本已錄得比你預期更大的虧損。 又或交易訊號出現後,你同樣按訊號入市造好,但市況只是在整固,整個的時間可能長達兩小時,甚至更久,你上午的市況中已買入,但就是不想持倉過午市,結果提早平倉離場,不過訊號的威力卻在下午市況中才發揮出來,你上午平倉之時可能錄得輕微虧損,但下午市況中的升浪你卻沒有把握得到,「一來一回」其實你的損失經已很大。 故此,我們要做的,除了統計交易訊號的獲利比率外,也要統計一下交易訊號出現後,究竟平均要多少時間才會展開較明顯的升浪或跌浪。例如,在過去一百個交易日中,出現了一百五十個造好的交易訊號,而這一百五十個造好的交易訊號,平均需要十至十五分鐘才會展開較明顯的升浪,那這個統計數據對你來說便很有參考價值,因為你入市後,若然市況只是在整固,即使出現帳面虧損,只要未到達你止損的程度便什麼也不用去做,但若然整固的時間已維持了達十五分鐘,由於已超過了你統計的平均時間,那便需要用「時間」止損的方式來止損平倉,這樣是避免冒上不必要的風險。 此外,在做back-testing時,最好是要同時統計一下,入市訊號出現後,雖然按預期出現升浪,但平均需要多少時間才會到達目標價。例如,在過去一百個交易日中,出現了三百次造好及造淡的訊號,究竟這三百個交易訊號中,平均需要多少時間才到達目標價。這點十分重要,因涉及你是否應該持倉過午市,同時你要考慮一點,由於你是Day Trader,若然你的統計結果是三百個交易訊號中,平均需要三十分鐘才會升或跌至目標價,而最長的一次則需要一小時才到達目標價,當交易訊號出現在三時四十六分,你便要十分小心,甚至應放棄入市,因為期指市場是在四時十五分收市,離收市根本不足三十分鐘,或許在你的統計中,曾有些交易訊號是在短短數分鐘便展開升浪並升至目標價,但這個不是一個平均數,你統計過一百個交易日,甚至更多的交易日後,取其平均數值才值得參考的,單憑一次或次的交易經驗不能作準,故此為了避免冒上不必要的風險,這種情況便應放棄入市。 那若然距離收市的時間有三十分鐘以上,但統計結果顯示最長的一次則需要一小時才到達目標價又應否入市? 答案是需要的,因為不能因少數出現的特殊數據而放棄一個獲利機會,但這種情況下,Day Trader只有緊記一點,必需堅持只做即市交易的原則,即使收市前仍未到達目標價也需要平倉離場。 將「時間」止損加入你的交易系統內是提高回報的最有效方法之一,特別是即市交易,這能避免了很多市況突然大逆轉所帶來的重大虧損。其實所謂的back-testing絕對並非只在尋找入市方法這樣簡單,需要統計的事項十分之多,但作為Trader與其他行業也是一樣,你付出越多,你的收穫便相對越多。

技術指標訊號「滯後」 不適合作即市交易期指工具

Trendy
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威) ・2020-04-09

技術指標應用在即市交易的「滯後」問題,其實在過去的個人書籍也提及過,如第一張圖, MACD的訊號只是反映開市低開後首分鐘立即回升的趨勢,但當訊號出現後才追入,市況便整固或調整。又或第二張圖中,首兩個訊號皆「滯後」,但第三個訊號卻是「中」的,這令技術指標的使用者更加難判斷。 在《MACD程式交易應用》一書中提及過很多MACD的應用方法,如把MACD改為運用Zero Lag MACD、又或只留意每天特定時段,比如開市首30分鐘的走勢等,利用程式你可以找到相對較好的策略,但即市交易,個人覺得始終看盤路入市的效果較佳。 其實不只MACD,任何的技術指標,包括SAR、保歷加通道、RSI 、STC等等等都有「滯後」的問題,用以判斷方向某程度是可以的,但應用在即市交易上,特別是即市交易期指便會有很多問題,用技術指標去捕捉即市裏短短十數分鐘,甚至數分鐘內出現的數十點利潤,基本上是不適合的! 另上期online course也有提及,若大家用程式去Back Test應發現一個問題,用幾個time frame 的策略 (比如小時圖, 加5分鐘圖, 加1分鐘圖等),在即市交易期指時的回報是最低的,當你用這類方法去捕捉數分鐘內那數十點的利潤時會更加「滯後」,個人認為即市交易比較好的方法是看盤路及相關市場的即時影響。

四條不同平均線( 10日MA、10日EMA、10日DMA、10日TEMA)訊號更有效

Lifestyle
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威) ・2019-11-09

平均線是最多炒家會用的技術指標之一,最常見的用法就是: (比如運用四條平均線),會用上10日、20日、30日、50日平均線來看趨勢,所謂的「多頭排列」便是10日平均線比20日的高,20日的又比30的高,30日的又比50日的高,這代表了一個向上趨勢。當10日平均線升穿其他的平均線時,便視為「買入」訊號,但大家應發現這類傳統的用法,訊號會較滯後。 那運用程式來修改又會怎樣? 其實最簡單大家可試試不只用簡單移動平均線(MA),可以同時運用10日MA、10日EMA、10日DMA、10日TEMA,同樣是運用10日這個參數,但平均線的「敏感度」不同,也會更能辨別出趨勢。 例子如美團(03690),同四條不同的平均線( 10日MA、10日EMA、10日DMA、10日TEMA),買入訊號反而比用上四條不同日子的簡單移動平均線更早出現,而且趨勢在短線分析上會較清晰! 當(10日TEMA及10日DMA)比(10日EMA及10日MA)為高時,短線屬一個上升趨勢。同樣的用法除了應用在日線圖上,也可應用在其他intraday圖表,如5分鐘及1分鐘圖之上來分析期指。 其實不同的平均線組合,很可能只要「增加」在你的個人交易策略上,便能有效地提升獲利的機會,你已有的交易策略可以運用不同的平均線組合提高回報,利用程式(multicharts或amibroker)便能快速地重新「設計」你的交易策略,再進行back-testing! 網頁: www.quants.hk FACEBOOK: @quantshk email: paul.mark881@gmail.com