本文選自《交易技術(shù)前沿》第十七期 (2014年12月)
上海市證券同業(yè)公會信息技術(shù)專業(yè)委員會
程序化交易研究課題組
光大證券股份有限公司
Email:zhouzhaoyang@ebscn.com
隨著計算機(jī)技術(shù)的飛速發(fā)展,程序化交易已成為信息技術(shù)與投資管理的最佳結(jié)合點。由于完全憑借投資經(jīng)理經(jīng)驗以及手工操作的資產(chǎn)管理模式受到了資金規(guī)模擴(kuò)大、市場風(fēng)險加劇、波動頻繁等問題的挑戰(zhàn),引入程序化交易系統(tǒng)可解決操作效率、風(fēng)險管理等難題。因此,各大投資機(jī)構(gòu)紛紛投入研究,去開發(fā)專門的交易系統(tǒng)。這使程序化交易在交易決策、交易輔助方面發(fā)揮了巨大的作用。因此,現(xiàn)在程序化交易泛指利用計算機(jī)技術(shù)制定交易策略、自動或半自動交易、實行風(fēng)險控制等行為。
程序化交易得以發(fā)展的原因是多方面的:首先,因其參與者主要為機(jī)構(gòu)或資金量較為龐大的個人,他們的交易操作總量大,對交易成本、交易效率提出了更高的要求,對引入更先進(jìn)的交易技術(shù)有內(nèi)在的需求;其次,市場有效性理論盛行,簡單的指數(shù)套利空間越來越小,交易者轉(zhuǎn)而在交易頻率上尋求突破;最后,借助程序化交易系統(tǒng)的分析功能,投資者可以在龐大的歷史數(shù)據(jù)中挖掘出新的投資機(jī)會,進(jìn)一步促進(jìn)期貨價格發(fā)現(xiàn)功能的發(fā)揮。
程序化交易與傳統(tǒng)的人工交易的主要區(qū)別在于以下幾個方面:
程序化交易作為一種相對合理的交易方式,其在發(fā)達(dá)國家市場已經(jīng)相當(dāng)完備,并成為市場主要的交易方式。毫無疑問,在中國開放金融市場的大趨勢下,國內(nèi)發(fā)展程序化交易已經(jīng)成為必然,且不可或缺。本文通過對國外成熟金融市場的程序化交易開發(fā)現(xiàn)狀以及交易策略的考察與研究,結(jié)合國內(nèi)證券行業(yè)程序化交易的趨勢,以及國內(nèi)程序化交易建設(shè)現(xiàn)狀,探討我們建立程序化交易的必要性和緊迫性。最后,為程序化交易的開發(fā)規(guī)范提出初步建議。
一般來講,程序化交易主要有四種交易策略:
簡而言之,久期平均交易策略是指應(yīng)用久期作為衡量指標(biāo)來確定股票組合價格的合理上下限,低買高賣,即在股票組合的價格低時買入,在股票組合的價格高時賣出,從而獲得價差收益。而要衡量股票組合的價格是低還是高,就需要將股票組合的合理價格和持有成本等影響價格敏感性的因素考慮進(jìn)去,即用久期來衡量。久期平均交易策略是在價格下跌時買進(jìn),在價格上漲時賣出,故而該策略對價格波動沒有負(fù)面影響,相反,卻起到了減少價格波動、平抑價格波動幅度的作用。
組合保險交易策略是指當(dāng)市場處于下跌市中,對股票組合最小價值的一個保全措施安排;同時,當(dāng)價格上漲時,股票組合仍不失去盈利的機(jī)會。也就是說,為股票組合確保一個最低收益率,同時股票組合又不失去從市場有利變動中獲利的機(jī)會。從整體看,由于這類交易的價格是不受有關(guān)股價基本面信息的影響,因此,對股價波動性的影響也不是實質(zhì)性的,如果僅是因為組合保險交易而導(dǎo)致股價的下跌,甚至股價低于其基本面水平,反倒使股票具有了投資價值。
指數(shù)套利交易策略一般發(fā)生在股票指數(shù)的現(xiàn)貨市場和與其相對應(yīng)的股票指數(shù)期貨市場。當(dāng)股票指數(shù)現(xiàn)貨與股票指數(shù)期貨的價差大到足以超過無風(fēng)險利率并能夠抵補(bǔ)所有的交易費用時,理論上講,就可以進(jìn)行指數(shù)套利。指數(shù)套利就是套利者利用程序化交易系統(tǒng)在指數(shù)現(xiàn)貨市場與指數(shù)衍生產(chǎn)品市場之間,利用兩類產(chǎn)品在不同市場上出現(xiàn)的瞬間定價的不同來迅速實現(xiàn)賤買貴賣的交易,并從中獲得價差收益。目前在NYSE,利用程序化交易來完成的這類指數(shù)套利交易占整個程序化交易的日均交易總量的10%-25%。
近年來,程序化交易發(fā)展的最新動向體現(xiàn)在非指數(shù)套利交易策略(Non-arbitrage program trading strategies),即數(shù)量化交易策略(Quantitative trading strategies)的迅猛發(fā)展上。數(shù)量化交易策略是指,依據(jù)于一個混合的數(shù)量模型來進(jìn)行一攬子股票的買賣,該數(shù)量模型既遵從于市場內(nèi)在的規(guī)律,又照顧到股票的歷史性和理論邏輯的相關(guān)關(guān)系,將股票劃分為價值被高估的股票和價值被低估的股票。
這類交易也使用期貨期權(quán)等工具,但與傳統(tǒng)的指數(shù)套利所不同的是,數(shù)量化交易的交易規(guī)模和市場時機(jī)的選擇并不試圖與指數(shù)期貨所對應(yīng)的基準(zhǔn)指數(shù),或者與基準(zhǔn)指數(shù)所包含的一攬子成份股組合相匹配。通常情況下,數(shù)量化交易的組合要比基準(zhǔn)指數(shù)的組合更狹小,更多地集中在特定的產(chǎn)業(yè)或板塊上,而不像基準(zhǔn)指數(shù),反映的是全市場或綜合性市場的概念。數(shù)量化交易使用衍生產(chǎn)品主要是為了對沖整個組合的風(fēng)險敞口,而不是用于套利。并且,數(shù)量化交易策略嚴(yán)格遵從于模型所反映的信息并進(jìn)行交易??梢?,數(shù)量化交易策略的發(fā)展是與各種市場指數(shù)類型的發(fā)展,如各種風(fēng)格類指數(shù)的日趨多樣化等,以及與作為各種基準(zhǔn)的指數(shù)的功能的多樣化等相聯(lián)系的。
總體來說,對于程序化交易,雖然存在爭議,結(jié)論褒貶不一,但其優(yōu)越性是抹殺不掉的,這也是它深受個人投資者和機(jī)構(gòu)投資者歡迎的原因所在。對于個人投資者來講,交易單只股票的風(fēng)險要比交易一個股票組合的風(fēng)險大,并且交易成本高;對于機(jī)構(gòu)投資者來講,程序化交易能夠使其一次性地持有更大數(shù)量的股票,并且可以在股票現(xiàn)貨市場、期貨期權(quán)市場等同時進(jìn)行交易。而無論是對個人投資者還是對機(jī)構(gòu)投資者來講,程序化交易的最大優(yōu)勢就在于降低了交易成本,提高了交易的安全性,簡化了交易程序,使交易更加快捷、便利。尤其是指數(shù)套利,既為短線交易者提供了短期炒作獲利的機(jī)會,也為其他投資者提供了管理頭寸、規(guī)避風(fēng)險等手段;同時,也活躍了市場,增加了交易量和市場流動性。
目前國外市場上使用得較多的程序化交易系統(tǒng)大致可分為以下三類:
規(guī)模較大,技術(shù)力量雄厚的大型證券公司(如高盛,摩根,瑞銀等)出于策略保密、快速響應(yīng)業(yè)務(wù)需求以及靈活的個性化定制考慮,往往會自主開發(fā)并使用獨有的程序化交易系統(tǒng);這些程序化交易系統(tǒng)與運行的策略緊密相關(guān),甚至可以是為某個策略定制一個輕量化的專用交易系統(tǒng)。這些交易系統(tǒng)的特點是高速、安全、穩(wěn)定、靈活,傳統(tǒng)軟件所重視的界面友好,人機(jī)交互等并不是其所關(guān)心的重點。此類系統(tǒng)所需要的開發(fā)工作量最大,必須以業(yè)務(wù)和技術(shù)緊密結(jié)合的方式進(jìn)行,且不論是策略的技術(shù)實現(xiàn)風(fēng)險還是業(yè)務(wù)管理風(fēng)險都最高,但相對系統(tǒng)效率和與證券公司自身的匹配度也最高,是其核心知識產(chǎn)權(quán),價值不菲。如2009年報道的"因涉嫌盜竊參與開發(fā)的高速交易程序相關(guān)代碼,高盛前電腦程序員日前被檢察機(jī)關(guān)拘捕,而高盛亦面臨技術(shù)機(jī)密被泄露以及數(shù)百萬美元的損失"。僅從已公開的資料中我們可以得知,其整體框架依策略在服務(wù)端或用戶端運算大致分為如下兩類:
圖1 國外自主開發(fā)程序化交易系統(tǒng)框架——策略服務(wù)端運算
圖2 國外自主開發(fā)程序化交易系統(tǒng)框架——策略前端運算
此類系統(tǒng)國內(nèi)外都比較常見,策略邏輯基本被固化在系統(tǒng)中,用戶只需要進(jìn)行技術(shù)參數(shù)配置和業(yè)務(wù)參數(shù)調(diào)整后即可使用,常見于邏輯相對固定,速度要求高的套利業(yè)務(wù)中。此類型系統(tǒng)的特點是:系統(tǒng)專用、業(yè)務(wù)邏輯完善、界面友好、不需要或僅需要很少的二次開發(fā)、能夠最快速的填補(bǔ)證券公司的業(yè)務(wù)空白,對證券公司的技術(shù)實力要求也比較低,適用于保守型和跟隨型的證券公司,同時也受廣大中小投資者的喜歡。
圖3 基于Sybase CEP的程序化交易系統(tǒng)架構(gòu)
這類系統(tǒng)目前在國內(nèi)外均比較熱門,國人熟知的產(chǎn)品主要有:Progress Apama, StreamBase, Sybase CEP/ESP等。這些系統(tǒng)往往會被稱為“復(fù)雜事件處理平臺”或是“事件流處理平臺”,它們的特點是:1)軟件廠商以提供通用化平臺為主,輔以提供本地化和定制化開發(fā)服務(wù);2)數(shù)據(jù)以流的方式得到處理;3)提供自定義腳本語言支持實現(xiàn)各種不同類型的策略;4)策略以“柵欄”的形式橫跨在數(shù)據(jù)流上;5)策略“攔”下的交易信號以事件方式向外發(fā)送。這種類型的程序化交易系統(tǒng)試圖在靈活性、易用性和執(zhí)行效率中取得平衡,往往會需要證券公司根據(jù)自身的業(yè)務(wù)及管理特點,進(jìn)行較多的二次開發(fā)工作。與完全自主開發(fā)相比,這類的系統(tǒng)提供了一個通用、穩(wěn)定、高效的底層框架和市場接口(部分系統(tǒng)提供),同時也提供了較傳統(tǒng)編程語言更高級、與自然語言更接近的腳本語言,以方便交易員開發(fā)測試策略,大大減少了開發(fā)工作量與對證券公司技術(shù)實力的要求;而與封閉式的專用系統(tǒng)相比,又是一個開放性的平臺,能夠快速響應(yīng)業(yè)務(wù)需求和市場變化,總得來說,是一個折中的解決方案,近幾年受到了國內(nèi)外券商的廣泛歡迎。
綜上所述,根據(jù)各家證券公司自身的風(fēng)格特點和實力,國外的程序化交易系統(tǒng)大致可以分為以上三類,但這三類間系統(tǒng)并不是互斥。恰恰相反,其應(yīng)該是互相補(bǔ)充互相促進(jìn),共同構(gòu)成了證券公司的程序化交易業(yè)務(wù)。而且在同一條業(yè)務(wù)線上,上述三類系統(tǒng)也往往會按公司技術(shù)及業(yè)務(wù)發(fā)展的時間長短和進(jìn)度而依次出現(xiàn)。
隨著近幾年國內(nèi)證券市場發(fā)展的步子逐漸加大,各種新產(chǎn)品和衍生品也不斷涌現(xiàn),目前,我國已經(jīng)陸續(xù)推出指數(shù)化產(chǎn)品,包括ETF基金、分級基金、股指期貨等相關(guān)產(chǎn)品,并在衍生品市場如期貨市場推出了21個品種,基本覆蓋了我國經(jīng)濟(jì)生產(chǎn)的主要原材料市場。產(chǎn)品類型的豐富性和多樣性,為程序化交易的分散化投資提供了可能。
相比成熟的資本市場,發(fā)展我國的程序化交易是非常必要的。特別是在目前,我國證券市場上主要交易仍采用現(xiàn)金交易方式,以股票組合為交易單位的組合交易方式極不發(fā)達(dá)。設(shè)計并開發(fā)我國的程序化交易系統(tǒng),不僅僅從單純地提供交易便利的角度出發(fā),而且能夠促進(jìn)指數(shù)化產(chǎn)品的發(fā)展,如ETF,分級基金等的申購贖回,這不僅僅是效率的體現(xiàn),更關(guān)系到產(chǎn)品的成功與否,使我國ETFs 的創(chuàng)設(shè)與贖回環(huán)節(jié)運行得更加順暢并富有效率。同時,程序化交易有利于指數(shù)化投資產(chǎn)品的發(fā)行和發(fā)展,能夠促進(jìn)金融環(huán)境與制度的日趨合理與完善。
從交易技術(shù)層面看,程序化交易也是完全可行的,有利于促進(jìn)國內(nèi)券商在技術(shù)層面上的升級換代;也有利于與組合交易系統(tǒng)相配套的流動性系統(tǒng)和風(fēng)險控制系統(tǒng)等后臺程序的建設(shè)與完善;同時,還能促進(jìn)券商對數(shù)量化客觀事實的研究,為券商自營業(yè)務(wù)和客戶提供量化投資決策服務(wù)。
目前,國內(nèi)市場上使用較多的主要有以下五類:
本文將會較為詳細(xì)的介紹目前在行業(yè)內(nèi)應(yīng)用較多的基于CEP、商業(yè)專用及國內(nèi)軟件廠商開發(fā)的程序化交易系統(tǒng)。
這些系統(tǒng)的特點在第三部分中已有簡單闡述,在國內(nèi)的主要運作方式是由系統(tǒng)廠商提供相對通用的平臺,通過其國內(nèi)合作伙伴來為客戶進(jìn)行一些具體的本地化改造(如行情、數(shù)據(jù)庫適配器等),但通用的產(chǎn)品必然不能完全滿足各家證券公司個性化的需求,因此對于引入通用CEP平臺的每家證券公司仍會根據(jù)自身的實際情況進(jìn)行程序化交易系統(tǒng)建設(shè),下面就將詳細(xì)介紹國內(nèi)基于CEP的程序化交易系統(tǒng)建設(shè)的技術(shù)要點與架構(gòu),其典型的整體架構(gòu)圖如下所示(圖中的事件處理引擎即為CEP系統(tǒng)):
圖4 基于CEP的程序化交易系統(tǒng)二次開發(fā)設(shè)計架構(gòu)
系統(tǒng)主要包含以下幾個模塊:
圖5 行情數(shù)據(jù)服務(wù)架構(gòu)圖
圖6 訂單交易管理
圖7 系統(tǒng)監(jiān)控
首先,使用CEP最大的目的即為做到實時分析,這不是一項簡單的數(shù)據(jù)管理技術(shù),而是基于數(shù)據(jù)流的實時分析技術(shù),有幾個相關(guān)的技術(shù)點:
其次,CEP與傳統(tǒng)應(yīng)用最大的區(qū)別在于:
此種應(yīng)用主要是因為交易員出于自己的使用習(xí)慣和經(jīng)驗的考慮,回國后仍要求使用與國外相同的程序化交易系統(tǒng);這在國內(nèi)各證券公司的業(yè)務(wù)部門均比較常見;此類系統(tǒng)的特點在上文中也已有所描述,值得一提的是,近年來國外的系統(tǒng)供應(yīng)商近年來越發(fā)重視國內(nèi)證券市場,并且也愿意改造他們的系統(tǒng)以適應(yīng)國內(nèi)市場環(huán)境,其典型的系統(tǒng)架構(gòu)如下圖所示:
圖8 商業(yè)專用程序化交易系統(tǒng)架構(gòu)圖
此類系統(tǒng)設(shè)計時大多采用流行的層次式體系結(jié)構(gòu),按業(yè)務(wù)功能和交互流程將整個系統(tǒng)劃分為不同的業(yè)務(wù)組件模塊,各組件模塊之間應(yīng)用了通信中間件技術(shù),共享內(nèi)存技術(shù),并實現(xiàn)了負(fù)載平衡和HA災(zāi)備技術(shù),其常見的技術(shù)要點有:
國內(nèi)證券基金業(yè)的主要系統(tǒng)供應(yīng)商為了適應(yīng)證券市場快速發(fā)展的趨勢以及鞏固自己的市場定位而推出的有中國特色的程序化交易系統(tǒng);其系統(tǒng)的典型架構(gòu)圖如下所示:
圖9 國內(nèi)程序化交易平臺總體架構(gòu)圖
主要還是采用傳統(tǒng)的三層架構(gòu):
驅(qū)動層 | 國內(nèi)證券期貨集中、融資融券柜臺系統(tǒng),投資管理系統(tǒng)對接 國內(nèi)衍生品交易接口、第三方交易平臺對接 FIX協(xié)議轉(zhuǎn)換、FIX引擎對接 海外交易代理對接 證券、期貨行情及外部資訊數(shù)據(jù)對接 |
業(yè)務(wù)核心層 | 負(fù)載均衡、HA技術(shù) 分布式計算、共享內(nèi)存技術(shù) 事件驅(qū)動、消息中間件 關(guān)系型/文件型數(shù)據(jù)庫 |
業(yè)務(wù)應(yīng)用層 | 多層次賬戶管理體系,分賬戶資產(chǎn)跟蹤、核算 證券、期貨、金融衍生品量化、對沖交易 多級風(fēng)控、估值 |
主要是指根據(jù)一些變量如價格、成交量等,建立交易邏輯,通過系統(tǒng)內(nèi)的語言與券商柜臺取得通訊交流,進(jìn)行下單買賣交易;此類系統(tǒng)的供應(yīng)商主要是文華,MQ,易盛,飛狐,開拓者,金字塔等,可以支持交易國內(nèi)的股票和期貨;這些系統(tǒng)主要有如下特點:(1)系統(tǒng)還是基于客戶端設(shè)計(2)系統(tǒng)運行速度緩慢,對行情的推送功能還比較緩慢,造成滑單及追單比例較高,盡管相比人工下單效率有所提高,但改進(jìn)效果并不是特別明顯。(3)系統(tǒng)交易信號依賴于簡單算法,對于復(fù)雜算法還不支持。(4)系統(tǒng)風(fēng)險管理低,無法進(jìn)行個性化風(fēng)險流程管理;總體而言,系統(tǒng)均屬于單兵突擊型,不適合大的機(jī)構(gòu)和資金量較大的客戶;
這里指的主要是不常見于證券交易,但也可以用于程序化交易的一些系統(tǒng)和軟件,如時間序列內(nèi)存數(shù)據(jù)庫KDB+,數(shù)學(xué)實驗室Matlab以及R語言等;此類系統(tǒng)的應(yīng)用主要取決與交易員自身的習(xí)慣與偏好,沒有普遍性和通用性,因此我們在這只是提及,并不做深入的闡述。
下面這張列表能幫助讀者比較和理解上述國內(nèi)常見程序化交易系統(tǒng)的優(yōu)劣勢。
性能 | 靈活性 | 易用性 | 本地化 | 二次開發(fā) | |
---|---|---|---|---|---|
基于CEP的開放式程序化交易系統(tǒng) | 4 | 5 | 3 | 3 | 3 |
商業(yè)專用程序化交易系統(tǒng) | 5 | 1 | 5 | 1 | 4 |
國內(nèi)主流軟件商的程序化交易系統(tǒng) | 3 | 3 | 3 | 5 | 3 |
機(jī)械交易系統(tǒng) | 1 | 2 | 3 | 3 | 3 |
注:每項得分最高為5分,最低為1分,分?jǐn)?shù)越高代表著在該項的表現(xiàn)越優(yōu)秀(”二次開發(fā)”欄的分?jǐn)?shù)越高,代表所需的二次開發(fā)量越少)。
綜上所述,國內(nèi)證券公司無法直接采購國內(nèi)主流金融系統(tǒng)供應(yīng)商的系統(tǒng)來完整覆蓋業(yè)務(wù)需求,而國外成熟的商業(yè)程序化交易系統(tǒng)在國內(nèi)又都表現(xiàn)出一定的“水土不服”,無法完全匹配國內(nèi)的實際情況。因此綜合目前國內(nèi)程序化交易的發(fā)展趨勢與開發(fā)商產(chǎn)品的現(xiàn)狀,證券公司必然面臨著要為客戶(內(nèi)部與外部)提供個性化定制的服務(wù)。
我司程序化交易平臺建設(shè)主要目標(biāo)是為公司投資部門及高端機(jī)構(gòu)投資者提供高頻數(shù)據(jù)處理及程序化運算的組件化平臺,作為各類交易策略的基礎(chǔ)平臺,方便客戶的接入服務(wù)、運算服務(wù)、交易服務(wù)等各種需求。
相關(guān)典型主要應(yīng)用有:
圖12 算法交易系統(tǒng)
在開發(fā)和使用策略交易平臺過程中,技術(shù)團(tuán)隊收集在開發(fā)和運行過程中經(jīng)驗與教訓(xùn),并歸納出諸多程序化交易系統(tǒng)策略開發(fā)技術(shù)規(guī)范與建議,主要有:
這部分內(nèi)容將會與程序化交易系統(tǒng)各組件開發(fā)建議一起,在本系列的下一篇文章《程序化交易系統(tǒng)策略開發(fā)技術(shù)規(guī)范與建議》中詳細(xì)講述。