交易工具的比較

綜合描述

交易工具的重點在於簡化開發過程與複雜度,進而讓策略設計者可以把重點放在如何將策略開發成能賺錢的工具。

簡單不一定比較好:一般刀具可以切菜、切肉、切樹木;但若要雕刻,那就得找精緻的雕刻刀;若要施展手術,就得使用特製手術刀。

故一般的CTA工具,例如Multicharts(MC)或是MetaTrader 4(MT4)可以滿足多數交易需求。

但若需要跨股票、期貨、選擇權做複合式交易的;需要跨多交易所做搬磚套利、甚至造市商的需求,

勢必就得回到 python、golang ,從資料庫到各項行情串接與下單機串接,進而完成任務目標了。

用介面操作的方式,快速開出單一商品圖表,將策略掛上對應的商品便能執行回測、最佳化、下單等多功能,

有對應的腳本語言可以快速開發策略,也有對應的經紀商將行情與下單都開發完成,讓使用者可以專心在策略開發與測試上。

但缺點是券商版在台灣的功能有限,若買專業版價格不斐,同時每年的行情費用是另外估算的,長期下來會是一筆成本。

以及因為一張圖表代表一個商品,若要將1000隻股票都丟進去進行計算,雖然理論可行,但實際上則可能會很吃資源,且速度緩慢。

CFD主要的交易平台,經紀商基本上會有屬於自己的MetaTrader4(MT4)平台,故行情與下單機一般而言是固定的。

好處是多數經紀商可以下至 0.01 手或0.1 手,也就是各商品的交易保證金與其獲利/虧損額度可以等比例縮小,

進而讓小資們可以以小成本嘗試交易,並且讓有交易經驗的人可以降低部位進行風險控管與投資組合管理,

語法的開放度讓MT4延伸出很多功能外掛,但這也提升了該策略開發的難度,且該工具的回測功能與報表呈現比MC相對不清楚。

因為是開源(免費)的程式碼語言,對於 coding 能力的需求較高,但也因為是開源程式碼,對於各項功能基本上都能找到相對應的解決方案。

雖然得自行處理行情與下單以及數據儲存問題,但對於有跨交易所、跨商品多角化交易、搬磚套利策略的人們,這卻是不二之選。

Python更適合投資組合管理的交易,例如同時篩選10000檔股票、加入基本面資料,同時計算帳戶資金分配等資料量大,但是速度需求較低的交易。

Golang為google的所開發的程式語言,對於多工、效能消耗與速度上比python快上很多,但又不會像是C如此的生硬;

故若對於速度比較有需求的策略,例如搬磚套利等,則 golang 會比 python 更適合;但若想要高頻交易(HFT),則就是截然不同的世界了。

各工具細節比較表