XTP的發展歷程

XTP:爲量化而生!
私募排排網
發佈時間:19-03-2808:48優質創作者

爲了探討新時代新背景下中國私募基金行業發展面臨的新機遇新挑戰,由深圳市私募基金協會、私募排排網與易方達基金聯袂主辦第十三屆中國(深圳)私募基金高峯論壇於2019年3月21-23日在深圳五洲賓館隆重舉行,本屆高峯論壇以“與時進·穩中行·煥新生”爲主題,集結諸多國內各類頂尖資產管理機構掌門人及業內知名大咖、資深研究人士共赴盛宴!

2018年,是量化投資表現搶眼的一年,由於期指持續的鬆綁,市場環境正常化,市場中性策略表現出色,管理期貨更是表現出色,取得不俗的正收益,遠遠跑贏其他策略。2019年開始至今,A股大幅飆升,市場環境再度發生巨大變化,量化投資會否受到影響,該如何應對新的情況。私募排排網特邀期貨領域和量化對沖領域的私募大佬及行業專家圍繞“期貨私募與量化對沖”進行深入探討。會上,中泰證券科技研發部總經理何波先生髮表了主題演講。

(中泰證券科技研發部總經理何波)

以下爲演講實錄:

首先感謝私募排排網提供這個平臺,讓我們有機會展示我們爲私募做的小小工作,今天我做的是XTP的介紹。我們從2015年開始做XTP,到現在四年了。在這四年裏,整個團隊都秉持“因爲專注所以專業”的理念,全身心投入、用心對待這個項目。人們常說,“喜歡是放縱,而愛是剋制。”回首這幾年的發展,我們非常剋制,堅持匠心精神,只爲打造最懂程序化交易的極速交易平臺。目前XTP已經做到了全業務支持,包括股票、ETF、期權和融資融券。每一步在完成的時候都覺得異常艱難:做完股票的時候覺得很複雜,因爲當時我們是第一個也是唯一一個從零開始做櫃檯交易的券商;當我們做完期權的時候,發現股票實在是簡單太多;不久前,當我們完成融資融券開發後又發現,其中涉及的場景比股票和期權加起來都複雜。

經常有人問我:你們用什麼理念做系統呢?我想總結起來七個字:有所爲,有所不爲。”我們不希望在我們的交易平臺上什麼都做,因爲我知道有些是券商應該做的,有些不是我們應該做的。

所以,第一,XTP不做什麼? XTP不碰策略。當然不是說XTP不做策略相關的東西,而是中泰證券作爲券商不應該構建一個封閉的策略編寫系統,我們更希望跟開源的社區合作。如果我們做了封閉的策略平臺,讓私募在這個平臺上寫了幾千行代碼的策略,這對私募來說並不合適。因爲私募有一個天然的特點,就是一定會跨券商交易,我們認爲客戶在策略層面上不應該對我們產生太強的依賴。

再說說,XTP要做什麼?第一,要建最快的通道,建極速行情,通過FPGA、組播和Level2-PLUS等實現。其次要做什麼?我們要做最好的輪子,我們會做一些短趨勢的模式預測放到交易執行、智能條件單,或是基於這些做短趨勢的模型預測,希望在策略執行優化的層面上幫助客戶。我們始終認爲對私募來講最大的痛點是如何增強收益,所以會努力在增強收益上做到極致。

再次,我們希望藉助XTP構建一個程序化交易的生態。在XTP範圍內,我們傾向於和開源社區合作。數據我們有了tushare、rqdata、策略編寫及回測有米筐、聚寬、優礦,策略交易我們有vn.PY,quant box,要做的就是讓沒有系統的客戶將策略構建在開源的系統上。我們不希望客戶是在一個封閉的黑盒子裏執行策略,而是希望其擁有屬於有自己的策略平臺。

“寧要少一些,但要好一些”。我們不求做最多,但做就做最精緻。我們是券商裏比較另類的——完全從零開始,全部自主研發做出了XTP。大部分券商可能會選擇和第三方合作,買一套源代碼回來改。我們希望通過一個更新穎的架構,用一些更極客的方式做。我們從2015年7月開始做XTP,一直到2016年10月份才上線,直到現在已經有一百多萬行的源代碼,經歷過八十多次的發佈和一萬多次的源代碼提交。

