關於程式交易

網站宗旨

量化投資學人網站以教育為出發點,提供對程式交易有濃厚興趣的人,一些極具有價值的教育資料,本網站所有之教材僅限個人學習或教學研究使用。希望透過這些專業的教材,幫助更多想切入此領域的人,網站中大部分的資源都是免費教材,開放一般人自由下載;少部分教材因為涉及原創作者更進階的程式語法、邏輯或更深的知識,採付費閱讀的方式,此部份較適合進階的語法撰寫人員參考。網站中提供之程式語法以Multicharts、TradeStation、STS為主。

認識程式交易

程式交易的迷人之處在於讓電腦代替人腦進行不帶情緒的機械化交易,所有進場及出場條件都必須預先寫入程式策略,在風險及報酬可推估的情況下,以電腦進行自動化交易並取得期望的利潤。與其憑感覺進行交易,不如先將自己心中的想法撰寫成交易策略,再以大量的歷史資料進行電腦模擬試算交易結果,先通過歷史驗證這關,再進行實單交易也不遲。除此之外,程式交易可同時執行多種不同策略,並且24小時在市場中進行有規則的交易方式,這也是傳統的人工交易方式做不到的。在此先提醒各位,本網站成立主要目的就是提供學習教材,希望使用者可以利用相關的工具針對過去的歷史資料分析及研究。


 ●程式交易執行狀況(範例):





程式交易為何有效

認為程式交易有效的交易員,基本上就是同意技術分析有效,也就是說,相信歷史是會重演,而交易員可以根據過去的歷史經驗去做統計,從中找出某些指標或訊號,以此為據去做交易可以判斷出勝率與風險。舉例來說,大家耳熟能詳的MACD指標。經過回測資料的驗證,找出正確的使用方式,進退有據

程式交易的必要性

這邊我們不渲染程式交易的優點,僅提出個人觀點說明為什麼程式交易是必要的。首先,程式交易提供了很好的機會去驗證每個策略是否真的有效,例如大家常常說KD黃金交叉做多真的可以賺到錢嗎?唯有用科學的步驟去驗證才能知道答案第二點,即使有了可靠的交易策略,主觀交易員仍很容易陷入因為情緒而造成的困境,包含恐懼與貪婪,而交給電腦執行交易就不會有這種問題。大家耳熟能詳的紀律操作只有完全交給電腦執行才能做到。交易員在盤中只要確保下單機的正常運作,正如前段所提,程式交易是根據統計資料產生策略,也就是說,除非實單的時候每一筆交易都操作到」,否則統計就失去了意義

如何判定策略的有效性

一般判斷的標準都是透過某些數據,例如說策略最大回落(MDD)、獲利因子(Profit Factor)等等。我們建議的則是觀察策略的適用範圍。舉例來說:

適用多週期,黃金期貨同樣一隻策略 90分K棒與60分K棒:

適用多商品,同一個策略同樣時間週期下,適用黃金、E-Mini S&P500、輕原油與高級銅:

當策略的適用性越廣,表示策略越能適應市場的改變,相較來說也比較容易長期的在市場中存活。



多商品、多策略程式交易

一般剛進入程式交易的交易員第一個念頭,往往都是希望可以找到一個不管什麼樣的盤勢都能獲利的策略,他們希望盤整可以賺、大行情更要賺。盤整的時候高賣低買,行情來了追買追賣,透過某些濾網去過濾、或著用指標去判斷目前的市場狀態。很可惜的,這樣做很容易陷入過度最佳化的陷阱;講白一點,這樣寫出來的策略只不過是根據過去的歷史資料,去素描出來的結果而已。當市場出現變化,策略就會立刻失效。我們要強調一句大家早已耳熟能詳的話:投資沒有聖杯。

當然沒有過度最佳化的策略也有可能有失效的一天,我們推薦的做法,是根據蒙地卡羅方法(Monte Carlo Method)風險控制而來的 --- 建立多商品多策略的程式交易。這邊讓我們略過學術理論,直接看範例。

首先是台指期單策略,回測日期2008/1/1 ~ 2013/12/31跟台指期多策略(9個策略)的表現比較:

月週期分析。很明顯的多策略的獲利曲線更平滑,即便沒有辦法每個月獲利,但虧損的比率相對來說也是小的。 根據經驗,整個投資組合的策略總數在十個以下表現較好,超過十個以上就無法再提升整體的投資效率,風險報酬比也不容易增加。













接下來看看多商品多策略(7個商品只用3個策略)的表現:

很顯然的,多商品多策略的表現又更加穩定了,事實上,這樣的投資組合從2008年以來每個月都是正報酬。在投資組合的威力下,程式交易是有可能每月都獲利的。

簡略的說,多商品多策略可行的主要原因是因為策略間彼此的相關係數極低,風險分散了,同時發生虧損的可能性小了,最大回落(MDD)自然也就變小了。在這邊多商品多策略的範例中,整個投資組合的MDD不過約台幣24萬,而年報酬都在300萬以上。如果只交易一個商品,那麼就有承擔該商品發生波動太小而賺不到行情的風險。如果只有一個策略,面對策略失效的可能性存在的情況下,風險更是大到我們完全不建議交易員去冒這個險。

從心理面來說,人忍受虧損的時間與金額都有限,當連續虧損發生的時候,很容易就會有想要介入程式的念頭,無論是修改參數、修正交易邏輯甚至停止交易。當風險越是分散,這種心理的壓力越小。另外一方面,在完全分散的情況下即便有一個商品沒有行情、或是幾個策略失效的情況發生,整體賬戶所受的傷害也是有限的。

總結來說,我們建議所有交易員一開始就以多商品多策略,朝著每月獲利的目標前進。量化投資學人網站中所有提供的教材與教學程式碼亦稟持著這種精神期望對各位在程式交易路上能有所幫助。

子網頁 (1): 關於量化投資學人