你知道什麼是程式交易嗎?讓電腦程式來幫我們自動做期貨交易,這有可能嗎?隨著時代的進步,科技的演化也越來越發達,如今人類生活已十分仰賴科技產物。在這個什麼都要自動化的年代,我們如今已經可以命令電腦及機器依照我們的意願完成大部份的事情了,但是讓電腦程式幫我們在期貨市場裡殺進殺出,這有機會可以做得到嗎?
1. 什麼是程式交易
程式交易其實就是把本來由人在做的事情,變成由電腦來執行:
1-1. 蒐集資料進行分析
主觀交易:過往由人類本身所進行的投資第一步,就是你我都會做的事──「看盤」,到處蒐集資訊,在腦袋中理解分析出對行情的解讀。
程式交易:如果改成透過程式執行的話,就會變成讓程式串接各種報價資料,統計市場的資訊。
1-2. 根據看法執行交易策略
主觀交易:蒐集資料後,我們就會形成一個「對行情的看法」,再決定要買進或是賣出期貨。
程式交易:分析完期貨市場資訊後,只要出現了我們預先設定好的買進或賣出訊號,就會自動地去執行。
1-3. 交易時間與數量
主觀交易:同時間能操作的商品有限,需要吃飯休息睡覺,不可能24小時看盤交易期貨。
程式交易:條件允許可以操作的期貨商品數量可以說是沒有上限,還可以24小時不間斷看盤,並且無感情地自動執行所有的指令。
把交易的邏輯,投資的策略,進出場的方法撰寫成電腦程式,電腦就會「有系統地」依照我們設定的指令去執行設計者的所思所想。這種透過電腦程式自動地去進行期貨交易的方法,就是「程式交易」,今天就讓我們來仔細探討什麼是程式交易,以及程式的各種優缺點吧!
111
2. 主觀交易與程式交易(量化交易)的區別
在金融市場中進行期貨交易的人,大致上被分成兩種方式:主觀交易、程式交易。現在市場上出現第三種 半自動交易 (主觀交易 + 程式交易)。
交易方式 | 主觀交易 | 程式交易(量化系統交易) |
交易依據 | 經驗 + 主觀判斷 | 根據歷史回測績效,交易訊號出現一定執行 |
交易時間 | 需先扣除吃飯上班睡覺時間 | 24小時不間斷 |
交易商品數量 | 根據個人能力而不同,可多可少,但有上限 | 只要電腦網路環境允許,可以同時交易無數個商品。 |
111
2-1.主觀交易:
其實就是你我最常使用的交易方式,比如你觀察了期貨行情後得出結論,無論你認定是多還是空,進場後是否有賺到錢,這種主觀上去認定行情會怎麼走,該怎麼做,這就是主觀交易。
主觀交易是大多數投資人最先進入期貨市場時,進行交易時所使用的方法,也是區分出期貨老手與期貨新手最剛開始的一道分水嶺。因為這個方法往往過份仰賴投資人本身對於市場的主觀見解與交易經驗。
比如同樣的一段行情,相較那些總是能在各種行情中賺錢的期貨高手而言,那些總是在各種行情中賠錢的期貨新手們,對於期貨行情的分析見解,以及在這之後採取的各種行動,交易結果肯定是截然不同的。
2-2.程式交易(量化系統交易):
程式交易非常仰賴透過歷史曾發生過的行情資料進行回測分析,也就是以「實際發生」過的歷史行情走勢,來不斷優化出最佳的做法,並且將這個做法複製到未來出現的期貨行情上去執行。
這種透過大量資料分析,選擇最佳的做法,只要出現預期的期貨交易訊號,就不斷重複執行交易指令,這種程式交易的方式就是所謂的量化交易,但這其實是目前參與期貨市場的投資人,利用了電腦與網路發達之便,所產生的一種趨勢,故市場上進行的量化交易基本上都是自動化程式交易。
2-3.半自動程式交易(主觀交易 + 程式交易):
大多數人不知道如何寫程式,也不知道如何交易。所以寫不太出來會賺錢的程式交易。而且很多人習慣於主觀交易,但是又不能一直看盤,交易上又有很多人性難以克服,想要同時擁有主觀交易的靈活和擁有程式交易的好處。有沒有介於程式交易和主觀交易中間的 “半自動交易”呢 ? 有的。
WINSMART下單軟體是介於主觀交易和程式交易之間的橋樑,他是半自動交易軟體。將一些常用的交易策略和交易條件寫好,做出UI畫面讓投資人勾選。投資人不用會寫半航程是就可以透過勾選的方式來使用程式交易。 想要進一步了解WINSMART半自動程式交易的朋友可以參加WINSMART線上講座。
圖 : WINSMART可以設定多種交易策略,讓投資人選擇。
圖 : WINSMART提供多種交易條件讓投資人選擇,不用寫程式。
設定好交易策略或是交易條件以後,就可以開啟半自動交易模式。投資人只要透過下單介面就可以買進和賣出,當投資人沒空看盤的時候,WINSMART就啟動投資人所選擇的【交易模式】做【程式交易】。投資人可以隨時拿回主導權重新做【主觀交易】。這好像自動駕駛技術,可以自己開車,或者讓電腦幫你開車,你隨時可以重新掌握自己的方向盤。
圖 : WINSMAT半自動交易解說
11
3. 程式交易的優缺點
凡事皆有利弊兩面,程式交易有它的優點也有它的缺點,視情況來說它的優點也可能是缺點,運用的好的話也可以是優點,那程式交易有什麼優點又會有什麼缺點呢?就讓我們來探討一下吧:
3-1. 雙面刃,絕對的紀律操作
對於主觀交易者來說最困難的無非就是無法紀律性操作,大多數的主觀交易者其實本身並不笨,對行情的解讀可能也是正確的,但始終無法擊敗自己內心中的人性面,反而在面對期貨行情的波動時頻頻出錯,比如看對行情卻因操作失誤而虧錢這種事老是層出不窮。
然而對於程式交易者來說,他們會自己架構自己的期貨交易模型,在他們自成體系的交易系統裡,程式必然會不斷地依照已設定好的條件毫不遲疑的進行操作,絕對不會受到人性面的影響,該停損一定停損,出場訊號沒出現前,也不會隨便獲利了結導致交易無法維持一致性,賺賠不穩定。
因此只要你期貨交易的策略或是方法會賺錢,它就可以穩定獲利。但反過來說,如果你的程式交易策略方法會賠錢,那麼它就會賠錢,而且是持續穩定的去賠錢。
3-2. 歷史總是不斷上演,回測績效
歸根究柢程式交易的程式是好是壞,最終還是回歸到設計者本身對市場理解的結果,還有市場當前的環境,因此即便程式交易者總結出歷史上不斷發生的現象,依照歷史績效去做程式交易,依照過往的經驗去執行所有的已經最佳化的交易訊號,也不代表程式一定能在市場上交易獲利。
每一年期貨市場的環境都在改變,因此過往的回測績效哪怕做到很好 ,其實大多也只是一個願景,紙上談兵而已,因為誰都無法保證這樣的結果在未來的期貨市場一定管用。
所以對於無法變通的程式來說,優點是絕對的紀律操作幫助投資者屏除人性,缺點是一旦對市場解讀錯誤,不適當的程式策略也有可能產生虧損。
故同樣是依照過往的經驗交易,主觀交易與程式交易就會產生非常不同的結果。程式交易只是依照設定好的條件進出,無法像人類一樣隨時因應市場變化實際去做出當下最好的最好的決策,但對於優秀的主觀交易者來說,他們可以根據情況調整策略,做出最好的決定。
3-3. 解放時間沒有極限的盯盤
人類的精力是有上限的,我們沒辦法 24 小時盯盤,世上能賺錢的商品也不只一種,但我們也沒辦法同時間兼顧太多商品去做期貨交易。
可是程式交易是不需要休息的機器人,它可以幫助我們解放時間,不必浪費時間在盯盤,甚至只要電腦的效能跟網路的環境允許,它可以同時間無上限的去監控交易各種期貨商品。
聽起來很棒,對吧?
但實際上自動化程式交易仍為人所設計,最終還是要由設計的人本身對於市場有正確的解讀,不然很容易演變成:雖然你寫好了程式,可是當你啟動程式交易的時候,你對撰寫的程式還是不放心,結果還是得在旁邊盯著你寫的程式是否有正確依照你的策略去做交易,變成程式盯盤,你盯程式。
11
4. 怎麼進行程式交易?
4-1. 門檻
程式交易的技術門檻,可以很高也可以很低。
事實上要寫出一個期貨交易的程式,讓程式去執行你的交易策略之前,你要先懂得如何寫程式,所以我們必然要先對程式語言有所了解,比如程式交易者們都在使用的 Python ,還要會一點 C# ,自己要知道怎麼串接API、數據源、歷史資料、下單……等等。
因此假如你本來就不是懂得怎麼寫程式語言的人,要走到這一步一定需要花費相當的心力,但殘酷的是,這還只是初步的,因為就算今天你懂得怎麼寫程式,也不代表你可以寫出「賺錢的交易策略」。
意思就是你除了要會寫程式之外,你還得是一個優秀的交易者,前面有提到,任何程式交易最終還是得回歸到設計者本身對市場的解讀是否正確,只有正確的策略才能不斷獲利,若是寫出一個錯誤的策略,那麼只會穩定賠錢。
4-2. 捷徑
那麼有沒有比較低門檻的做法呢?事實上是有的,而且已經有許多人開始在做這些事情,市場上目前較主流而且也已成熟的自動化交易程式如: Multicharts , MetaTrader 4 , MetaTrader 5.
以門檻較低的 Multicharts 為例,它自有體系的 Power Language 語法架構,可以讓你不需要從頭開始了解 Python C# ,你也不需要深入了解各種資料 API 該怎麼串,你只需要會一些基礎的語法,剩下其他的瑣事它幫你搞定。
並且 Multicharts , Metatrader ,這類程式自帶歷史回測功能,可以輔助你回測績效,設計交易策略。如此不僅可以節省你從 0 到有的摸索時間,更可以幫助廣大想透過程式進行期貨交易的投資人,更快達到目的。
無疑這類期貨交易軟體,幫助廣大的群眾在程式交易的路途上又縮短了距離。
4-3. 取巧
你是否覺得要學這個學那個的,很累人呢?
很如果你不想從頭開始學怎麼寫程式,甚至門檻低一些的 PowerLanguage 你也不想去學。有沒有更快的方法呢?自然是有的,俗話說的好,站在巨人的肩膀上會看得比較遠,承前人之功永遠是最快捷的做法──那就是直接拿別人寫好的程式跟策略來用。
當然天下沒白吃的午餐,誰會把會下金雞蛋的雞母白白送出去?所以專門寫策略賣給其他人的行業就誕生了。但還是要記得,自己本身若對程式交易不太了解的話,容易因此而吃虧,同時你也無法知道如何去優化或除錯。
畢竟沒有永遠賺錢的期貨策略,如果沒有時常跟進市場改良策略,策略會因市場的改變而失效,當然也會有些過往賠錢的策略因市場的改變而突然有效。
假如如果對程式交易的理解不正確,很可能因一時的賺賠而產生錯誤的認知,比如說有一支策略它是專門抓趨勢獲利,但你開始使用這個策略的時候,剛好期貨市場進入盤整盤而導致你賠錢。而當你賠錢決定不使用這支策略的時候,期貨市場就出現趨勢盤,這時候你就賺不到了。
所以直接拿別人寫好的程式策略來用不是不行,但也要明白這些策略適用和不適用的時機。
11
5. 結論
主觀交易與程式交易自然各有好壞。
主觀交易非常需要交易者自身的判斷及經驗的累積,但不是每個累積經驗的人都能成功做出正確的判斷,除了交易知識與經驗外,主觀交易還牽扯到人的情緒,也就是俗稱的人性。
成功的主觀交易者較失敗的主觀交易者來說,往往較能掌握自身的人性弱點,對於自己在面臨行情變動時的情緒掌握超越常人,這也是為何即使是再厲害的分析師,也不一定能成為一名優秀的交易者的關鍵因素。
程式交易可以幫助我們排除人性的困難,但因為程式是寫死的,它沒辦法像人一樣靈活面對行情改變做法,所以當設計者的策略出錯,程式交易就無法靈活變通。
可是你知道嗎,程式交易就算策略是對的,也無法避免掉虧損期的產生。程式交易的交易方式,存在虧損期跟獲利期,這是因為只要出現交易訊號,賺錢也會做到底,反過來說,即使是虧錢它也會做到底哦。
這也是為何程式交易之所以要回測歷史的原因,就是要確定獲利期減去虧損期之後,最後的結果是正向的報酬。但萬一有一天策略失靈了,期貨市場形態改變了,可是我們往往很難第一時間就意識到策略失靈了,對吧?
你可能會想,那有沒有方法可以結合主觀交易及程式交易的優勢呢?如果程式交易可以一定程度上受到主觀交易者的參與,是否能讓交易更靈活呢?這件事當然可以做到,可是就像前文所說,程式交易存在一定門檻,你不僅要懂如何寫程式,還要明白期貨交易的邏輯與紀律。
看到這邊有沒有覺得一腔熱血被潑了冷水呢?要先成為一名優秀的主觀交易者,又要成為一名優秀的程式設計師……,這個路途何止長遠,一般人看到可能就先放棄了。
在放棄之前,我要告訴你一個好消息,其實目前市面上已經有一套名為 WINSMART的軟體,它以 Multicharts 為平台,結合主觀交易的靈活判斷與程式交易的紀錄操作,不再受限於一般程式交易無法變通的窘境。
設計這套軟體的人本身就是非常成功的主觀交易者,因此程式裡從如何做好資金控管,到如何停損,如何停利,甚至是看對行情後的加碼,都幫你考慮好了。
那 WINSMART 與市面上其他的程式交易方法有什麼不同呢?
一般的程式交易策略都是寫死的,固定的參數,一旦稍微改變,策略就有可能失效,而且一般也不會讓你看程式碼,就算你看了也不一定知道怎麼修改。
但 WINSMART 只提供框架,不預設參數。參數可以自行設定的好處就是,你可以自己決定行情該怎麼做,跟著程式一起成長,而不是當別人寫的策略失效後,就得花錢再買下一支,永無止境,拿自己的資產冒險。想要進一步了解WINSMART半自動程式交易的朋友可以參加WINSMART線上講座。
如果你對這套結合主觀交易+程式交易有興趣,可以參加WINSMART分享會了解更多
延伸閱讀 : 學會期貨風險只要 7 分鐘:別讓無知害了你,4 個重要觀念幫助你化危機為轉機!
6.WINSMART期貨教學應片
在我的YOUTUBE頻道選擇權搖錢樹裡面 有很多期貨教學和選擇權教學,有分享如何在大漲大跌之前提前卡位進場,也有分享期貨如何倍數獲利,也有教學期貨當沖的部分。有興趣的朋友可以訂閱YOUTUBE。
6-1期貨教學 : 如何在大漲大跌前,提早卡位 ?
6-2 期貨當沖教學 : 短線賺萬元,進場加碼走 ! 停損十點,賺八十點的交易方法 !
6-3 技術分析教學 : 學會K線怎麼看,一眼判斷期貨行情多空 !
6-4 期貨翻被計畫
7.程式交易QA問答
Q : 我想用程式交易,建議從哪裡開始學 ?
A : 要看你交易什麼商品,在台灣市佔率比較高的程式交易平台是Multicharts,主要交易商品是台灣期貨和海外期貨。如果你想交易外匯保證金和CFD,用的程式交易平台是MT4、MT5。在台灣券商支援只有MT5平台。先決定程式交易的平台接著開始學習寫程式語言。
Q : 全自動程式交易和 WINSMART半自動程式交易差在哪裡
A : 全自動程式交易將買賣條件寫好,100%交給電腦執行。好處是不用看盤,壞處是你無法參與交易,你只能透過上下架來停止程式運作。半自動程式交易是【主觀交易】+【程式交易】。投資人可以自行決定進出場,只是當你沒看盤的時候交給電腦去跑,比較靈活。WINSMART軟體是屬於半自動交易的系統。
在〈程式交易是什麼?7 分鐘弄懂為什麼有人不用盯盤,也能大賺特賺〉中有 3 則留言
你好
我想要寫出場方面的程式
邏輯由我提供
請問你們是有教學還是代寫?
謝謝
你好 我們沒有帶寫和教學服務, 有需要幫你介紹嗎
只是你的程式指出場,那進場呢 ? 主觀交易 ?
目前程式交易 必須全部程式交易 進 + 出場
如果要 一半人下單,一半程式出場 ,那就是WINSMART產品在做的事情。
那是一般程式交易做不到的
我們可以幫你介紹,你想寫甚麼樣的程式呢