軟件編程有一句名言“不要造輪子”,但我們在各種場景裏造了非常多的輪子,從最基礎的網絡庫、內存訪問、IO,包括一些數據結構我們全部都自己造輪子,爲什麼這樣做?並不是第三方不好,而是當你要在一個極致的場景內做到極致的時候,就需要一些極致的手段。

爲什麼要自主研發?“當媽的心,跟當保姆的心不一樣的”。自己做XTP就是用當媽的心態來看孩子,把這個孩子從小做好。XTP團隊有一個很好的創業心態,大家覺得這是我們必須要做的事情,每天我們每個團隊成員都是用當媽的心態做系統。非常榮幸,XTP上線得到了挺多私募的認可,他們對我們系統的評價都非常好,第一覺得很快,第二覺得非常穩定,我們大部分的客戶都是私募之間口口相傳,靠口碑營銷推薦過來的。

“雖乘奔御風,不以疾也”。速度是XTP最重要的保障。在行情上,我們提供雙地的託管,上海、深圳兩邊的Level-2,行情解碼上是可以低至2微秒,同時也提供Level-2行情,可以在我們的機房得到最快的股票。大家知道正常的行情,最快的深交所是3秒鐘,而我們可以做到小於10毫秒一筆的快照,原理不復雜,就是用深交所的逐筆委託和逐筆行情去拼,但是有非常多數據清洗的工作要做,我們從開始的94%做到後來的99.9%,很多私募就不自己處理直接用我們的。在我看來,這個事情比較適合券商做,券商把最基礎的東西做了,才能讓私募客戶把有限的IT能力投入到策略研發中。我們XTP內部延遲是35微秒左右,收到成交回報,以深交所爲例大概是4毫秒+,訂單的成交率目前是95%,所以客戶對我們是非常滿意的。

有人會說,中國的股票需要這麼快的行情嗎?以我們真實的客戶爲例,體現在中國市場,阿爾法+T0 已經非常普遍,比如對部分策略和客戶快1毫秒,收益可以增加3%左右。我始終認爲在中國,T0這種方式來增加收益在一定時間內會長期存在,所以就即便是A股市場,速度也是非常重要的。

我們可以很自豪的說,XTP在品種支持上非常全面,除了滬深股票全市場ETF買賣、申購贖回、新股申購、配股等等,現在還和集中交易打通,我們把XTP和金證的櫃檯打通,打通之後有很多業務可以在兩邊同時做。我們通過這種方式增加用戶的收益,比如說平時在我們這裏做股票,第二天收盤之後去櫃檯買理財產品等等。

我們上線期權交易已經快一年了,不僅支持上交所50ETF,還支持深交所的期權。剛剛上線的兩融交易很複雜,涉及到很多風控的問題,包括很多細節上的問題,我們在融資融券可以做到小於500微秒的委託速度,這其中包括全部的風控,全部的交易。雖然速度比我們的股票交易慢10倍,但是然融資融券領域依然是非常快的。同時我們也支持科創板,會在科創板推出的時候會第一時間上線支持。

我們還有比較大的程序化交易的T0的利器,股票交易有一個痛點,帳戶在上海,深圳交易就慢,因爲有1000公里的距離,很難避免20毫秒的物理上的距離。我們怎麼做呢?我們構建了一個帳戶兩中心的系統,同樣一個帳戶,你可以在兩邊同時部署,同時將資金做調配。比如上交所40%,深交所60%,盤中交易的時候可以把20毫秒省掉。如果是盤中的時候,比如說深圳的錢用完了,可以把上海的錢先轉過去,這個功能對做程序化T0是非常有幫助的。

這個過程中,我們也造了很多輪子,構建一個納秒級的日誌系統,日誌非常耗時,打一個日誌就要5到10微秒,有可能打幾條日誌,性能就立馬下來了。我們構建了50納秒的日誌系統,在系統裏可以打非常多的日誌,來分析系統的延遲問題。

