程式交易策略
今天教大家一個非常簡單的 交易策略 ,適用於美股市場。如果你能一直看到最後,我會教大家如何編寫一個勝率達到85%的交易策略,而且這個策略可以直接應用在交易平台上。
- Keep It Simple!!
- 越簡單的策略,未來實現可能性更高
- 策略概念:趨勢追蹤
- 商品選擇 – 標普500指數
- 透過觀察來調整策略
- 調整進場方式
Keep It Simple!!
今天要介紹的策略是一個超級簡單的策略。它只需要很少的程式碼,但卻能帶來良好的交易結果。不過,請記住,交易績效並非保證,風險仍然存在。在使用任何策略之前,請確保你已充分瞭解它並具有相應的風險管理措施。
首先,我想要與大家分享一個觀念,那就是如果你現在正在使用一個非常複雜的交易策略,未來失效的可能性就會相當高。
越簡單的策略,未來實現可能性更高
強調只使用三行程式的原因是因為在這種簡單的策略下,即使只使用三個參數,也能夠獲得不錯的績效。這意味著在這個市場上使用這種方式交易的未來實現可能性相當高。因此,我們強調的是你的交易策略越簡單越好。
那麼,該如何判斷你的策略是否太過複雜呢?其實很簡單。如果你的策略邏輯非常複雜,就是一頁寫不完的話,那麼你可能需要懷疑你的策略是否太過複雜了。
這種情況下,很可能存在過度最佳化的風險。因此,今天我們要教大家的只有三行程式,並且我會逐步教大家實作這個策略。之後,我會解釋這個策略的原理。
簡單的交易策略具有以下優點:
- 易於理解:實施簡單的策略對新的交易者是有利的,因為它減少了錯誤和混亂的可能性。通過關注簡單明瞭的方法,交易者可以提高他們在市場上的理解力和執行力。
- 減少過度最佳化的風險:複雜的策略容易過度最佳化,過度追求過去的績效,而忽略了未來市場變化的不確定性。簡單策略則更具彈性,能夠應對不同市場環境。
- 採用簡單的策略時,優化和測試變得更容易。這種方法涉及較少的參數,使得進行優化和測試程式更加簡單。通過這一點,人們可以迅速地評估各種參數的影響,並以更有效的方式確定最合適的設置。
當然,簡單並不意味著無效或者不具備競爭力。事實上,許多成功的交易策略都以簡單的原則為基礎。關鍵在於理解市場動態和交易原則,並且能夠根據實際情況做出靈活的調整。
總結而言,簡單的交易策略通常更易於理解、優化和執行,同時也能夠減少過度最佳化的風險。重要的是要理解策略的基本原則並且能夠根據市場變化進行調整。
策略概念:趨勢追蹤
今天我們將主要講解一種【趨勢追蹤】的交易策略。這個策略基於觀察你想交易的商品【是否】存在趨勢,如果有趨勢,我們就跟隨趨勢進行交易。
均線的意義 – 平均成本
均線的意思是在一段時間內,這些價格的平均值。為什麼要講平均成本呢?假設我們繪製了一條均線,那麼當價格在均線上方時,意味著當前進場的人都處於盈利狀態,因為大多數人都賺錢。相反,如果價格在均線下方,那麼當價格接近均線時,之前套牢的人會急於賣出,這時就會產生賣壓。因此,我們通常希望在價格在均線上方時進行多頭操作,在價格在均線下方時進行空頭操作。
那麼,該如何判斷商品是否具有趨勢呢?通常,人們會使用一些常見的指標,例如均線。而最常用的均線可能是5日線、10日線、20日線和60日線,市場上大家經常使用的均線還有 200 日均線,就是一個常見的選擇!
商品選擇 – 標普500指數
今天我們要測試的商品是標普500指數(S&P),最近展現了非常強勁的走勢,並創下了去年10月以來的新高。我們將使用日線圖來進行測試。如果你有 MultiCharts 軟體,就可以直接使用它來回測。如果沒有,沒關係,我將解釋原理,你可以根據自己的交易平臺來進行觀察。現在,我們要進行一些測試…
IF C CROSS OVER AVERAGE(C, 200) THEN BUY NEXT BAR MARKET;
IF C CROSS UNDER AVERAGE(C, 200) THEN SELLSHORT NEXT BAR MARKET;
我們來拆解這幾句話,非常簡單。
如果收盤價超過了某個均線,就說明市場看漲,我們會買入。如果收盤價跌破了200日均線,就說明市場看跌,我們會做空。
寫完之後,我們打開圖表,將剛才的信號添加進去。為了驗證,我們再加一條均線,比如200日均線,並稍微調整一下,這樣大家更容易觀察。
透過觀察來調整策略
好的,這時候我們將趨勢拉長一點來觀察。你會發現大部分股票的行情都是向上的,比較多是上漲的趨勢。在回測之後,你可以先觀察多單和空單的績效。
讓我們從這個績效表中來看。實際上,如果你使用均線做多,你可以賺取 81,000 美元,而使用均線做空則會虧損 61,000 美元。
記住,當我們從回測的報表中找到進場獲利的機會比較高的情況時,我們可以先去掉空單。所以,我們將原本的賣出改成賣出多單,就是平掉多單就好了,不再反向做空。
IF C CROSS OVER AVERAGE(C, 200) THEN BUY NEXT BAR MARKET;
IF C CROSS UNDER AVERAGE(C, 200) THEN SELL NEXT BAR MARKET;
好的,讓我們來看一下現在只做多不做空的情況下,原本空單的虧損 6 萬塊已經沒有了,所以我們現在的獲利只剩下做多的 8 萬1。可以看到,我們的績效已經比之前好很多了,不會像之前那樣差了。
再來看總交易分析,勝率稍微提高了 28 個百分點,原本只有 28%。
但其實這還不夠好,我們還可以對它進行優化。好,我們趕緊先只做多方吧,把空方去掉,然後進行回測。回測怎麼做呢?就是將它變成一個參數,使用 input,然後將均線也變成一個參數,比如我們叫它MA。
INPUT:MA( 200 );
IF C CROSS OVER AVERAGE(C, MA) THEN BUY NEXT BAR MARKET;
IF C CROSS UNDER AVERAGE(C, MA) THEN SELL NEXT BAR MARKET;
通過這種方法,你就可以進行最佳化的測試了。比如你可以從 5 開始一直測試到 200,每次增加 5。這樣就可以進行最佳化。我最喜歡做驗證的原因是,當你有一個想法時,進行驗證會讓你覺得很有趣且證明是否具有交易優勢。
調整進場方式
現在讓我們反過來思考一下,如果我們將買賣策略顛倒一下,會發生什麼。所以現在我想反轉一下,如果今天的收盤價小於昨天的最低點,我就買進;然後如果今天的收盤價大於昨天的高點,我就平倉。
INPUT:MA( 200 );
IF C > H[1] THEN SELL NEXT BAR MARKET;
IF C < L[1] THEN BUY NEXT BAR MARKET;
讓我們來看一下交易曲線,完全不同了吧。這完全顛覆了大家的想像。如果我們僅僅使用標普 500 的日線數據,在突破高點時進場,風險實際上是很大的。
根據這樣的績效,過去十幾年來大約可以賺取 10 萬美元。這個數值已經扣除了交易成本,每邊是31.25 美元。所以這個數值已經考慮了交易成本。然後我們看連續週期的部分,幾乎都有 60% 以上的勝率,平均來看今年大約是 85%。
我們已經示範了如何用均線判斷趨勢,然後又帶大家看了什麼時候進場是在下跌時好,還是在上漲時好。所以,你現在已經知道了這兩種方式。
那麼,現在我們要如何將它們結合成一個交易策略呢?我將兩個策略結合在一起,用一個長期均線來判斷趨勢,然後在日線的K線形態中尋找進場點。大家可以想像一下如何將這兩個策略結合在一起。
好簡單啊!這是進場點,也就是我們要扣板機的時刻,也就是當日的K棒突破過去幾天的最低點。
但是還需要符合一個條件,就是收盤價必須大於均線之上。
INPUT:MA( 200 ), LE( 1 );
IF C < LOWEST( L, LE )[1] AND C > AVERAGE( C, MA ) THEN BUY NEXT BAR MARKET;
IF C > HIGHTEST( H, LE )[1] THEN SELL NEXT BAR MARKET;
回測完成後,我們可以直接查看績效報告。我們先來看勝率部分,85.07%。看起來已經達到了我們期望的 85% 的勝率了。因為台灣投資人喜歡高勝率,雖然我不知道為什麼,但是為了幫大家回測一個高勝率的績效,我們先採取這個標準。
然後我們看總收益部分,達到了 134,000 美元,大約是 400 多萬台幣。而最大虧損為 13,000 美元,風險報酬比為 9.79 倍。
再來看一下85%的勝率部分,再看一下賠率,賠率也不低,有 1.55 倍的賠率。
應用在TradingView
結論
讓我們來複習一下交易策略,這個交易策略的核心思想是建立一個均線過濾機制,主要交易原則為在上升趨勢中逆勢買入,也就是在下跌時進行買進。這樣做既有長期保護的效果,也有短期操作的機會。因此,我們不會追高,而是等待回檔時進行買進。
最後,每種方法都有其優缺點,我們只需要找出最適合自己的方法,並紀律化執行。重要的是,要堅持自己的交易規則並保持理性,我們就能夠更好地應對市場的波動並取得長期的投資成功。
願大家都能在交易中獲得所期待的成果!
隨著機器學習與大數據的興起,程式交易已成為交易員的必備技能。如果你想要打造被動收入的話,程式交易是一個值得參考的工具。接下來我將示範如何5分鐘利用Multicharts內建交易策略來交易 輕原油 期貨。
通道突破策略
開啟multicharts
開啟要交易的商品圖品CL1(輕原油)
選定要回測的資料區間
加入通道訊號(CHANNEL BREAKOUT)
檢視策略績效報告
自動交易
改善策略
將時間花在更有意義的事
在程式交易上成功有一定門檻,這並不是一種快速致富的方法,需要不斷地學習、開發、改善策略,如果您想編寫比原來風險報酬比高10倍的策略,可以參考線上課程 【交易創造自己的聖盃】
延伸閱讀:【程式交易 是什麼?熱門程式交易平台】
延伸閱讀:【程式交易 | 如何建立你的 交易策略】
延伸閱讀:【程式交易 | 新手第一隻突破策略怎麼寫?為什麼海龜交易員都要使用通道交易系統?】
延伸閱讀:【程式交易 | 新手第一隻 均線 策略怎麼寫?一次告訴你四種均線運用法則!】
影音教學:【新手如何在5分鐘打造獲利370萬的交易策略】
警語:
1.相關程式僅供教學使用,系統平台為元大MultiCharts,相關圖表及數據參照歷史數據進行繪製及統計僅供參考,並不代表預測未來行情走勢之能力或保證獲利。
2.任何參數請客戶自行設定,本教學僅提供語法操作說明。
如何判斷 交易濾網 是否有效? 交易濾網 到底有什麼魔力?
外期交易時段過長該如何處理
透過本篇教學,你將可以學到如何正確的判斷交易濾網是否有效:
隨機進場判斷濾網是否有效
交易濾網架構
加入交易濾網的語法簡單如下,在進場條件之後再加上交易濾網:
If 符合多方濾網 and 買進條件 then buy next bar market;
If 符合空方濾網 and 賣出條件 then sellshortnext bar market;
四種價格濾網
- 第一種為開盤價濾網,當今天第一根K棒>今日開盤價,然後VALUE1>50,買進一口多單,空單則反之。
- 第二種為昨日收盤價濾網,當今天第一根K棒>昨日價,然後VALUE1>50,買進一口多單,空單則反之。
- 第三種為開盤第一個小時高低點,當收盤價>第一小時高點且VALUE1>50買進一口多單,當收盤價<第一小時低點且VALUE1<51則放空一口。
- 第四種為昨日最高價及最低價,當收盤價>昨日最高價且VALUE1>50買進一口多單,當收盤價<昨日最低價且VALUE1<51則放空一口。
簡單策略+濾網
結論
警語:
1.相關程式僅供教學使用,系統平台為元大MultiCharts,相關圖表及數據參照歷史數據進行繪製及統計僅供參考,並不代表預測未來行情走勢之能力或保證獲利。
2.任何參數請客戶自行設定,本教學僅提供語法操作說明。
延伸閱讀:【程式交易 是什麼?熱門程式交易平台】
延伸閱讀:【程式交易 | 如何建立你的 交易策略】
程式交易新手第一隻 均線 策略怎麼寫?
相信很多人都會用到均線,均線是程式交易策略中最基本的一個交易策略!
本篇與大家分享四種均線運用法則:
- 均線突破進場
- 均線交叉策略
- 雙均線策略
- 均線逆勢策略
均線策略寫法
我們使用Multicharts作回測:
最佳化
出場檢驗
為了避免過度最佳化,我用上一步回測的【45】均進場,只不過出場我用參數【EXIT】天出場,來判斷進場是否具有交易優勢,當確定具有交易優勢時,我才考慮使用此策略,將【策略最佳化報告】匯出到EXCEL作處理,從下圖中可以看到,用【45】均進場第一天即可獲利,代表此進場策略具有優勢,當來到20天出場的獲利來到最高。
第一種:均線突破進場
當收盤價突破45天均線時買進,跌破45天均線時賣出,不要再傻傻看20均線以下的參數了。
進場檢驗
這次把出場固定在進場後20天出場,進場參數作最佳化,一樣將【策略最佳化報告】匯出處理,可以看出表現比較好的參數一樣是在【45】,參數在40均以上具有進場優勢,40天以下的參數從圖可看中是虧損了,因此太短的均線是不具有參考價值的。
上面示範的是一條均線的突破策略,另外較多投資人使用的均線交叉策略,利用二條長短均線作為進場的依據,二條均線有多種不同的變化,以下將教大家另外三種不一樣的均線交叉策略:
第二種:均線交叉策略
當短期均線向上穿過長期均線形成黃金交叉時買進,當短期均線向下跌破長期線形成死亡交叉時賣出。
第三種:雙均線策略
當收盤價同時大於短期均線及長期均線時買進,當收盤價同時小於短期均線及長期均線時賣出。
第四種:均線逆勢策略
當短均小於長期均線時收盤價同時大於短均及長均時買進,當短均向上穿過長均形成黃金交叉時出場。
從回測、驗證的過程中,你可以發現書上寫的均線策略不一定是對的,只要你有不同的想法都可以放到Multichart中作驗證,思考看看均線黃金交叉一定要作多嗎??
結論
均線正確的使用方法,你會了嗎?
此次影片示範了四種均線的進場策略及特定期間出場,大家可以利用影片中的範例,自行建立交易策略,這部影片是在2017/07/17錄製的,現在2019/12,來看看其中一支績效到現在的表現如何呢?
延伸閱讀:【程式交易 是什麼?熱門程式交易平台】
延伸閱讀:【程式交易 | 如何建立你的 交易策略】
延伸閱讀:【程式交易 新手第一隻突破策略怎麼寫?為什麼海龜交易員都要使用通道交易系統?】
警語:
1.影片僅供教學使用,系統平台為元大MultiCharts,相關圖表及數據參照歷史數據進行繪製及統計僅供參考,並不代表預測未來行情走勢之能力或保證獲利。
2.任何參數請客戶自行設定,本教學僅提供語法操作說明。
程式交易新手的第一支 突破策略 怎麼寫?為什麼海龜交易員都要使用通道交易系統?
曾被喻為獲利最高的交易系統
1983年傳奇的商品交易員Richard Dennis和William Eckhardt進行了一場試驗,丹尼斯認為可以教任何人在期貨市場進行交易,他利用自己的資金訓練交易新手,培訓將持續兩個星期,他曾在新加坡參觀過海龜養殖場,他想像養殖海龜一樣快速有效地培訓交易,他稱他的學生為【海龜】,丹尼斯在《華爾街日報》上刊登了一則廣告,成千上萬的申請者來徴選,最終入選【海龜】計劃只有14名交易者。該實驗的效果如何呢?
根據前海龜Russell Sands的說法,丹尼斯親自訓練的烏龜在短短五年內就賺了1.75億美元,丹尼斯毫無疑問地證明了初學者經過訓練,也可以成功地進行交易。
通道突破系統
突破系統是程式交易中最簡單也是最常用的交易系統之一,此系統的優點在於能掌握商品的波段走勢,缺點就是如果商品走勢不明確,則會發生訊號反覆一直停損的情形。所以採用突破系統必須要先作好心理建設,勝率通常不到四成,但好處是當出現大行情時,通常一筆獲利可以彌補多筆的小虧。
最簡單的突破系統就是通道系統,此系統最早期在80年代理查丹尼斯在訓練海龜時使用,進場規則如下:
當收盤價突破近二十期的高點買進;當收盤價跌破近二十期的低點賣出。
圖二:通道系統策略績效
加入濾網
當根進場
行情過熱不進場
結論
以上是簡單的通道突破系統,投資者可以加入停損、停利、濾網,使其成為一個較完善的交易系統。通道系統可以應用在外期商品上,找尋有波動的商品,順勢進場,應可有不錯的表現,如果想要成為量化交易者,從現在開始建立自己的交易系統吧!
延伸閱讀:【程式交易 是什麼?熱門程式交易平台】
延伸閱讀:【程式交易 | 如何建立你的 交易策略】
延伸閱讀:【程式交易 | 新手第一隻 均線 策略怎麼寫?一次告訴你四種均線運用法則!】
【畫面訊號由Multicharts產出,為歷史資料僅供參考,不代表對未來行情之建議,操作時應依交易人經驗與喜好並考量風險測試出適合自己之交易模式。