
期貨 程序化交易系統 建設 應用
一、引言
程序化交易最早是由美國70年的證券市場上的系統化交易發展演變出來的,美國NYSE曾對程序化交易做出規定:對于任何含有標普500指數、15只股票以上,或者是一百萬美元以上的交易都屬于程序化交易。
伴隨著我國期貨市場的不斷完善和成熟,很多期貨產品都具有良好的流動性。同時,期貨投資者的數量也在逐年增加,并且投資的結構也日趨合理化,我國的期貨市場有效性也越來越強。這些好的勢頭都為期貨市場中程序化交易的應用提供了良好的基礎。期貨市場程序化交易的迅猛發展,必將使那些提前掌握這一先進交易方式的投資者,在我國不斷發展的期貨市場中取得極大的優勢。
二、程序化交易概述
1、概述
我國證監會于2010年3月印發了《關于同意中國金融期貨交易所上市滬深300股票指數期貨合約的批復》中同意中金所上市滬深300股票指數的期貨合約。首批一共4個期貨合約在2010年4月16日正式上市交易。這標志著我國期貨市場理財時代已經來臨。隨之而來的是在金融市場上衍生出很多產品,那么相應的金融風險也被不斷放大。程序化交易是一種防范風險、提高風險的可控性的有效手段,逐漸被越來越多的投資人所接受和喜愛。程序化交易主要是利用行情分析軟件和已經編制好的電腦程序,并借助于期貨市場的技術指標,由計算機程序來計算出買賣點,并依據電腦發出的信號對產品進行買賣操作。
2、國內外程序化交易的發展狀況
程序交易化最早是產生于美國,上世紀70年代出現的“股票組合轉讓交易”。當時的專業投資經理人和經紀人通過電腦可以直接與股票交易所聯機,最終是為了實現股票組合的一次性買賣交易。伴隨著科技的進步、電腦技術突飛猛進的發展,以及幾年來指數基金、數量化投資的產生和發展,程序化交易也逐漸發展并被廣泛應用。到目前為止,程序交易化已經遍布美國及歐洲的各金融市場。據調查數據統計顯示,在目前的全球期權期貨交易市場中,程序化交易已經占到30%的比重,而在套利交易中則高達80%以上的比重。
相對于國外的程序化交易而言,我國的程序化交易知識處于剛剛起步階段,應用的范圍也比較小。但是,隨著中國期權期貨市場的不斷完善和成熟,我們將像其他成熟的市場運行規律一樣,程序化交易在不遠的將來一定會成為我國交易技術發展的主要方向和必然的趨勢。
三、程序化交易的優點
在期貨市場中實行程序化交易具有以下優點:速度快、交易的效率高;能最大程度的克服人性的弱點;便于對交易中的風險進行控制;便于交易成本的管理;能精細化的把握市場的機會。
期貨市場中程序化交易具有十分快捷的實現方式,能夠以最快的速度根據指令來完成下單,提高了交易的效率。貪婪和恐懼是人類的天性,很多時候人在發現錯誤時不愿意糾正,通常抱有僥幸的心理,而計算機則只是會按照已經既定的規則去進行處理錯誤信號發出的指令。所以,計算機可以克服人類的弱點。另外,在程序化交易過程中,可以提前設計好風險管理和資金管理的具體模型條件,幫助期貨投資者建立有效地的風險控制系統,例如:可以在系統中設置好盈余率、虧損率;在交易過程中,系統可以對市場狀態進行監測,如保證金量、市場的流動性、下單的頻率等。通過組合下單和傭金、對沖擊成本的精確計算,實施盤中動態交易的成本控制。通過實踐證明,程序化交易的核心就在于它的模型的復雜而精準的計算,通過計算機對交易條件的研究和判斷,可以對市場上額投資機會進行精細化的把握。
程序化交易也是存在一定的缺點的。大部分的程序化交易系統是在跟隨發展趨勢而編寫的,在技術分析方面比較看重,但是技術上的分析往往是落后于市場價格變化的。所以,由技術指標編寫的模型所發出的交易指令也同樣是滯后的,如果在區間震蕩行情中出現頻繁的交易就有可能出現連續的虧損。另外,程序交易很難對頭寸規模的大小進行確定,也就是對資金管理很難進行科學的確定。
四、期貨程序化交易系統的建設分析
一套優秀的期貨程序化交易系統要從以下四方面進行考慮:
1、合理設計程序化交易系統軟件
一套優秀的程序化交易系統必須依靠一個穩定、高效的載體來實現,這個載體為程序化交易提供了一個平臺。為了使程序化交易的優點得到充分發揮,這個平臺載體必須具備:及時穩定的行情數據接收端,穩定的程序化交易的指令下單交易端,穩定的行情及下單交易數據處理分析編輯平臺,即模型的編輯平臺,以及方便投資者正常使用的圖形界面系統。
2、合理設計適合該軟件的程序化交易模型
在穩定、高效的程序化交易平臺的基礎上,并結合行情以及下單交易的數據,程序化交易的核心就是設計合理的模型。國內外已經對程序化交易模型理論的研究有了較為深入的分析,但是,對于模型的實盤實現必須在很多環節引起注意,這些都是模型實盤實現的關鍵體現。為了能夠設計出可以動態計算并實現實盤的全自動交易模型,就必須使模型編輯的平臺更加自由化,如果模型需要,編輯平臺可以隨時對這些計算庫進行擴展。一般而言,模型編輯平臺使用的是效率高、穩定性好的C++語言。例如:高盛的和巴克萊投資都選擇并使用C++語言來建設他們的程序化交易系統。使用C++語言對相關模型進行編寫,可以十分容易的實現各類動態計算。在模型認為有投資機會時,將會面臨另外一個程序化交易的問題。如果說,模型不能及時對相關狀態進行跟蹤,那么會在很多情況下出現策略執行的大幅度偏差,最終導致投資的失敗。例如:假設在進行程序化交易是,雙邊已經建倉成功。但是此時因為網絡的原因而斷開,或者是軟件出現了故障,甚至出現突然停電的狀況,那么當我們再次啟動軟件是,模型就應該清楚地知道自己在故障發生前做過什么,然后再根據當前的價格并結合策略自動的進行投資。這主要可以通過在模型中加入下單或訂單的動態管理模塊來實現。當然,在整個投資過程完成后,模型系統必須自動生成對投資結果的分析資料。