XTP的願景是提供最快的通道,幫助客戶增強收益。在此之上,我們通過AI構建一個算法交易平臺。我們希望在券商交易執行方面做一些更多的努力。這是整個算法交易服務,支持twap,vwap,等等。

首先我們通過兩個方面,第一是對上交所的快照交易訂單簿進行交易訂單簿的猜測,接下來是還原;之後是針對訂單簿的不平衡等一百多個特徵,對市場未來10分鐘內進行快速預測,構建新的特徵輸入。

這是大致的深度神經網絡,並沒有用一些傳統的LSTM等常用模型,而是重新構建了一個神經網絡,通過這個神經網絡,將一些重要特徵,包括訂單簿的不平衡做了短期的預測,目前來看預測效果非常好的。

同時,我們通過強化學習,用深度學習做預測,用強化學習做執行。就是做算法交易,你要做好,重要的因素是什麼?就是你的被動單比例必須高,當你的預測做得好的時候,就可以有更多的被動單執行率,這個時候績效就會更好。

強化學習的時候就是通過深度強化學習進行最優的策略執行。國內和國外有很大的不一樣,國外的成交量的曲線是很好的,非常符合主要文章的分佈,國內的毛刺很多,需要動態的做一些分析通過強化學習來做執行層面上的優化。

“凡事預則立,不預則廢”。我們要看在風控上做好風險防範。風控非常重要的,外部接入管理辦法明確提出程序化交易風控。XTP從開始就非常注重風控,並不是簡單的驗資驗券。XTP做了很多專門的風控,在這個過程中,能能區分你是正常的下單,比如說一秒鐘下一千個股票,我們認爲沒問題,那就可以下。但如果同一個品種頻繁的下單就會攔截,對特殊的場景可以分得很好。正常的、大量的、高頻的交易都可以很順暢的通過。但是當你的交易是異常的,是系統發生問題造成的,我們就會攔截。在這個過程中,我們幫很多客戶發現了問題,希望在櫃檯做最後一道防線,能夠幫你識別程序化交易是不是寫錯。

XTP一開始就是以API的形式接入,沒有做文件單,沒有做協議破解,這就是我們構建的社區。接口類似CTP,開始做的時候就在考慮,我們要不要構建一個自己的協議,我們覺得完全沒有必要。雖然構建自己的協議,顯得我們很專業,或者是顯得我們跟別人不一樣,但是我們覺得客戶會很不方便。大部分做程序化交易的客戶,都是從期貨過來的,而且將來也一定要接期貨的CTP接口。我們沒有必要爲了標新立異而做一個不一樣的接口,所以我們完全參照了CTP做接口。同時我們也提供跨平臺的SDK,支持windows,linux,蘋果,我們是唯一一家可以接口蘋果的,有很多開發人員用蘋果來開發程序,開發人員的體驗對我們來說非常重要的一件事情。

我們支持的協議接口,非常的全,包括C++,python,java,com,restfus,go等等。Java是自研內部團隊開發的,還有com,go,restful都是我們的客戶寫完之後開放到github上開源的,XTP有比較強的生態環境。

提到回測上,XTP提供了阿里雲和上證雲兩個7×24小時的測試環境。測試環境上提供了瘋狂撮合引擎。傳統的撮合可能提供的是全成,或是雙方買賣來仿真的環境,但對程序化交易的客戶來說,其實需要的是確定的不確定性。怎麼理解?當你做程序化交易的時候,如果你從來沒有在測試環境遇到過廢單及或者是從來沒有遇到過部成,或是部成兩次後成交,或是部成兩次之後部撤這樣的場景,程序一到生產環境遇到這種情況,很有可能沒有處理好,讓你產生虧損。所以我們構建的是地獄模式的撮合引擎,可以把各種很少見的、不常見的情況推送給客戶,讓客戶的程序在非常惡劣的情況下去執行。如果你的程序在惡劣的情況下都很健壯,都不會出錯的話,那麼這個程序將來在生產上的健壯性很高,後面還會加上更惡劣的場景,包括行情中斷,超漲跌停的價格等等異常的數據都會通過這個推給你,通過這個讓你的系統更加的健壯。

