程式交易全攻略(一)

MultiCharts快易通、PowerLanguage程式交易語法大全、分析師關鍵報告2—張林忠教你程式交易

精彩試閱

《MultiCharts快易通》


前言

 

金融交易在國外已有數百年的歷史,而台灣最早的股票則是一九二三年「陳中和物產株式會社」所發行,其後直到一九九八年才推出第一款衍生性金融商品交易─指數期貨,之後又陸續推出選擇權、認購權證、認售權證、ETF、台灣50、中型100成份股等,直至今年二O一O年最新推出的個股期貨,台灣的衍生性金融商品在近年來正在逐漸增加中。

 

國人在交易的工具及資訊的演進上,從早期到號子看電視牆直接向營業員下單或是透過電話跟營業員詢價及下單的人對人交易方式,直到網路普及後,開始有大量的交易員仰賴券商所提供的看盤軟體進行詢價及下單交易,券商公司不再需要仰賴大量的營業員來服務客戶,也因此手續費開始快速下降。

 

近年來也因為下單API的開放,於是程式交易開始普及,程式交易的前身被稱為系統交易或是機械交易,故名思義可理解為『使用固定的、且有系統的交易邏輯來進行機械式的交易』,使用這種方式進行交易的人,一般被稱為技術分析派,在過去這些交易員必須自行收集資訊、分類、統計、分析,最後進行判斷及交易,其中除了交易之外大部份的工作都可以用電腦來執行,所以在十幾年前就有所謂的程式交易系統的存在,在台灣,只是因為缺少了最後一個環節─下單模組,所以程式交易一直沒有真正的普及起來,直到二○○八年下單API開始普及之後,程式交易也才開始正式的普及了起來。

 

大家可以在網路上查到過去許多的前輩的文章,大多都是以Tradestation 2000i為主,Tradestation 2000i問市十年後的現在,我們似乎不該再以十年前的工具來打金融戰爭,凱衛資訊在二○○九年時,向俄羅斯的TS Support公司取得了最新版本的MultiCharts的代理權,在程式語法的部份相容於Tradestation的系列,並提供了更多的新功能。剛好筆者因為工作的關係,對MultiCharts有頗多的使用經驗,有鑑於此,朋友們建議筆者來寫這一本書,於是它來到了您的手中,希望本系列叢書能帶領大家進入程式交易的大門。

 

本系列書籍規劃如後,第一本書主要是MultiCharts的功能教學,以及進行程式交易所必需知道的基本知識,適合初接觸程式交易的朋友,或是原Tradestation 2000i、STS想轉入MultiCharts的使用者。

 

第二本書應該是要做程式語法及函數教學的進階版,但是因為筆者的朋友鍾淳豐,已經編寫《PowerLanguage程式交易語法大全》這本書,其內容在程式語法已經有相當深入的著墨了,足以當成各位的工具書,可供查詢MultiCharts的內建指令及函數時使用,所以筆者的第二本書就直接帶領大家進入程式的寫作技巧,內容包含一些大家在開發的過程中經常會使用到的一些功能,讓大家能快速的熟悉這套系統,並了解系統特性,以節省開發及做實驗的時間。

 

 

《PowerLanguage程式交易語法大全》


自序

 

TradeStation從2000年進入台灣,如果我們把2000年當成台灣程式交易元年的話,到現在也已經10年了。這10年當中,交易的速度愈來愈快,交易的工具也是日新月異。目前在維基百科上所列出可以讓用戶自訂指標的交易軟體已經多達32種。而正式進入台灣市場的程式交易軟體,也只有TradeStation 2000i(2000)、日盛STS(2004)和凱衛資訊代理的MultiCharts(2009)。

 

以目前軟體發展的現況來看,TradeStation EasyLanguage還是程式交易中最廣為使用的一種專門語言。目前的交易軟體已分為二大類,一類屬於泛EasyLanguage類,使用簡單的自然語法,方便我們進行指標、策略開發的工作,像MultiCharts的PowerLanguage就屬此類。而STS的語法結構也是和EasyLanguage極為相似。另一類就是直接採用正統的程式語言開發,像是用C++或C#,像是NINJA TRADER。不過,對一般沒有電腦理工背景的人來說使用自然語法來開發策略的進入門檻自然是比較低的。

 

可惜的是,經過了10年,國內有關編寫策略專門書籍仍然十分的少。我們大部份還是都要閱讀國外原文的資料,對國內使用者而言,學習上仍有一定的難度(畢竟不是母語)。

 

本書是國內第一本專門針對EasyLanguage/PowerLanguage寫的工具書。雖然本書的展示以MultiCharts 6.0的PowerLanguage為主,但PowerLanguage和EasyLanguage有著極高的相容性,所以本書的內容同樣適用於TradeStation 8.x的版本。至於TradeStation 2000i的使用者,由於語法版本的緣故,有些指令可能舊版沒有,使用前請務必注意。

 

 

《分析師關鍵報告2:張林忠教你程式交易》


第一章 用MultiCharts打造交易聖盃


 
第一次用程式交易就上手


 
人工交易與程式交易差異
交易可概分成兩大類,一是人為判斷,另一則為程式交易。若要問哪種交易較好?大多數人會投程式交易一票,但真正在用程式交易實際下單者,其實比例並不高。最重要的原因,是進入門檻較高,光是KD黃金交叉作多的條件,初學者可能就要傷腦筋一整天;其次為軟體建置費用,還沒賺到錢就要先付錢,部份精打細算的投資人說什麼也不願吃這個虧。


 
人工判斷最大的缺點就是前後不一致。若將兩個走勢類似的交易日放在一起對照,有可能會一天作多、一天作空,但若是程式交易,絕對不會發生這種情況。更重要的是,人工交易無法克服人性,該砍倉不砍倉的結果,常讓交易者陷入無法自拔的虧損煉獄之中。不過以人工判斷來交易,惟一的優點就是勝率較高,一般順勢的程式交易勝率約在30%至40%之間,人為判斷勝率通常會接近六成以上。二者最大的差別在於賺賠比率,程式交易通常平均獲利金額會大於平均虧損金額,因此賺賠比是正數;人為判斷則相反,平均獲利金額會小於平均虧損金額,因此賺賠比是負數。賺賠比為負數的結果其實很可怕,因為那就表示交易的時間越長、次數越多,帳戶虧損的金額恐會無限下探。


 
人工交易還有一個最重要的缺點,那就是無法驗證交易者的想法,在過去一段歷史區間所表現的績效到底好不好?舉個例子來說,張先生想要以五分鐘K棒的MA5來當作多空訊號,盤中若有收盤價向上穿越MA5的狀況就多單進場;反之若收盤價穿越MA5向下就空單進場,每日收盤前平倉不過夜。這樣的作法在之前並沒有人可以告訴張先生到底對不對,但透過程式交易平台與歷史資料檢測的過程,不用一分鐘我們就可以產出交易績效報表,而這樣的想法程式碼就如下列所示:

書籍基本資料

加購商品

本月主打星

更多訊息

加入追蹤

放入購物車