期貨CTP是什么?如何使用CTP編寫自動交易?
2018-9-5 / 已閱讀:15115 / 上海邑泊信息科技
越來越多的投資人和基金經(jīng)理開始接觸自動交易,而完全自動的程序化交易系統(tǒng)必然需要交易接口,從事期貨程序化領域的也有多種交易接口可以選擇。其中期貨CTP是最常見的一種交易接口。期貨CTP全稱是:綜合交易平臺(Comprehensive Transaction Platform),它是由上海期貨信息技術有限公司(上海期貨交易所的全資子公司)開發(fā)的期貨交易平臺。它由交易、風險控制和結算三大系統(tǒng)組成,交易系統(tǒng)主要負責訂單處理、行情轉發(fā)及銀期轉賬業(yè)務,結算系統(tǒng)負責交易管理、帳戶管理、經(jīng)紀人管理、資金管理、費率設置、日終結算、信息查詢以及報表管理等,風控系統(tǒng)則主要在盤中進行高速的實時試算,以及時揭示并控制風險。
期貨CTP能夠同時連通國內五家期貨交易所(上海期貨交易所,大連商品交易所,鄭州商品交易所,中國金融期貨交易所,上海國際能源交易中心),支持國內商品期貨和股指期貨的交易結算業(yè)務,并能自動生成、報送保證金監(jiān)控文件和反洗錢監(jiān)控文件。
從事期貨CTP開發(fā)的程序員,通常使用C++語言作為底層接口語言。對于復雜的應用場景,通常會把C++接口封裝為dll,供C#程序員調用,C#在高層應用開發(fā)上具有更快的開發(fā)效率,而且可以很好地與C++模塊集成。C#與C++語言的結合,既可以實現(xiàn)底層通訊的高效,又可以達到高層功能開發(fā)的高效。
期貨CTP涉及的通訊模式共有三種:
(1).對話通訊模式
是指由客戶端主動發(fā)起的通訊請求,該請求被 CTP 后臺接收和處理,并給予響應,如報單、撤單及查詢等,這種通訊模式與普通的客戶/服務器模式相同。
(2).私有通訊模式
是指 CTP 后臺主動向某個特定的客戶端發(fā)出的信息,如報單回報、成交回報等。
(3).廣播通訊模式
是指 CTP 后臺主動向有客戶端都發(fā)出相同的信息,如合約交易狀態(tài)通知等。
期貨CTP api接口與 CTP 后臺通訊,不同的通訊模式對應不同的通訊數(shù)據(jù)流,對話通訊模式對應對話數(shù)據(jù)流(DialogRsp)和查詢數(shù)據(jù)流(QueryRsp), CTP 后臺不維護對話數(shù)據(jù)流(查詢數(shù)據(jù)流)的狀態(tài),通訊故障時,對話數(shù)據(jù)流(查詢數(shù)據(jù)流)會重置,通訊途中的數(shù)據(jù)可能會丟失。
私有通訊模式對應私有數(shù)據(jù)流(Private),私有數(shù)據(jù)流是一個可靠的數(shù)據(jù)流,CTP后臺維護每個登錄用戶的私有流,在一個交易日內,CTP-API 與 CTP 后臺斷線后恢復連接時,CTP 后臺會向使用 restart 或 resume 模式訂閱私有數(shù)據(jù)流的用戶重傳全部(restart)或斷線期間(resume)的私有數(shù)據(jù)流。
廣播通訊模式對應公共數(shù)據(jù)流(Public),公共數(shù)據(jù)流與私有數(shù)據(jù)流類似,也是一個可靠的數(shù)據(jù)流。