再說到模擬撮合,有一個很大的痛點,就是如何模擬被動單的成交?我們在做程序化交易,主動單成交都非常好模擬,用一個對手盤、價格、下單、成交,算一個折扣率就搞定。如何模擬一個被動單的成交呢?這其實是在做流動性交易非常常見的問題,或是現在的算法交易,T0,當你要用更多的掛單,更多的掛單要如何模擬他的成交?

在這裏我們將上交所、深交所進行了分別對待。深交所我們基於Level-2 Plus的連續訂單簿構建了一個類真實的撮合環境,通過撮合環境做真實場景的撮合。自己做撮合的時候有一個很大的痛點,如果你掛單,假設掛哪裏?假設掛在隊列的最前面,過於樂觀;假設掛在訂單的最後面,你覺得很悲觀,但是逃避了反向選擇的風險,整個被動單中的模擬是非常複雜的場景。基於上交所我們怎麼做呢?這正好是上交所正做的一個課題,就是我們基於GAN對抗神經網絡做的一個市場的模擬,用了很多代理,模擬個人投資者,模擬機構投資者,模擬提前知道消息者,通過對抗神經網絡不停的訓練,模擬成一個市場,希望通過這個項目做上交所被動單的一些模擬的撮合。

去年下半年開始我們構建了一個X-Club,最開始的初衷是覺得券商大都有策略交流會,大家來交流相互的策略。對程序化交易的私募,大家有對技術交流的渴望,所以我們構建了這個Club,當前已經舉辦了兩期,我們對參加對象要求非常高,一共只邀請了40人。XTP的用戶熱情度非常高,有從北京、深圳、杭州、武漢等地趕過來的客戶。我們邀請到業界最牛的內核專家來分享,一堂課講兩天,把每個場景講得非常深。我們希望將X-Club一直辦下去,關注最前沿的技術,找一些技術大牛來做分享,希望幫助大家一起提高技術。

前面說到,XTP在業界最大的口碑是穩定,我認爲好的系統離不開好的運維。去年上半年的時候因爲手動操作出現了一些小狀況,後來我們重新構建了一個強大的自動化運維的體系,從系統的上線、發佈、監控等進行一系列的管理,有着詳細的日誌報警等。

後來我們又想把這個平臺向客戶進行開放,因爲的確有好多客戶跟我們提,他們在我們這裏跑的程序有各種各樣問題的時候,其實他自己不能發現,也不能更好的運維,所以我們下一步會把整個運維平臺對我們的客戶開放。

我們的團隊,目前有自己的內部研發人員150人,外包130人左右,整個XTP和人工智能團隊是52人,5名博士。大部分的人員都是來自於互聯網、BAT,有從美國Google回來的,有加拿大微軟回來的。不管過去的背景多麼強悍,大家都義無反顧的加入我們的團隊,奔着一個共同的理想聚在一起,希望我們能夠把這件事情做得更極致,做得更好。

去年XTP獲得了很多的獎項,包括協會的最高成就獎,山東省新舊動能轉換優秀金融產品獎,開發創新突出貢獻獎等等。

“爲了部落”這句話什麼意思?XTP剛開始做的時候非常孤單,尤其是2016年,很多券商都說你們居然敢自己做交易系統,不怕出事嗎?現在外部接入沒放開,你們合規嗎?最近一年多,來交流的券商非常多,很多也開始紛紛自己研發交易系統,爲量化社區做出了更多的貢獻。我覺得量化投資目前在國內的規模很小,根據基金業協會數據統計,真正做量化的,包括FOF全部加起來,在基金業備案的產品只有107家,私募排排網的數據是60家左右,超過1億以上的量化私募只有300多家。我認爲這個行業是一個遠沒有發展得很成熟的行業,離國外的標準很遠,所以我們非常希望更多的團隊、更多的券商能夠加入這個領域,大家共同把這個量化行業做大。

謝謝大家。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章